From 2968ca53775785a8dab665e992234e498649c3fa Mon Sep 17 00:00:00 2001 From: dannywillems Date: Tue, 9 Jul 2024 13:46:46 +0000 Subject: [PATCH] deploy: 792eb1ffc78c65db632f4db30826c775acf3418a --- .../columns/enum.ExtendedFoldingColumn.html | 4 +- rustdoc/folding/eval_leaf/enum.EvalLeaf.html | 4 +- .../enum.FoldingCompatibleExpr.html | 22 +++-- .../enum.FoldingCompatibleExprInner.html | 10 +- .../folding/expressions/enum.FoldingExp.html | 2 +- rustdoc/folding/expressions/enum.Sign.html | 6 +- .../folding/expressions/fn.extract_terms.html | 2 +- .../expressions/fn.folding_expression.html | 2 +- rustdoc/folding/expressions/index.html | 10 +- .../struct.IntegratedFoldingExpr.html | 12 +-- rustdoc/folding/expressions/struct.Term.html | 8 +- .../struct.EmptyStructure.html | 8 +- .../folding/standard_config/struct.Env.html | 10 +- .../struct.StandardConfig.html | 4 +- rustdoc/folding/trait.FoldingConfig.html | 4 +- rustdoc/folding/trait.FoldingEnv.html | 12 +-- rustdoc/help.html | 2 +- .../implementors/core/clone/trait.Clone.js | 6 +- rustdoc/implementors/core/cmp/trait.Eq.js | 2 +- .../implementors/core/cmp/trait.PartialEq.js | 2 +- .../implementors/core/convert/trait.From.js | 4 +- .../core/default/trait.Default.js | 2 +- rustdoc/implementors/core/fmt/trait.Debug.js | 4 +- rustdoc/implementors/core/hash/trait.Hash.js | 2 +- .../implementors/core/marker/trait.Copy.js | 2 +- .../implementors/core/marker/trait.Freeze.js | 2 +- .../implementors/core/marker/trait.Send.js | 2 +- .../core/marker/trait.StructuralEq.js | 2 +- .../core/marker/trait.StructuralPartialEq.js | 2 +- .../implementors/core/marker/trait.Sync.js | 2 +- .../implementors/core/marker/trait.Unpin.js | 2 +- .../core/ops/index/trait.Index.js | 4 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 2 +- .../panic/unwind_safe/trait.UnwindSafe.js | 2 +- .../instance_witness/trait.Foldable.js | 2 +- .../instance_witness/trait.Instance.js | 2 +- .../folding/instance_witness/trait.Witness.js | 2 +- .../plonkish_lang/trait.CombinableEvals.js | 3 + .../circuits/expr/trait.ColumnEnvironment.js | 2 +- .../circuits/expr/trait.ColumnEvaluations.js | 2 +- .../circuits/expr/trait.FormattedOutput.js | 2 +- rustdoc/index.html | 2 +- rustdoc/ivc/all.html | 2 +- .../ivc/expr_eval/struct.SimpleEvalEnv.html | 8 +- .../ivc/ivc/lookups/enum.IVCLookupTable.html | 2 +- .../plonkish_lang/enum.PlonkishChallenge.html | 8 +- rustdoc/ivc/plonkish_lang/index.html | 2 +- rustdoc/ivc/plonkish_lang/sidebar-items.js | 2 +- .../struct.PlonkishChallengeIter.html | 8 +- .../struct.PlonkishInstance.html | 12 +-- .../plonkish_lang/struct.PlonkishWitness.html | 35 ------- .../struct.PlonkishWitnessGeneric.html | 41 ++++++++ .../plonkish_lang/trait.CombinableEvals.html | 6 ++ .../plonkish_lang/type.PlonkishWitness.html | 1 + .../capabilities/trait.ColAccessCap.html | 2 +- .../struct.ConstraintBuilderEnv.html | 6 +- .../column_env/struct.ColumnEnvironment.html | 24 ++--- rustdoc/kimchi_msm/columns/enum.Column.html | 2 +- rustdoc/kimchi_msm/expr/type.E.html | 2 +- .../kimchi_msm/logup/prover/struct.Env.html | 6 +- .../kimchi_msm/logup/struct.LogupWitness.html | 2 +- .../lookups/type.LookupWitness.html | 2 +- .../precomputed_srs/fn.get_bn254_srs.html | 2 +- .../struct.TestPairingSRS.html | 6 +- rustdoc/kimchi_msm/proof/struct.Proof.html | 4 +- .../proof/struct.ProofCommitments.html | 2 +- .../proof/struct.ProofEvaluations.html | 8 +- .../kimchi_msm/proof/struct.ProofInputs.html | 2 +- rustdoc/kimchi_msm/prover/fn.prove.html | 4 +- rustdoc/kimchi_msm/verifier/fn.verify.html | 4 +- rustdoc/o1vm/folding/enum.Challenge.html | 8 +- .../struct.DecomposedFoldingEnvironment.html | 4 +- .../folding/struct.FoldingEnvironment.html | 4 +- .../o1vm/folding/struct.FoldingInstance.html | 8 +- .../o1vm/folding/struct.FoldingWitness.html | 8 +- rustdoc/search-index.js | 6 +- rustdoc/settings.html | 2 +- rustdoc/src/folding/eval_leaf.rs.html | 10 +- rustdoc/src/folding/expressions.rs.html | 76 +++++++++++++++ rustdoc/src/folding/lib.rs.html | 4 +- rustdoc/src/folding/standard_config.rs.html | 16 ++-- rustdoc/src/ivc/plonkish_lang.rs.html | 96 +++++++++++++++---- rustdoc/src/o1vm/folding.rs.html | 8 +- 83 files changed, 399 insertions(+), 239 deletions(-) create mode 100644 rustdoc/implementors/ivc/plonkish_lang/trait.CombinableEvals.js delete mode 100644 rustdoc/ivc/plonkish_lang/struct.PlonkishWitness.html create mode 100644 rustdoc/ivc/plonkish_lang/struct.PlonkishWitnessGeneric.html create mode 100644 rustdoc/ivc/plonkish_lang/trait.CombinableEvals.html create mode 100644 rustdoc/ivc/plonkish_lang/type.PlonkishWitness.html diff --git a/rustdoc/folding/columns/enum.ExtendedFoldingColumn.html b/rustdoc/folding/columns/enum.ExtendedFoldingColumn.html index e243c92235..74c8dbca4c 100644 --- a/rustdoc/folding/columns/enum.ExtendedFoldingColumn.html +++ b/rustdoc/folding/columns/enum.ExtendedFoldingColumn.html @@ -1,5 +1,5 @@ ExtendedFoldingColumn in folding::columns - Rust
pub enum ExtendedFoldingColumn<C: FoldingConfig> {
-    Inner(Variable<C::Column>),
+    Inner(Variable<C::Column>),
     WitnessExtended(usize),
     Error,
     Constant(<C::Curve as AffineCurve>::ScalarField),
@@ -10,7 +10,7 @@
 the folding scheme, described in the trait FoldingConfig. For instance,
 the configuration describes the initial columns of the circuit, the
 challenges and the underlying field.

-

Variants§

§

Inner(Variable<C::Column>)

The variables of the initial circuit, without quadraticization and not +

Variants§

§

Inner(Variable<C::Column>)

The variables of the initial circuit, without quadraticization and not homogeonized.

§

WitnessExtended(usize)

For the extra columns added by the module quadraticization.

§

Error

The error term introduced in the “relaxed” instance.

diff --git a/rustdoc/folding/eval_leaf/enum.EvalLeaf.html b/rustdoc/folding/eval_leaf/enum.EvalLeaf.html index 36274f658b..f0981547a9 100644 --- a/rustdoc/folding/eval_leaf/enum.EvalLeaf.html +++ b/rustdoc/folding/eval_leaf/enum.EvalLeaf.html @@ -1,9 +1,9 @@ EvalLeaf in folding::eval_leaf - Rust
pub enum EvalLeaf<'a, F> {
     Const(F),
-    Col(&'a Vec<F>),
+    Col(&'a [F]),
     Result(Vec<F>),
 }
Expand description

Result of a folding expression evaluation.

-

Variants§

§

Const(F)

§

Col(&'a Vec<F>)

§

Result(Vec<F>)

Implementations§

source§

impl<'a, F: Clone> EvalLeaf<'a, F>

source

pub fn map<M: Fn(&F) -> F, I: Fn(&mut F)>(self, map: M, in_place: I) -> Self

source

pub fn unwrap(self) -> Vec<F>where +

Variants§

§

Const(F)

§

Col(&'a [F])

§

Result(Vec<F>)

Implementations§

source§

impl<'a, F: Clone> EvalLeaf<'a, F>

source

pub fn map<M: Fn(&F) -> F, I: Fn(&mut F)>(self, map: M, in_place: I) -> Self

source

pub fn unwrap(self) -> Vec<F>where F: Clone,

Trait Implementations§

source§

impl<'a, F: Add<Output = F> + Clone> Add<EvalLeaf<'a, F>> for EvalLeaf<'a, F>

§

type Output = EvalLeaf<'a, F>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<'a, F: Clone> Clone for EvalLeaf<'a, F>

source§

fn clone(&self) -> EvalLeaf<'a, F>

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<'a, F: Debug> Debug for EvalLeaf<'a, F>

source§

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

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

impl<'a, F: Display> Display for EvalLeaf<'a, F>

source§

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

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

impl<'a, F: Mul<Output = F> + Clone> Mul<EvalLeaf<'a, F>> for EvalLeaf<'a, F>

§

type Output = EvalLeaf<'a, F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<'a, F: Mul<Output = F> + Clone> Mul<F> for EvalLeaf<'a, F>

§

type Output = EvalLeaf<'a, F>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: F) -> Self

Performs the * operation. Read more
source§

impl<'a, F: Sub<Output = F> + Clone> Sub<EvalLeaf<'a, F>> for EvalLeaf<'a, F>

§

type Output = EvalLeaf<'a, F>

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self

Performs the - operation. Read more

Auto Trait Implementations§

§

impl<'a, F> RefUnwindSafe for EvalLeaf<'a, F>where F: RefUnwindSafe,

§

impl<'a, F> Send for EvalLeaf<'a, F>where F: Send + Sync,

§

impl<'a, F> Sync for EvalLeaf<'a, F>where diff --git a/rustdoc/folding/expressions/enum.FoldingCompatibleExpr.html b/rustdoc/folding/expressions/enum.FoldingCompatibleExpr.html index ffa4a979e8..70b7bab75a 100644 --- a/rustdoc/folding/expressions/enum.FoldingCompatibleExpr.html +++ b/rustdoc/folding/expressions/enum.FoldingCompatibleExpr.html @@ -1,4 +1,4 @@ -FoldingCompatibleExpr in folding::expressions - Rust
pub enum FoldingCompatibleExpr<C: FoldingConfig> {
+FoldingCompatibleExpr in folding::expressions - Rust
pub enum FoldingCompatibleExpr<C: FoldingConfig> {
     Atom(FoldingCompatibleExprInner<C>),
     Pow(Box<Self>, u64),
     Add(Box<Self>, Box<Self>),
@@ -7,27 +7,31 @@
     Double(Box<Self>),
     Square(Box<Self>),
 }
Expand description

Compatible folding expressions that can be used with folding schemes. -An expression from [kimchi::circuits::expr::Expr] can be converted into a +An expression from kimchi::circuits::expr::Expr can be converted into a FoldingCompatibleExpr using the trait From. From there, an expression of type IntegratedFoldingExpr can be created using the function folding_expression.

-

Variants§

§

Atom(FoldingCompatibleExprInner<C>)

§

Pow(Box<Self>, u64)

§

Add(Box<Self>, Box<Self>)

§

Sub(Box<Self>, Box<Self>)

§

Mul(Box<Self>, Box<Self>)

§

Double(Box<Self>)

§

Square(Box<Self>)

Implementations§

source§

impl<C: FoldingConfig> FoldingCompatibleExpr<C>

Converts an expression “compatible” with folding into a folded expression.

+

Variants§

§

Atom(FoldingCompatibleExprInner<C>)

§

Pow(Box<Self>, u64)

§

Add(Box<Self>, Box<Self>)

§

Sub(Box<Self>, Box<Self>)

§

Mul(Box<Self>, Box<Self>)

§

Double(Box<Self>)

§

Square(Box<Self>)

Implementations§

source§

impl<C: FoldingConfig> FoldingCompatibleExpr<C>

Converts an expression “compatible” with folding into a folded expression.

source

pub fn simplify(self) -> FoldingExp<C>

source

pub fn map_variable( self, - mapper: &dyn Fn(Variable<C::Column>) -> Variable<C::Column> + mapper: &dyn Fn(Variable<C::Column>) -> Variable<C::Column> ) -> FoldingCompatibleExpr<C>

Maps variable (column index) in expression using the mapper function. Can be used to modify (remap) the indexing of columns after the expression is built.

+
source

pub fn flatten_quad_columns( + self, + mapper: &dyn Fn(usize) -> Variable<C::Column> +) -> FoldingCompatibleExpr<C>

Map all quad columns into regular witness columns.

Trait Implementations§

source§

impl<C: FoldingConfig> Add<FoldingCompatibleExpr<C>> for FoldingCompatibleExpr<C>

§

type Output = FoldingCompatibleExpr<C>

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self

Performs the + operation. Read more
source§

impl<C> Clone for FoldingCompatibleExpr<C>where C: FoldingConfig,

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<C> Debug for FoldingCompatibleExpr<C>where - C: FoldingConfig,

source§

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

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

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ConstantExprInner<F>>> for FoldingCompatibleExpr<Config>where + C: FoldingConfig,

source§

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

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

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ConstantExprInner<F>>> for FoldingCompatibleExpr<Config>where Config::Curve: AffineCurve<ScalarField = F>, - Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: Operations<ConstantExprInner<F>>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<ConstantExprInner<F>, Col>>> for FoldingCompatibleExpr<Config>where + Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: Operations<ConstantExprInner<F>>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<ConstantExprInner<F>, Col>>> for FoldingCompatibleExpr<Config>where Config::Curve: AffineCurve<ScalarField = F>, - Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: Operations<ExprInner<ConstantExprInner<F>, Col>>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>>> for FoldingCompatibleExpr<Config>where + Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: Operations<ExprInner<ConstantExprInner<F>, Col>>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>>> for FoldingCompatibleExpr<Config>where Config::Curve: AffineCurve<ScalarField = F>, - Config::Challenge: From<ChallengeTerm>,

source§

fn from( - expr: Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>> + Config::Challenge: From<ChallengeTerm>,

source§

fn from( + expr: Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>> ) -> Self

Converts to this type from the input type.
source§

impl<C: FoldingConfig> Mul<FoldingCompatibleExpr<C>> for FoldingCompatibleExpr<C>

§

type Output = FoldingCompatibleExpr<C>

The resulting type after applying the * operator.
source§

fn mul(self, rhs: Self) -> Self

Performs the * operation. Read more
source§

impl<C> PartialEq<FoldingCompatibleExpr<C>> for FoldingCompatibleExpr<C>where C: FoldingConfig,

source§

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

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

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

This method tests for !=. The default implementation is almost always diff --git a/rustdoc/folding/expressions/enum.FoldingCompatibleExprInner.html b/rustdoc/folding/expressions/enum.FoldingCompatibleExprInner.html index f3b4d485f3..e187301864 100644 --- a/rustdoc/folding/expressions/enum.FoldingCompatibleExprInner.html +++ b/rustdoc/folding/expressions/enum.FoldingCompatibleExprInner.html @@ -1,18 +1,18 @@ FoldingCompatibleExprInner in folding::expressions - Rust
pub enum FoldingCompatibleExprInner<C: FoldingConfig> {
     Constant(<C::Curve as AffineCurve>::ScalarField),
     Challenge(C::Challenge),
-    Cell(Variable<C::Column>),
+    Cell(Variable<C::Column>),
     Extensions(ExpExtension<C>),
 }
Expand description

Components to be used to convert multivariate polynomials into “compatible” multivariate polynomials that will be translated to folding expressions.

-

Variants§

§

Constant(<C::Curve as AffineCurve>::ScalarField)

§

Challenge(C::Challenge)

§

Cell(Variable<C::Column>)

§

Extensions(ExpExtension<C>)

extra nodes created by folding, should not be passed to folding

+

Variants§

§

Constant(<C::Curve as AffineCurve>::ScalarField)

§

Challenge(C::Challenge)

§

Cell(Variable<C::Column>)

§

Extensions(ExpExtension<C>)

extra nodes created by folding, should not be passed to folding

Trait Implementations§

source§

impl<C> Clone for FoldingCompatibleExprInner<C>where C: FoldingConfig,

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<C> Debug for FoldingCompatibleExprInner<C>where - C: FoldingConfig,

source§

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

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

impl<F, Config: FoldingConfig> From<ConstantExprInner<F>> for FoldingCompatibleExprInner<Config>where + C: FoldingConfig,

source§

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

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

impl<F, Config: FoldingConfig> From<ConstantExprInner<F>> for FoldingCompatibleExprInner<Config>where Config::Curve: AffineCurve<ScalarField = F>, - Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: ConstantExprInner<F>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<ExprInner<ConstantExprInner<F>, Col>> for FoldingCompatibleExprInner<Config>where + Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: ConstantExprInner<F>) -> Self

Converts to this type from the input type.
source§

impl<F, Col, Config: FoldingConfig<Column = Col>> From<ExprInner<ConstantExprInner<F>, Col>> for FoldingCompatibleExprInner<Config>where Config::Curve: AffineCurve<ScalarField = F>, - Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: ExprInner<ConstantExprInner<F>, Col>) -> Self

Converts to this type from the input type.
source§

impl<C> PartialEq<FoldingCompatibleExprInner<C>> for FoldingCompatibleExprInner<C>where + Config::Challenge: From<ChallengeTerm>,

source§

fn from(expr: ExprInner<ConstantExprInner<F>, Col>) -> Self

Converts to this type from the input type.
source§

impl<C> PartialEq<FoldingCompatibleExprInner<C>> for FoldingCompatibleExprInner<C>where C: FoldingConfig,

source§

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

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

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

§

impl<C> RefUnwindSafe for FoldingCompatibleExprInner<C>where diff --git a/rustdoc/folding/expressions/enum.FoldingExp.html b/rustdoc/folding/expressions/enum.FoldingExp.html index fd2c4cc8b9..6570a8db30 100644 --- a/rustdoc/folding/expressions/enum.FoldingExp.html +++ b/rustdoc/folding/expressions/enum.FoldingExp.html @@ -8,7 +8,7 @@ Square(Box<Self>), }

Expand description

Internal expression used for folding. A “folding” expression is a multivariate polynomial like defined in -[kimchi::circuits::expr] with the following differences.

+kimchi::circuits::expr with the following differences.

source§

impl Copy for Sign

source§

impl Eq for Sign

source§

impl StructuralEq for Sign

source§

impl StructuralPartialEq for Sign

Auto Trait Implementations§

§

impl RefUnwindSafe for Sign

§

impl Send for Sign

§

impl Sync for Sign

§

impl Unpin for Sign

§

impl UnwindSafe for Sign

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/rustdoc/folding/expressions/fn.extract_terms.html b/rustdoc/folding/expressions/fn.extract_terms.html index 38d1d4640b..3c4e1775e2 100644 --- a/rustdoc/folding/expressions/fn.extract_terms.html +++ b/rustdoc/folding/expressions/fn.extract_terms.html @@ -1,3 +1,3 @@ -extract_terms in folding::expressions - Rust
pub fn extract_terms<C: FoldingConfig>(
+extract_terms in folding::expressions - Rust
pub fn extract_terms<C: FoldingConfig>(
     exp: FoldingExp<C>
 ) -> Box<dyn Iterator<Item = Term<C>>>
\ No newline at end of file diff --git a/rustdoc/folding/expressions/fn.folding_expression.html b/rustdoc/folding/expressions/fn.folding_expression.html index f62fa8ae9d..d3ebfc0954 100644 --- a/rustdoc/folding/expressions/fn.folding_expression.html +++ b/rustdoc/folding/expressions/fn.folding_expression.html @@ -1,4 +1,4 @@ -folding_expression in folding::expressions - Rust
pub fn folding_expression<C: FoldingConfig>(
+folding_expression in folding::expressions - Rust
pub fn folding_expression<C: FoldingConfig>(
     exps: Vec<FoldingCompatibleExpr<C>>
 ) -> (IntegratedFoldingExpr<C>, ExtendedWitnessGenerator<C>, usize)
Expand description

Convert a list of folding compatible expression into the folded form.

\ No newline at end of file diff --git a/rustdoc/folding/expressions/index.html b/rustdoc/folding/expressions/index.html index d8bffb3859..b96e42abd8 100644 --- a/rustdoc/folding/expressions/index.html +++ b/rustdoc/folding/expressions/index.html @@ -1,4 +1,4 @@ -folding::expressions - Rust

Module folding::expressions

source ·
Expand description

Implement a library to represent expressions/multivariate polynomials that +folding::expressions - Rust

Module folding::expressions

source ·
Expand description

Implement a library to represent expressions/multivariate polynomials that can be used with folding schemes like Nova.

We do enforce expressions to be degree 2 maximum to apply our folding @@ -9,14 +9,14 @@

When using the library, the user should:

Enums

  • Describe the degree of a constraint. As described in the top level documentation, we only support constraints with degree up to 2
  • Extra expressions that can be created by folding
  • Compatible folding expressions that can be used with folding schemes. -An expression from [kimchi::circuits::expr::Expr] can be converted into a +An expression from kimchi::circuits::expr::Expr can be converted into a FoldingCompatibleExpr using the trait From. From there, an expression of type IntegratedFoldingExpr can be created using the function folding_expression.
  • Components to be used to convert multivariate polynomials into “compatible” multivariate polynomials that will be translated to folding expressions.
  • Internal expression used for folding. A “folding” expression is a multivariate polynomial like defined in -[kimchi::circuits::expr] with the following differences.
  • Used to encode the sign of a term in a polynomial.

Traits

Functions

\ No newline at end of file +kimchi::circuits::expr with the following differences.
  • Used to encode the sign of a term in a polynomial.
  • Traits

    Functions

    \ No newline at end of file diff --git a/rustdoc/folding/expressions/struct.IntegratedFoldingExpr.html b/rustdoc/folding/expressions/struct.IntegratedFoldingExpr.html index 7c028ae8ad..64fa579beb 100644 --- a/rustdoc/folding/expressions/struct.IntegratedFoldingExpr.html +++ b/rustdoc/folding/expressions/struct.IntegratedFoldingExpr.html @@ -1,12 +1,12 @@ -IntegratedFoldingExpr in folding::expressions - Rust
    pub struct IntegratedFoldingExpr<C: FoldingConfig> { /* private fields */ }
    Expand description

    A value of type IntegratedFoldingExpr is the result of the split of a +IntegratedFoldingExpr in folding::expressions - Rust

    pub struct IntegratedFoldingExpr<C: FoldingConfig> { /* private fields */ }
    Expand description

    A value of type IntegratedFoldingExpr is the result of the split of a polynomial in its monomials of degree 0, 1 and 2. It is used to compute the error terms. For an example, have a look at the top level documentation.

    -

    Implementations§

    source§

    impl<C: FoldingConfig> IntegratedFoldingExpr<C>

    source

    pub fn final_expression(self) -> FoldingCompatibleExpr<C>

    Combines constraints into single expression

    -

    Trait Implementations§

    source§

    impl<C> Clone for IntegratedFoldingExpr<C>where - C: FoldingConfig,

    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<C> Debug for IntegratedFoldingExpr<C>where - C: FoldingConfig,

    source§

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

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

    impl<C> Default for IntegratedFoldingExpr<C>where - C: FoldingConfig,

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    Implementations§

    source§

    impl<C: FoldingConfig> IntegratedFoldingExpr<C>

    source

    pub fn final_expression(self) -> FoldingCompatibleExpr<C>

    Combines constraints into single expression

    +

    Trait Implementations§

    source§

    impl<C> Clone for IntegratedFoldingExpr<C>where + C: FoldingConfig,

    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<C> Debug for IntegratedFoldingExpr<C>where + C: FoldingConfig,

    source§

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

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

    impl<C> Default for IntegratedFoldingExpr<C>where + C: FoldingConfig,

    source§

    fn default() -> Self

    Returns the “default value” for a type. Read more

    Auto Trait Implementations§

    §

    impl<C> RefUnwindSafe for IntegratedFoldingExpr<C>where <C as FoldingConfig>::Challenge: RefUnwindSafe, <C as FoldingConfig>::Column: RefUnwindSafe, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe, diff --git a/rustdoc/folding/expressions/struct.Term.html b/rustdoc/folding/expressions/struct.Term.html index adfbe76f2f..c40479bfae 100644 --- a/rustdoc/folding/expressions/struct.Term.html +++ b/rustdoc/folding/expressions/struct.Term.html @@ -1,4 +1,4 @@ -Term in folding::expressions - Rust

    Struct folding::expressions::Term

    source ·
    pub struct Term<C: FoldingConfig> {
    +Term in folding::expressions - Rust

    Struct folding::expressions::Term

    source ·
    pub struct Term<C: FoldingConfig> {
         pub exp: FoldingExp<C>,
         pub sign: Sign,
     }
    Expand description

    A term of a polynomial @@ -7,9 +7,9 @@ The sign is used to encode the sign of the term at the expression level. It is used to split a polynomial in its terms/monomials of degree 0, 1 and 2.

    -

    Fields§

    §exp: FoldingExp<C>§sign: Sign

    Trait Implementations§

    source§

    impl<C> Clone for Term<C>where - C: FoldingConfig,

    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<C> Debug for Term<C>where - C: Debug + FoldingConfig,

    source§

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

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

    impl<C: FoldingConfig> Mul<&Term<C>> for &Term<C>

    §

    type Output = Term<C>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Self) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<C: FoldingConfig> Neg for Term<C>

    §

    type Output = Term<C>

    The resulting type after applying the - operator.
    source§

    fn neg(self) -> Self::Output

    Performs the unary - operation. Read more

    Auto Trait Implementations§

    §

    impl<C> RefUnwindSafe for Term<C>where +

    Fields§

    §exp: FoldingExp<C>§sign: Sign

    Trait Implementations§

    source§

    impl<C> Clone for Term<C>where + C: FoldingConfig,

    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<C> Debug for Term<C>where + C: Debug + FoldingConfig,

    source§

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

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

    impl<C: FoldingConfig> Mul<&Term<C>> for &Term<C>

    §

    type Output = Term<C>

    The resulting type after applying the * operator.
    source§

    fn mul(self, rhs: Self) -> Self::Output

    Performs the * operation. Read more
    source§

    impl<C: FoldingConfig> Neg for Term<C>

    §

    type Output = Term<C>

    The resulting type after applying the - operator.
    source§

    fn neg(self) -> Self::Output

    Performs the unary - operation. Read more

    Auto Trait Implementations§

    §

    impl<C> RefUnwindSafe for Term<C>where <C as FoldingConfig>::Challenge: RefUnwindSafe, <C as FoldingConfig>::Column: RefUnwindSafe, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe, diff --git a/rustdoc/folding/standard_config/struct.EmptyStructure.html b/rustdoc/folding/standard_config/struct.EmptyStructure.html index b3d70ab1d5..2285cf0e7b 100644 --- a/rustdoc/folding/standard_config/struct.EmptyStructure.html +++ b/rustdoc/folding/standard_config/struct.EmptyStructure.html @@ -1,7 +1,7 @@ -EmptyStructure in folding::standard_config - Rust
    pub struct EmptyStructure<G: KimchiCurve>(_);
    Expand description

    Default type for when you don’t need structure

    -

    Trait Implementations§

    source§

    impl<G: Clone + KimchiCurve> Clone for EmptyStructure<G>where - G::ScalarField: Clone,

    source§

    fn clone(&self) -> EmptyStructure<G>

    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<G: Default + KimchiCurve> Default for EmptyStructure<G>where - G::ScalarField: Default,

    source§

    fn default() -> EmptyStructure<G>

    Returns the “default value” for a type. Read more
    source§

    impl<G: KimchiCurve, Col> Index<Col> for EmptyStructure<G>

    §

    type Output = Vec<<G as AffineCurve>::ScalarField, Global>

    The returned type after indexing.
    source§

    fn index(&self, _index: Col) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl<G> RefUnwindSafe for EmptyStructure<G>where +EmptyStructure in folding::standard_config - Rust
    pub struct EmptyStructure<G: KimchiCurve>(_);
    Expand description

    Default type for when you don’t need structure

    +

    Trait Implementations§

    source§

    impl<G: Clone + KimchiCurve> Clone for EmptyStructure<G>where + G::ScalarField: Clone,

    source§

    fn clone(&self) -> EmptyStructure<G>

    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<G: Default + KimchiCurve> Default for EmptyStructure<G>where + G::ScalarField: Default,

    source§

    fn default() -> EmptyStructure<G>

    Returns the “default value” for a type. Read more
    source§

    impl<G: KimchiCurve, Col> Index<Col> for EmptyStructure<G>

    §

    type Output = Vec<<G as AffineCurve>::ScalarField, Global>

    The returned type after indexing.
    source§

    fn index(&self, _index: Col) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more

    Auto Trait Implementations§

    §

    impl<G> RefUnwindSafe for EmptyStructure<G>where <G as AffineCurve>::ScalarField: RefUnwindSafe,

    §

    impl<G> Send for EmptyStructure<G>

    §

    impl<G> Sync for EmptyStructure<G>

    §

    impl<G> Unpin for EmptyStructure<G>where <G as AffineCurve>::ScalarField: Unpin,

    §

    impl<G> UnwindSafe for EmptyStructure<G>where <G as AffineCurve>::ScalarField: UnwindSafe,

    Blanket Implementations§

    source§

    impl<T> Any for Twhere diff --git a/rustdoc/folding/standard_config/struct.Env.html b/rustdoc/folding/standard_config/struct.Env.html index c0a8392310..8353a1b3f2 100644 --- a/rustdoc/folding/standard_config/struct.Env.html +++ b/rustdoc/folding/standard_config/struct.Env.html @@ -1,15 +1,15 @@ Env in folding::standard_config - Rust
    pub struct Env<G, Col, Chall, Sel, Str, I, W>where
         G: CommitmentCurve,
         I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone,
    -    W: Witness<G> + Clone + Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>,
    +    W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>,
         Col: Hash + Eq,{ /* private fields */ }
    Expand description

    A generic Index based environment

    Trait Implementations§

    source§

    impl<G, Col, Chall, Sel, Str, I, W> FoldingEnv<<G as AffineCurve>::ScalarField, I, W, Col, Chall, Sel> for Env<G, Col, Chall, Sel, Str, I, W>where G: CommitmentCurve, I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone, - W: Witness<G> + Clone + Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>, + W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>, Col: FoldingColumnTrait + Eq + Hash, Sel: Copy, - Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,

    §

    type Structure = Str

    Structure which could be storing useful information like selectors, etc.
    source§

    fn new( + Str: Clone + Index<Col, Output = [G::ScalarField]>,

    §

    type Structure = Str

    Structure which could be storing useful information like selectors, etc.
    source§

    fn new( structure: &Self::Structure, instances: [&I; 2], witnesses: [&W; 2] @@ -18,9 +18,9 @@ The challenges are stored inside the instances structs.

    source§

    fn col( &self, col: Col, - curr_or_next: CurrOrNext, + curr_or_next: CurrOrNext, side: Side -) -> &Vec<G::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn selector(&self, s: &Sel, side: Side) -> &Vec<G::ScalarField>

    similar to Self::col, but folding may ask for a dynamic selector directly +) -> &[G::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn selector(&self, s: &Sel, side: Side) -> &[G::ScalarField]

    similar to Self::col, but folding may ask for a dynamic selector directly instead of just column that happens to be a selector

    Auto Trait Implementations§

    §

    impl<G, Col, Chall, Sel, Str, I, W> !RefUnwindSafe for Env<G, Col, Chall, Sel, Str, I, W>

    §

    impl<G, Col, Chall, Sel, Str, I, W> Send for Env<G, Col, Chall, Sel, Str, I, W>where Chall: Send, Col: Send, diff --git a/rustdoc/folding/standard_config/struct.StandardConfig.html b/rustdoc/folding/standard_config/struct.StandardConfig.html index aa7c5a3cad..47b8fc2ac6 100644 --- a/rustdoc/folding/standard_config/struct.StandardConfig.html +++ b/rustdoc/folding/standard_config/struct.StandardConfig.html @@ -35,11 +35,11 @@ Self: 'static, G: CommitmentCurve, I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone, - W: Witness<G> + Clone + Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>, + W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>, Col: Hash + Eq + Debug + Clone + FoldingColumnTrait, Sel: Ord + Copy + Hash + Debug, Chall: Hash + Eq + Debug + Copy, - Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,

    §

    type Column = Col

    §

    type Selector = Sel

    §

    type Challenge = Chall

    The type of an abstract challenge that can be found in the expressions + Str: Clone + Index<Col, Output = [G::ScalarField]>,

    §

    type Column = Col

    §

    type Selector = Sel

    §

    type Challenge = Chall

    The type of an abstract challenge that can be found in the expressions provided as constraints.
    §

    type Curve = G

    The target curve used by the polynomial commitment
    §

    type Srs = SRS<G>

    The SRS used by the polynomial commitment. The SRS is used to commit to the additional columns that are added by the quadraticization.
    §

    type Instance = I

    For Plonk, it will be the commitments to the polynomials and the challenges
    §

    type Witness = W

    For PlonK, it will be the polynomials in evaluation form that we commit to, i.e. the columns. diff --git a/rustdoc/folding/trait.FoldingConfig.html b/rustdoc/folding/trait.FoldingConfig.html index 1bff645b41..156053c1d1 100644 --- a/rustdoc/folding/trait.FoldingConfig.html +++ b/rustdoc/folding/trait.FoldingConfig.html @@ -21,8 +21,8 @@ Self: 'static, G: CommitmentCurve, I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone, - W: Witness<G> + Clone + Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>, + W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>, Col: Hash + Eq + Debug + Clone + FoldingColumnTrait, Sel: Ord + Copy + Hash + Debug, Chall: Hash + Eq + Debug + Copy, - Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,
    §

    type Column = Col

    §

    type Selector = Sel

    §

    type Challenge = Chall

    §

    type Curve = G

    §

    type Srs = SRS<G>

    §

    type Instance = I

    §

    type Witness = W

    §

    type Structure = Str

    §

    type Env = Env<G, Col, Chall, Sel, Str, I, W>

    \ No newline at end of file + Str: Clone + Index<Col, Output = [G::ScalarField]>,
    §

    type Column = Col

    §

    type Selector = Sel

    §

    type Challenge = Chall

    §

    type Curve = G

    §

    type Srs = SRS<G>

    §

    type Instance = I

    §

    type Witness = W

    §

    type Structure = Str

    §

    type Env = Env<G, Col, Chall, Sel, Str, I, W>

    \ No newline at end of file diff --git a/rustdoc/folding/trait.FoldingEnv.html b/rustdoc/folding/trait.FoldingEnv.html index a82823a486..d66d3f3b5a 100644 --- a/rustdoc/folding/trait.FoldingEnv.html +++ b/rustdoc/folding/trait.FoldingEnv.html @@ -8,8 +8,8 @@ witnesses: [&W; 2] ) -> Self; fn challenge(&self, challenge: Chal, side: Side) -> F; - fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &Vec<F>; - fn selector(&self, s: &Selector, side: Side) -> &Vec<F>; + fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &[F]; + fn selector(&self, s: &Selector, side: Side) -> &[F]; }
    Expand description

    Describe a folding environment. The type parameters are:

      @@ -29,13 +29,13 @@ witnesses.

    source

    fn challenge(&self, challenge: Chal, side: Side) -> F

    Obtains a given challenge from the expanded instance for one side. The challenges are stored inside the instances structs.

    -
    source

    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &Vec<F>

    Returns the evaluations of a given column witness at omega or zeta*omega.

    -
    source

    fn selector(&self, s: &Selector, side: Side) -> &Vec<F>

    similar to Self::col, but folding may ask for a dynamic selector directly +

    source

    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &[F]

    Returns the evaluations of a given column witness at omega or zeta*omega.

    +
    source

    fn selector(&self, s: &Selector, side: Side) -> &[F]

    similar to Self::col, but folding may ask for a dynamic selector directly instead of just column that happens to be a selector

    Implementors§

    source§

    impl<G, Col, Chall, Sel, Str, I, W> FoldingEnv<<G as AffineCurve>::ScalarField, I, W, Col, Chall, Sel> for Env<G, Col, Chall, Sel, Str, I, W>where G: CommitmentCurve, I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone, - W: Witness<G> + Clone + Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>, + W: Witness<G> + Clone + Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>, Col: FoldingColumnTrait + Eq + Hash, Sel: Copy, - Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,

    §

    type Structure = Str

    \ No newline at end of file + Str: Clone + Index<Col, Output = [G::ScalarField]>,
    §

    type Structure = Str

    \ No newline at end of file diff --git a/rustdoc/help.html b/rustdoc/help.html index 5f6a6e11c2..f74e384bbd 100644 --- a/rustdoc/help.html +++ b/rustdoc/help.html @@ -1 +1 @@ -Rustdoc help

    Rustdoc help

    Back
    \ No newline at end of file +Rustdoc help

    Rustdoc help

    Back
    \ No newline at end of file diff --git a/rustdoc/implementors/core/clone/trait.Clone.js b/rustdoc/implementors/core/clone/trait.Clone.js index 8b03b369c8..3cf461aba0 100644 --- a/rustdoc/implementors/core/clone/trait.Clone.js +++ b/rustdoc/implementors/core/clone/trait.Clone.js @@ -1,9 +1,9 @@ (function() {var implementors = { -"folding":[["impl Clone for Degree"],["impl Clone for Column"],["impl<C> Clone for ExpExtension<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for ExtendedInstance<G, I>"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for ExtendedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<'a, F: Clone> Clone for EvalLeaf<'a, F>"],["impl Clone for Side"],["impl<C> Clone for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl<C> Clone for Term<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for RelaxedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<C> Clone for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl<C> Clone for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for RelaxedInstance<G, I>where\n G::ScalarField: Clone,"],["impl<G: Clone + KimchiCurve> Clone for EmptyStructure<G>where\n G::ScalarField: Clone,"],["impl<C> Clone for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<C> Clone for FoldingExp<C>where\n C: FoldingConfig,"],["impl Clone for Sign"],["impl<F: Clone + Field> Clone for Alphas<F>"]], +"folding":[["impl Clone for Degree"],["impl Clone for Column"],["impl<C> Clone for ExpExtension<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for ExtendedInstance<G, I>"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for ExtendedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<'a, F: Clone> Clone for EvalLeaf<'a, F>"],["impl Clone for Side"],["impl<C> Clone for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl<C> Clone for Term<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, W: Clone + Witness<G>> Clone for RelaxedWitness<G, W>where\n G::ScalarField: Clone,"],["impl<C> Clone for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl<C> Clone for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl<G: Clone + CommitmentCurve, I: Clone + Instance<G>> Clone for RelaxedInstance<G, I>where\n G::ScalarField: Clone,"],["impl<G: Clone + KimchiCurve> Clone for EmptyStructure<G>where\n G::ScalarField: Clone,"],["impl<C> Clone for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<C> Clone for FoldingExp<C>where\n C: FoldingConfig,"],["impl Clone for Sign"],["impl<F: Clone + Field> Clone for Alphas<F>"]], "groupmap":[["impl<G: Clone + SWModelParameters> Clone for BWParameters<G>where\n G::BaseField: Clone,"]], -"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, F: Clone + FftField> Clone for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<G: Clone + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Clone,"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Clone for PlonkSpongeConstantsIVC"],["impl Clone for PlonkishChallengeIter"],["impl Clone for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<Ff: Clone> Clone for IVCLookupTable<Ff>"],["impl Clone for PlonkishChallenge"],["impl Clone for PlonkSpongeConstantsIVC"]], +"ivc":[["impl Clone for PlonkishChallengeIter"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Clone for PlonkishChallenge"],["impl Clone for PlonkSpongeConstantsIVC"],["impl Clone for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Clone for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<Ff: Clone> Clone for IVCLookupTable<Ff>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Clone + Field, Evals: Clone> Clone for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<G: Clone + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Clone,"],["impl Clone for PlonkSpongeConstantsIVC"]], "kimchi":[["impl<G: Clone> Clone for TestSRS<G>"],["impl<C: Clone, Column: Clone> Clone for ExprInner<C, Column>"],["impl Clone for RotMode"],["impl Clone for Domain"],["impl<F: Clone + FftField> Clone for LookupShifts<F>"],["impl Clone for Traces"],["impl<G: Clone + AffineCurve, OpeningProof: Clone> Clone for ProverProof<G, OpeningProof>where\n G::ScalarField: Clone,"],["impl<E: Clone, Column: Clone> Clone for Linearization<E, Column>"],["impl<F: Clone + PrimeField> Clone for ColumnEvaluations<F>"],["impl<T: Clone> Clone for DisjointSet<T>"],["impl<F: Clone + FftField> Clone for LookupEvals<F>"],["impl<F: Clone> Clone for FullChallenge<F>"],["impl<G: Clone + AffineCurve> Clone for LookupCommitments<G>"],["impl<Column: Clone> Clone for Variable<Column>"],["impl Clone for ProverError"],["impl<F: Clone> Clone for GenericGateSpec<F>"],["impl<F: Clone> Clone for Alphas<F>"],["impl<Evals: Clone> Clone for PointEvaluations<Evals>"],["impl Clone for RuntimeTableSpec"],["impl<F: Clone + FftField> Clone for EvaluationDomains<F>"],["impl<T: Clone> Clone for LookupSelectors<T>"],["impl Clone for GateType"],["impl Clone for SnarkyRuntimeError"],["impl Clone for Column"],["impl<F: Clone> Clone for ForeignElement<F>"],["impl<CamlG: Clone, CamlF: Clone> Clone for CamlRecursionChallenge<CamlG, CamlF>"],["impl<G> Clone for RecursionChallenge<G>where\n G: AffineCurve + Clone,\n G::ScalarField: Clone,"],["impl Clone for FeatureFlags"],["impl<F: Clone + 'static> Clone for Constants<F>"],["impl<F: Clone + Field> Clone for Constants<F>"],["impl<F: Clone + FftField> Clone for LookupConstraintSystem<F>"],["impl<F: Clone> Clone for RuntimeTableCfg<F>"],["impl<F: Clone + Field> Clone for RandomOracles<F>"],["impl<CamlG: Clone> Clone for CamlLookupCommitments<CamlG>"],["impl<F: Clone> Clone for LookupConfiguration<F>"],["impl Clone for RowOffset"],["impl Clone for GateLookupTable"],["impl<SingleLookup: Clone, LookupTableID: Clone> Clone for JointLookup<SingleLookup, LookupTableID>"],["impl<F: Clone + FftField> Clone for WitnessEvals<F>"],["impl Clone for LookupTableID"],["impl<Field> Clone for SnarkyConstraintSystem<Field>where\n Field: PrimeField + Clone,"],["impl Clone for SnarkyCompilationError"],["impl<F: Clone + FftField> Clone for WitnessOverDomains<F>"],["impl<F: Clone + PrimeField> Clone for ConstraintSystem<F>"],["impl<F: Clone + FftField> Clone for LookupPolys<F>"],["impl<F: Clone + PrimeField> Clone for CircuitGate<F>"],["impl<F: Clone> Clone for RuntimeTable<F>"],["impl Clone for CircuitGateError"],["impl<F: Clone + PrimeField> Clone for Boolean<F>"],["impl<CamlF: Clone> Clone for CamlProofEvaluations<CamlF>"],["impl<F: Clone + FftField> Clone for DomainConstantEvaluations<F>"],["impl Clone for CacheId"],["impl Clone for FFOps"],["impl<G: Clone + CommitmentCurve> Clone for LookupVerifierIndex<G>"],["impl Clone for LookupPatterns"],["impl Clone for LookupError"],["impl<F: Clone> Clone for LookupTable<F>"],["impl Clone for FeatureFlag"],["impl Clone for SnarkyError"],["impl<Evals: Clone> Clone for ProofEvaluations<Evals>"],["impl<CamlG: Clone> Clone for CamlProverCommitments<CamlG>"],["impl<F> Clone for FieldVar<F>where\n F: PrimeField + Clone,"],["impl<F: Clone + PrimeField> Clone for EvaluatedColumnCoefficients<F>"],["impl Clone for Wire"],["impl<G: Clone + AffineCurve> Clone for ProverCommitments<G>"],["impl Clone for StoredSRSType"],["impl Clone for LookupPatternIter"],["impl<F: Clone> Clone for ConstantExprInner<F>"],["impl<F: Clone, Column: Clone> Clone for PolishToken<F, Column>"],["impl<F: Clone + FftField> Clone for WitnessShifts<F>"],["impl Clone for LookupFeatures"],["impl<F: Clone> Clone for SingleLookup<F>"],["impl Clone for VerifierIndexError"],["impl Clone for ArgumentType"],["impl Clone for DomainCreationError"],["impl Clone for LookupInfo"],["impl<T: Clone> Clone for Operations<T>"],["impl<G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for ProverIndex<G, OpeningProof>where\n G::ScalarField: Clone,\n OpeningProof::SRS: Clone,\n G::BaseField: Clone,"],["impl Clone for VerifyError"],["impl Clone for GateLookupTables"],["impl Clone for CurrOrNext"],["impl<G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>> Clone for VerifierIndex<G, OpeningProof>where\n G::ScalarField: Clone,\n OpeningProof::SRS: Clone,"],["impl<F: Clone> Clone for ConstantTerm<F>"],["impl Clone for SetupError"],["impl Clone for LookupPattern"],["impl Clone for LocalPosition"],["impl Clone for ChallengeTerm"]], -"kimchi_msm":[["impl<Ff> Clone for LookupTableIter<Ff>"],["impl Clone for Column"],["impl<const N_WIT: usize, F: Clone + PrimeField, ID: Clone + LookupTableID> Clone for ProofInputs<N_WIT, F, ID>"],["impl<Ff> Clone for LookupTableIter<Ff>"],["impl Clone for FECColumn"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for Logup<F, ID>"],["impl Clone for TestColumn"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl<const N_WIT: usize, T: Clone> Clone for Witness<N_WIT, T>"],["impl<const N_WIT: usize, G: Clone + KimchiCurve, ID: Clone + LookupTableID> Clone for ProofCommitments<N_WIT, G, ID>"],["impl<T: Clone, ID: Clone> Clone for LookupProof<T, ID>"],["impl Clone for DummyLookupTable"],["impl Clone for LookupTableIter"],["impl Clone for SerializationColumn"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>, ID: Clone + LookupTableID> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Clone,"],["impl Clone for ProverError"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: Clone + LookupTableID> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl Clone for FFAColumn"],["impl Clone for LookupTableIDs"],["impl Clone for LookupTable"],["impl<Pair: Clone + PairingEngine> Clone for TestPairingSRS<Pair>where\n Pair::G1Affine: Clone,\n Pair::G2Affine: Clone,"],["impl Clone for FECColumnOutput"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LookupTable<F, ID>"],["impl<T: Clone> Clone for IdMPrism<T>"],["impl Clone for FECColumnInter"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LogupWitness<F, ID>"],["impl Clone for FECColumnInput"]], +"kimchi_msm":[["impl<Ff> Clone for LookupTableIter<Ff>"],["impl Clone for Column"],["impl<const N_WIT: usize, F: Clone + PrimeField, ID: Clone + LookupTableID> Clone for ProofInputs<N_WIT, F, ID>"],["impl<Ff> Clone for LookupTableIter<Ff>"],["impl Clone for FECColumn"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for Logup<F, ID>"],["impl Clone for TestColumn"],["impl<Ff: Clone> Clone for LookupTable<Ff>"],["impl<const N_WIT: usize, T: Clone> Clone for Witness<N_WIT, T>"],["impl<const N_WIT: usize, G: Clone + KimchiCurve, ID: Clone + LookupTableID> Clone for ProofCommitments<N_WIT, G, ID>"],["impl<T: Clone, ID: Clone> Clone for LookupProof<T, ID>"],["impl Clone for DummyLookupTable"],["impl Clone for LookupTableIter"],["impl Clone for SerializationColumn"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>, ID: Clone + LookupTableID> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Clone,"],["impl Clone for ProverError"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: Clone + LookupTableID> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl Clone for FFAColumn"],["impl Clone for LookupTableIDs"],["impl Clone for LookupTable"],["impl<Pair: Clone + PairingEngine> Clone for TestPairingSRS<Pair>where\n Pair::G1Affine: Clone,\n Pair::G2Affine: Clone,"],["impl Clone for FECColumnOutput"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LookupTable<F, ID>"],["impl<T: Clone> Clone for IdMPrism<T>"],["impl Clone for FECColumnInter"],["impl<F: Clone, ID: Clone + LookupTableID> Clone for LogupWitness<F, ID>"],["impl Clone for FECColumnInput"]], "mina_curves":[["impl Clone for PallasParameters"],["impl Clone for LegacyPallasParameters"],["impl Clone for LegacyVestaParameters"],["impl Clone for VestaParameters"]], "mina_hasher":[["impl Clone for ROInput"]], "mina_poseidon":[["impl Clone for SpongeState"],["impl<CamlF: Clone> Clone for CamlScalarChallenge<CamlF>"],["impl<F: Clone> Clone for ScalarChallenge<F>"],["impl Clone for PlonkSpongeConstantsLegacy"],["impl<F: Clone + Field, SC: Clone + SpongeConstants> Clone for ArithmeticSponge<F, SC>"],["impl<P: Clone + SWModelParameters, SC: Clone + SpongeConstants> Clone for DefaultFqSponge<P, SC>where\n P::BaseField: Clone,"],["impl Clone for PlonkSpongeConstantsKimchi"],["impl<F: Clone + Field> Clone for ArithmeticSpongeParams<F>"]], diff --git a/rustdoc/implementors/core/cmp/trait.Eq.js b/rustdoc/implementors/core/cmp/trait.Eq.js index eaa4440e53..d46bad3f89 100644 --- a/rustdoc/implementors/core/cmp/trait.Eq.js +++ b/rustdoc/implementors/core/cmp/trait.Eq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[["impl Eq for Sign"],["impl<G, Col, Chall, I, W, Sel, Str> Eq for StandardConfig<G, Col, Chall, I, W, Sel, Str>"],["impl<C> Eq for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl Eq for Column"],["impl Eq for Degree"],["impl<C> Eq for FoldingExp<C>where\n C: FoldingConfig,"]], -"ivc":[["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<Ff: Eq> Eq for IVCLookupTable<Ff>"],["impl Eq for IVCColumn"],["impl Eq for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Eq + FftField> Eq for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], +"ivc":[["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Eq + Field, Evals: Eq> Eq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<Ff: Eq> Eq for IVCLookupTable<Ff>"],["impl Eq for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Eq for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Eq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], "kimchi":[["impl Eq for StoredSRSType"],["impl Eq for LookupFeatures"],["impl Eq for GateLookupTable"],["impl Eq for CircuitGateError"],["impl Eq for FFOps"],["impl<Column: Eq> Eq for Variable<Column>"],["impl Eq for ChallengeTerm"],["impl<F: Eq> Eq for ConstantTerm<F>"],["impl Eq for ArgumentType"],["impl Eq for GateType"],["impl Eq for RowOffset"],["impl Eq for CacheId"],["impl Eq for FeatureFlag"],["impl<T: Eq> Eq for Operations<T>"],["impl Eq for Column"],["impl<F: Eq, Column: Eq> Eq for PolishToken<F, Column>"],["impl<G: Eq> Eq for TestSRS<G>"],["impl Eq for CurrOrNext"],["impl Eq for RotMode"],["impl Eq for LookupPatterns"],["impl Eq for LookupPattern"],["impl Eq for GateLookupTables"],["impl Eq for Wire"]], "kimchi_msm":[["impl Eq for SerializationColumn"],["impl Eq for FECColumn"],["impl<Ff: Eq> Eq for LookupTable<Ff>"],["impl<Ff: Eq> Eq for LookupTable<Ff>"],["impl Eq for Column"],["impl Eq for FECColumnInput"],["impl Eq for DummyLookupTable"],["impl<const N_WIT: usize, T: Eq> Eq for Witness<N_WIT, T>"],["impl<const N_WIT: usize, F: Eq + PrimeField, ID: Eq + LookupTableID> Eq for ProofInputs<N_WIT, F, ID>"],["impl Eq for LookupTable"],["impl<F: Eq, ID: Eq + LookupTableID> Eq for Logup<F, ID>"],["impl Eq for FECColumnInter"],["impl<Pair: Eq + PairingEngine> Eq for TestPairingSRS<Pair>where\n Pair::G1Affine: Eq,\n Pair::G2Affine: Eq,"],["impl Eq for FECColumnOutput"],["impl Eq for FFAColumn"],["impl Eq for LookupTableIDs"],["impl<F: Eq, ID: Eq + LookupTableID> Eq for LogupWitness<F, ID>"],["impl Eq for TestColumn"]], "mina_curves":[["impl Eq for LegacyPallasParameters"],["impl Eq for VestaParameters"],["impl Eq for PallasParameters"],["impl Eq for LegacyVestaParameters"]], diff --git a/rustdoc/implementors/core/cmp/trait.PartialEq.js b/rustdoc/implementors/core/cmp/trait.PartialEq.js index f83131769b..3100d16b8d 100644 --- a/rustdoc/implementors/core/cmp/trait.PartialEq.js +++ b/rustdoc/implementors/core/cmp/trait.PartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[["impl<C> PartialEq<ExpExtension<C>> for ExpExtension<C>where\n C: FoldingConfig,"],["impl<C> PartialEq<FoldingExp<C>> for FoldingExp<C>where\n C: FoldingConfig,"],["impl<C> PartialEq<FoldingCompatibleExpr<C>> for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl PartialEq<Sign> for Sign"],["impl PartialEq<Degree> for Degree"],["impl<C> PartialEq<ExtendedFoldingColumn<C>> for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl PartialEq<Column> for Column"],["impl<C> PartialEq<FoldingCompatibleExprInner<C>> for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl<G, Col, Chall, I, W, Sel, Str> PartialEq<StandardConfig<G, Col, Chall, I, W, Sel, Str>> for StandardConfig<G, Col, Chall, I, W, Sel, Str>"]], -"ivc":[["impl PartialEq<IVCColumn> for IVCColumn"],["impl<const N_COL: usize, const N_FSEL: usize, F: PartialEq + FftField> PartialEq<PlonkishWitness<N_COL, N_FSEL, F>> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<Ff: PartialEq> PartialEq<IVCLookupTable<Ff>> for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl PartialEq<PlonkishChallenge> for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"]], +"ivc":[["impl PartialEq<IVCColumn> for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<Ff: PartialEq> PartialEq<IVCLookupTable<Ff>> for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl PartialEq<PlonkishChallenge> for PlonkishChallenge"],["impl<const N_COL: usize, const N_FSEL: usize, F: PartialEq + Field, Evals: PartialEq> PartialEq<PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> PartialEq<PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>> for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"]], "kimchi":[["impl PartialEq<RowOffset> for RowOffset"],["impl PartialEq<FeatureFlag> for FeatureFlag"],["impl PartialEq<FFOps> for FFOps"],["impl PartialEq<LookupPatterns> for LookupPatterns"],["impl<Column: PartialEq> PartialEq<Variable<Column>> for Variable<Column>"],["impl PartialEq<LookupPattern> for LookupPattern"],["impl PartialEq<LookupFeatures> for LookupFeatures"],["impl PartialEq<ChallengeTerm> for ChallengeTerm"],["impl PartialEq<CircuitGateError> for CircuitGateError"],["impl<F: PartialEq> PartialEq<ConstantTerm<F>> for ConstantTerm<F>"],["impl PartialEq<Domain> for Domain"],["impl PartialEq<GateType> for GateType"],["impl PartialEq<GateLookupTables> for GateLookupTables"],["impl PartialEq<CurrOrNext> for CurrOrNext"],["impl PartialEq<RotMode> for RotMode"],["impl PartialEq<StoredSRSType> for StoredSRSType"],["impl<C: PartialEq, Column: PartialEq> PartialEq<ExprInner<C, Column>> for ExprInner<C, Column>"],["impl PartialEq<ArgumentType> for ArgumentType"],["impl PartialEq<GateLookupTable> for GateLookupTable"],["impl<T: PartialEq> PartialEq<Operations<T>> for Operations<T>"],["impl PartialEq<Column> for Column"],["impl PartialEq<Wire> for Wire"],["impl PartialEq<CacheId> for CacheId"],["impl<F: PartialEq, Column: PartialEq> PartialEq<PolishToken<F, Column>> for PolishToken<F, Column>"],["impl<F: PartialEq> PartialEq<ConstantExprInner<F>> for ConstantExprInner<F>"],["impl<G: PartialEq> PartialEq<TestSRS<G>> for TestSRS<G>"]], "kimchi_msm":[["impl PartialEq<LookupTableIDs> for LookupTableIDs"],["impl<F: PartialEq, ID: PartialEq + LookupTableID> PartialEq<LogupWitness<F, ID>> for LogupWitness<F, ID>"],["impl PartialEq<FECColumnInput> for FECColumnInput"],["impl PartialEq<FFAColumn> for FFAColumn"],["impl PartialEq<DummyLookupTable> for DummyLookupTable"],["impl PartialEq<Column> for Column"],["impl<const N_WIT: usize, F: PartialEq + PrimeField, ID: PartialEq + LookupTableID> PartialEq<ProofInputs<N_WIT, F, ID>> for ProofInputs<N_WIT, F, ID>"],["impl<Ff: PartialEq> PartialEq<LookupTable<Ff>> for LookupTable<Ff>"],["impl PartialEq<TestColumn> for TestColumn"],["impl PartialEq<LookupTable> for LookupTable"],["impl PartialEq<FECColumn> for FECColumn"],["impl<Pair: PartialEq + PairingEngine> PartialEq<TestPairingSRS<Pair>> for TestPairingSRS<Pair>where\n Pair::G1Affine: PartialEq,\n Pair::G2Affine: PartialEq,"],["impl<F: PartialEq, ID: PartialEq + LookupTableID> PartialEq<Logup<F, ID>> for Logup<F, ID>"],["impl PartialEq<FECColumnInter> for FECColumnInter"],["impl PartialEq<SerializationColumn> for SerializationColumn"],["impl<const N_WIT: usize, T: PartialEq> PartialEq<Witness<N_WIT, T>> for Witness<N_WIT, T>"],["impl PartialEq<FECColumnOutput> for FECColumnOutput"],["impl<Ff: PartialEq> PartialEq<LookupTable<Ff>> for LookupTable<Ff>"]], "mina_curves":[["impl PartialEq<LegacyPallasParameters> for LegacyPallasParameters"],["impl PartialEq<VestaParameters> for VestaParameters"],["impl PartialEq<PallasParameters> for PallasParameters"],["impl PartialEq<LegacyVestaParameters> for LegacyVestaParameters"]], diff --git a/rustdoc/implementors/core/convert/trait.From.js b/rustdoc/implementors/core/convert/trait.From.js index cdf90e7e98..3493a4ef0c 100644 --- a/rustdoc/implementors/core/convert/trait.From.js +++ b/rustdoc/implementors/core/convert/trait.From.js @@ -1,7 +1,7 @@ (function() {var implementors = { -"folding":[["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ConstantExprInner<F>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<ConstantExprInner<F>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<ExprInner<ConstantExprInner<F>, Col>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Config: FoldingConfig> From<ConstantExprInner<F>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"]], +"folding":[["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ConstantExprInner<F>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<ConstantExprInner<F>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<ExprInner<ConstantExprInner<F>, Col>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Col, Config: FoldingConfig<Column = Col>> From<Operations<ExprInner<Operations<ConstantExprInner<F>>, Col>>> for FoldingCompatibleExpr<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"],["impl<F, Config: FoldingConfig> From<ConstantExprInner<F>> for FoldingCompatibleExprInner<Config>where\n Config::Curve: AffineCurve<ScalarField = F>,\n Config::Challenge: From<ChallengeTerm>,"]], "internal_tracing":[["impl From<u64> for TimeInput"],["impl From<SystemTime> for TimeInput"]], -"ivc":[["impl From<ChallengeTerm> for PlonkishChallenge"]], +"ivc":[["impl From<ChallengeTerm> for PlonkishChallenge"]], "kimchi":[["impl From<Traces> for CamlTraces"],["impl<F, CamlF> From<RuntimeTableCfg<F>> for CamlRuntimeTableCfg<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl From<LookupFeatures> for JsValue"],["impl<F, CamlF> From<&CircuitGate<F>> for CamlCircuitGate<CamlF>where\n CamlF: From<F>,\n F: PrimeField,"],["impl<F: Field, Column> From<u64> for Expr<F, Column>"],["impl<F> From<ChallengeTerm> for ConstantExpr<F>"],["impl<F: Field, Column> From<u64> for Expr<ConstantExpr<F>, Column>"],["impl<F, Column> From<ChallengeTerm> for Expr<ConstantExpr<F>, Column>"],["impl From<RuntimeTableSpec> for CamlRuntimeTableSpec"],["impl<G, CamlG> From<ProverCommitments<G>> for CamlProverCommitments<CamlG>where\n G: AffineCurve,\n CamlPolyComm<CamlG>: From<PolyComm<G>>,"],["impl<F> From<RuntimeTableCfg<F>> for RuntimeTableSpec"],["impl<F, Column> From<ConstantTerm<F>> for Expr<ConstantExpr<F>, Column>"],["impl From<Wire> for JsValue"],["impl<F: Field> From<u64> for ConstantExpr<F>"],["impl<F, CamlF> From<CamlCircuitGate<CamlF>> for CircuitGate<F>where\n F: From<CamlF> + PrimeField,"],["impl From<LookupInfo> for JsValue"],["impl<F, CamlF> From<CircuitGate<F>> for CamlCircuitGate<CamlF>where\n CamlF: From<F>,\n F: PrimeField,"],["impl<G, CamlG, CamlF> From<RecursionChallenge<G>> for CamlRecursionChallenge<CamlG, CamlF>where\n G: AffineCurve,\n CamlG: From<G>,\n CamlF: From<G::ScalarField>,"],["impl<G> From<TestSRS<G>> for SRS<G>"],["impl<F, CamlF> From<RuntimeTable<F>> for CamlRuntimeTable<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl<F> From<ConstantTerm<F>> for ConstantExpr<F>"],["impl<T> From<T> for Operations<T>"],["impl From<CamlWire> for Wire"],["impl<F, CamlF> From<CamlRuntimeTable<CamlF>> for RuntimeTable<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl From<FeatureFlags> for JsValue"],["impl<G> From<SRS<G>> for TestSRS<G>"],["impl<F, CamlF> From<ProofEvaluations<PointEvaluations<Vec<F, Global>>>> for (Option<PointEvaluations<Vec<CamlF>>>, CamlProofEvaluations<CamlF>)where\n F: Clone,\n CamlF: From<F>,"],["impl<F> From<ChallengeTerm> for ConstantExprInner<F>"],["impl<G, CamlG, CamlF> From<CamlRecursionChallenge<CamlG, CamlF>> for RecursionChallenge<G>where\n G: AffineCurve + From<CamlG>,\n G::ScalarField: From<CamlF>,"],["impl<G, CamlG> From<LookupCommitments<G>> for CamlLookupCommitments<CamlG>where\n G: AffineCurve,\n CamlPolyComm<CamlG>: From<PolyComm<G>>,"],["impl<F, Column> From<Operations<ConstantExprInner<F>>> for Expr<ConstantExpr<F>, Column>"],["impl<F, CamlF> From<LookupTable<F>> for CamlLookupTable<CamlF>where\n F: PrimeField,\n CamlF: From<F>,"],["impl From<CamlRuntimeTableSpec> for RuntimeTableSpec"],["impl<F, CamlF> From<CamlLookupTable<CamlF>> for LookupTable<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl<F> From<ConstantTerm<F>> for ConstantExprInner<F>"],["impl From<GateType> for JsValue"],["impl From<LookupPatterns> for JsValue"],["impl<F, CamlF> From<RandomOracles<F>> for CamlRandomOracles<CamlF>where\n F: Field,\n CamlF: From<F>,"],["impl<G, CamlG> From<CamlProverCommitments<CamlG>> for ProverCommitments<G>where\n G: AffineCurve,\n PolyComm<G>: From<CamlPolyComm<CamlG>>,"],["impl<F, CamlF> From<CamlRandomOracles<CamlF>> for RandomOracles<F>where\n CamlF: Into<F>,\n F: Field,"],["impl<G, CamlG, CamlF> From<CamlProofWithPublic<CamlG, CamlF>> for (ProverProof<G, OpeningProof<G>>, Vec<G::ScalarField>)where\n CamlF: Clone,\n G: AffineCurve + From<CamlG>,\n G::ScalarField: From<CamlF>,"],["impl<F, CamlF> From<(Option<PointEvaluations<Vec<CamlF, Global>>>, CamlProofEvaluations<CamlF>)> for ProofEvaluations<PointEvaluations<Vec<F>>>where\n F: Clone + From<CamlF>,\n CamlF: Clone,"],["impl From<CurrOrNext> for JsValue"],["impl<'a, F> From<&'a ConstraintSystem<F>> for Circuit<'a, F>where\n F: PrimeField,"],["impl From<Wire> for CamlWire"],["impl<G, CamlG> From<CamlLookupCommitments<CamlG>> for LookupCommitments<G>where\n G: AffineCurve,\n PolyComm<G>: From<CamlPolyComm<CamlG>>,"],["impl<G, CamlG, CamlF> From<(ProverProof<G, OpeningProof<G>>, Vec<<G as AffineCurve>::ScalarField, Global>)> for CamlProofWithPublic<CamlG, CamlF>where\n G: AffineCurve,\n CamlG: From<G>,\n CamlF: From<G::ScalarField>,"],["impl<F, CamlF> From<CamlRuntimeTableCfg<CamlF>> for RuntimeTableCfg<F>where\n F: PrimeField,\n CamlF: Into<F>,"],["impl From<Traces> for String"]], "kimchi_msm":[["impl<Pair: PairingEngine> From<TestPairingSRS<Pair>> for PairingSRS<Pair>"],["impl<Pair: PairingEngine> From<PairingSRS<Pair>> for TestPairingSRS<Pair>"]], "kimchi_visu":[["impl<F> From<[Vec<F, Global>; 15]> for Witness<F>where\n F: Field,"]], diff --git a/rustdoc/implementors/core/default/trait.Default.js b/rustdoc/implementors/core/default/trait.Default.js index 663fba3cae..9f8a9a8e1e 100644 --- a/rustdoc/implementors/core/default/trait.Default.js +++ b/rustdoc/implementors/core/default/trait.Default.js @@ -1,5 +1,5 @@ (function() {var implementors = { -"folding":[["impl<C> Default for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<G: Default + KimchiCurve> Default for EmptyStructure<G>where\n G::ScalarField: Default,"]], +"folding":[["impl<C> Default for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<G: Default + KimchiCurve> Default for EmptyStructure<G>where\n G::ScalarField: Default,"]], "kimchi":[["impl Default for Traces"],["impl<G: Default> Default for TestSRS<G>"],["impl<F: Default> Default for Poseidon<F>"],["impl<T: Default> Default for OrderedHashSet<T>"],["impl<T: Default> Default for DisjointSet<T>"],["impl Default for LookupPatterns"],["impl<F: Default> Default for ForeignFieldMul<F>"],["impl<F: Default> Default for EndosclMul<F>"],["impl<F: Default + PrimeField> Default for CircuitGate<F>"],["impl<E: Default, Column> Default for Linearization<E, Column>"],["impl<F: Default> Default for Generic<F>"],["impl<F: Default> Default for KeccakRound<F>"],["impl Default for Wire"],["impl<F: Default> Default for Xor16<F>"],["impl<F: Default> Default for VarbaseMul<F>"],["impl<F: Default> Default for EndomulScalar<F>"],["impl<F: Default> Default for KeccakSponge<F>"],["impl<F: Default> Default for ForeignFieldAdd<F>"],["impl Default for Cache"],["impl<F: Default> Default for CompleteAdd<F>"],["impl<T: Default> Default for LookupSelectors<T>"],["impl<F: Field> Default for RandomOracles<F>"],["impl Default for GateType"],["impl Default for LookupFeatures"],["impl<F, T> Default for ArgumentEnv<F, T>"],["impl<F: Default> Default for RangeCheck0<F>"],["impl<F> Default for DuplexState<F>where\n F: PrimeField + Default,"],["impl<F: Default + PrimeField> Default for ExternalChecks<F>"],["impl<Evals: Default> Default for PointEvaluations<Evals>"],["impl<F: Default> Default for RangeCheck1<F>"],["impl<F: Default> Default for Rot64<F>"],["impl<F: Default> Default for Alphas<F>"]], "kimchi_msm":[["impl<T> Default for IdMPrism<T>"],["impl<Pair: Default + PairingEngine> Default for TestPairingSRS<Pair>where\n Pair::G1Affine: Default,\n Pair::G2Affine: Default,"],["impl<const N_WIT: usize, F: PrimeField, ID: LookupTableID> Default for ProofInputs<N_WIT, F, ID>"],["impl<const N_WIT: usize, T: Zero + Clone> Default for Witness<N_WIT, T>"]], "mina_curves":[["impl Default for LegacyPallasParameters"],["impl Default for PallasParameters"],["impl Default for LegacyVestaParameters"],["impl Default for VestaParameters"]], diff --git a/rustdoc/implementors/core/fmt/trait.Debug.js b/rustdoc/implementors/core/fmt/trait.Debug.js index 7c49737b67..855e4e4e77 100644 --- a/rustdoc/implementors/core/fmt/trait.Debug.js +++ b/rustdoc/implementors/core/fmt/trait.Debug.js @@ -1,9 +1,9 @@ (function() {var implementors = { "export_test_vectors":[["impl Debug for TestVectors"],["impl Debug for ParamType"],["impl Debug for TestVector"],["impl Debug for Mode"]], "folding":[["impl<C> Debug for FoldingCompatibleExprInner<C>where\n C: FoldingConfig,"],["impl Debug for Degree"],["impl<C> Debug for FoldingExp<C>where\n C: FoldingConfig,"],["impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for ExtendedWitness<G, W>where\n G::ScalarField: Debug,"],["impl Debug for Column"],["impl<F: Debug + Field> Debug for Alphas<F>"],["impl<C> Debug for Term<C>where\n C: Debug + FoldingConfig,"],["impl<C> Debug for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"],["impl<G: Debug + CommitmentCurve, W: Debug + Witness<G>> Debug for RelaxedWitness<G, W>where\n G::ScalarField: Debug,"],["impl<G, Col, Chall, I, W, Sel, Str> Debug for StandardConfig<G, Col, Chall, I, W, Sel, Str>"],["impl<'a, F: Debug> Debug for EvalLeaf<'a, F>"],["impl<C> Debug for IntegratedFoldingExpr<C>where\n C: FoldingConfig,"],["impl<C> Debug for FoldingCompatibleExpr<C>where\n C: FoldingConfig,"],["impl Debug for Sign"],["impl<C> Debug for ExpExtension<C>where\n C: FoldingConfig,"]], -"ivc":[["impl Debug for IVCColumn"],["impl Debug for PlonkishChallengeIter"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Debug for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Debug + FftField> Debug for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<Ff: Debug> Debug for IVCLookupTable<Ff>"],["impl<G: Debug + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Debug,"]], +"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, F: Debug + Field, Evals: Debug> Debug for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl Debug for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Debug for PlonkishChallengeIter"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Debug for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Debug for PlonkishChallenge"],["impl<Ff: Debug> Debug for IVCLookupTable<Ff>"],["impl<G: Debug + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G::ScalarField: Debug,"]], "kimchi":[["impl<Var: Debug> Debug for EcAddCompleteInput<Var>"],["impl Debug for CurrOrNext"],["impl<F: Debug, Column: Debug> Debug for PolishToken<F, Column>"],["impl Debug for RuntimeTableSpec"],["impl<G: Debug + AffineCurve> Debug for LookupCommitments<G>"],["impl<A: Debug> Debug for EndoscaleScalarRound<A>"],["impl Debug for SetupError"],["impl<F: Debug + FftField> Debug for DomainConstantEvaluations<F>"],["impl<G: Debug + AffineCurve> Debug for ProverCommitments<G>"],["impl<Field> Debug for SnarkyConstraintSystem<Field>where\n Field: PrimeField + Debug,"],["impl Debug for FeatureFlag"],["impl<F: Debug> Debug for RuntimeTable<F>"],["impl<F: Debug + PrimeField> Debug for CircuitGate<F>"],["impl Debug for DomainCreationError"],["impl<F: Debug> Debug for LookupConfiguration<F>"],["impl Debug for RowOffset"],["impl<C: Debug, Column: Debug> Debug for ExprInner<C, Column>"],["impl Debug for LookupPatternIter"],["impl<F: Debug + FftField> Debug for EvaluationDomains<F>"],["impl<F: Debug> Debug for Witness<F>"],["impl<F: Debug + PrimeField> Debug for Boolean<F>"],["impl<G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for VerifierIndex<G, OpeningProof>where\n G::ScalarField: Debug,\n OpeningProof::SRS: Debug,"],["impl<Var: Debug, Field: Debug> Debug for BasicInput<Var, Field>"],["impl Debug for ProverError"],["impl Debug for CamlTraces"],["impl<E: Debug, Column: Debug> Debug for Linearization<E, Column>"],["impl Debug for GateLookupTable"],["impl Debug for GateLookupTables"],["impl<G: Debug> Debug for TestSRS<G>"],["impl<T: Debug> Debug for DisjointSet<T>"],["impl<F: Debug + PrimeField> Debug for ConstraintSystem<F>"],["impl Debug for LookupInfo"],["impl Debug for FeatureFlags"],["impl<Evals: Debug> Debug for PointEvaluations<Evals>"],["impl<F> Debug for RunState<F>where\n F: PrimeField + Debug,"],["impl<Var: Debug, Field: Debug> Debug for KimchiConstraint<Var, Field>"],["impl Debug for LookupError"],["impl<F: Debug + FftField> Debug for LookupConstraintSystem<F>"],["impl Debug for RotMode"],["impl Debug for RealSnarkyError"],["impl<F: Debug + Field> Debug for Constants<F>"],["impl Debug for SnarkyCompilationError"],["impl<F: Debug + PrimeField> Debug for Constraint<F>"],["impl<G: Debug + AffineCurve, OpeningProof: Debug> Debug for ProverProof<G, OpeningProof>where\n G::ScalarField: Debug,"],["impl Debug for Wire"],["impl Debug for GateType"],["impl Debug for VerifyError"],["impl<Var: Debug> Debug for EcEndoscaleInput<Var>"],["impl<Var: Debug> Debug for PoseidonInput<Var>"],["impl<G> Debug for RecursionChallenge<G>where\n G: AffineCurve + Debug,\n G::ScalarField: Debug,"],["impl Debug for GateError"],["impl Debug for ChallengeTerm"],["impl Debug for VerifierIndexError"],["impl<F: Debug> Debug for ForeignElement<F>"],["impl<Column: Debug> Debug for ExprError<Column>"],["impl<I, T> Debug for MustConsumeIterator<I, T>where\n I: Iterator<Item = T> + Debug,\n T: Display + Debug,"],["impl<SingleLookup: Debug, LookupTableID: Debug> Debug for JointLookup<SingleLookup, LookupTableID>"],["impl Debug for Traces"],["impl<A: Debug> Debug for EndoscaleRound<A>"],["impl<F: Debug> Debug for FullChallenge<F>"],["impl<G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>> Debug for ProverIndex<G, OpeningProof>where\n G::ScalarField: Debug,\n OpeningProof::SRS: Debug,\n G::BaseField: Debug,"],["impl<F: Debug + PrimeField> Debug for ColumnEvaluations<F>"],["impl Debug for ArgumentType"],["impl<T: Debug> Debug for Operations<T>"],["impl<T: Debug> Debug for LookupSelectors<T>"],["impl Debug for LookupPatterns"],["impl Debug for CacheId"],["impl<F: Debug> Debug for Alphas<F>"],["impl<F: Debug> Debug for RuntimeTableCfg<F>"],["impl Debug for LookupFeatures"],["impl<Evals: Debug> Debug for ProofEvaluations<Evals>"],["impl<F: Debug> Debug for ConstantTerm<F>"],["impl Debug for FFOps"],["impl<A: Debug> Debug for ScaleRound<A>"],["impl Debug for Domain"],["impl Debug for LookupTableID"],["impl<F: Debug + Field> Debug for RandomOracles<F>"],["impl<F: Debug + PrimeField> Debug for EvaluatedColumnCoefficients<F>"],["impl Debug for SnarkyError"],["impl Debug for LocalPosition"],["impl Debug for CircuitGateError"],["impl<F: Debug> Debug for LookupTable<F>"],["impl<G: Debug + CommitmentCurve> Debug for LookupVerifierIndex<G>"],["impl<F: Debug> Debug for ConstantExprInner<F>"],["impl<F> Debug for FieldVar<F>where\n F: PrimeField + Debug,"],["impl<Column: Debug> Debug for Variable<Column>"],["impl Debug for Column"],["impl Debug for SnarkyRuntimeError"],["impl<Var: Debug> Debug for BasicSnarkyConstraint<Var>"],["impl Debug for LookupPattern"]], -"kimchi_msm":[["impl Debug for FECColumnOutput"],["impl Debug for Column"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LookupTable<F, ID>"],["impl Debug for LookupTableIDs"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug, ID: Debug + LookupTableID> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl Debug for FFAColumn"],["impl Debug for TestColumn"],["impl<T: Debug> Debug for IdMPrism<T>"],["impl Debug for FECColumn"],["impl<const N_WIT: usize, F: Debug + PrimeField, ID: Debug + LookupTableID> Debug for ProofInputs<N_WIT, F, ID>"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>, ID: Debug + LookupTableID> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Debug,"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl<Pair: Debug + PairingEngine> Debug for TestPairingSRS<Pair>where\n Pair::G1Affine: Debug,\n Pair::G2Affine: Debug,"],["impl<Ff: Debug> Debug for LookupTable<Ff>"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for Logup<F, ID>"],["impl<Ff: Debug> Debug for LookupTable<Ff>"],["impl Debug for ProverError"],["impl Debug for DummyLookupTable"],["impl Debug for LookupTable"],["impl<const N_WIT: usize, T: Debug> Debug for Witness<N_WIT, T>"],["impl<const N_WIT: usize, G: Debug + KimchiCurve, ID: Debug + LookupTableID> Debug for ProofCommitments<N_WIT, G, ID>"],["impl Debug for FECColumnInter"],["impl Debug for FECColumnInput"],["impl Debug for LookupTableIter"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LogupWitness<F, ID>"],["impl<T: Debug, ID: Debug> Debug for LookupProof<T, ID>"],["impl Debug for SerializationColumn"]], +"kimchi_msm":[["impl Debug for FECColumnOutput"],["impl Debug for Column"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LookupTable<F, ID>"],["impl Debug for LookupTableIDs"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug, ID: Debug + LookupTableID> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl Debug for FFAColumn"],["impl Debug for TestColumn"],["impl<T: Debug> Debug for IdMPrism<T>"],["impl Debug for FECColumn"],["impl<const N_WIT: usize, F: Debug + PrimeField, ID: Debug + LookupTableID> Debug for ProofInputs<N_WIT, F, ID>"],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>, ID: Debug + LookupTableID> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G::ScalarField: Debug,"],["impl<Ff> Debug for LookupTableIter<Ff>"],["impl<Pair: Debug + PairingEngine> Debug for TestPairingSRS<Pair>where\n Pair::G1Affine: Debug,\n Pair::G2Affine: Debug,"],["impl<Ff: Debug> Debug for LookupTable<Ff>"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for Logup<F, ID>"],["impl<Ff: Debug> Debug for LookupTable<Ff>"],["impl Debug for ProverError"],["impl Debug for DummyLookupTable"],["impl Debug for LookupTable"],["impl<const N_WIT: usize, T: Debug> Debug for Witness<N_WIT, T>"],["impl<const N_WIT: usize, G: Debug + KimchiCurve, ID: Debug + LookupTableID> Debug for ProofCommitments<N_WIT, G, ID>"],["impl Debug for FECColumnInter"],["impl Debug for FECColumnInput"],["impl Debug for LookupTableIter"],["impl<F: Debug, ID: Debug + LookupTableID> Debug for LogupWitness<F, ID>"],["impl<T: Debug, ID: Debug> Debug for LookupProof<T, ID>"],["impl Debug for SerializationColumn"]], "kimchi_visu":[["impl<F> Debug for Witness<F>where\n F: Field + Debug,"]], "mina_curves":[["impl Debug for PallasParameters"],["impl Debug for VestaParameters"]], "mina_hasher":[["impl Debug for ROInput"]], diff --git a/rustdoc/implementors/core/hash/trait.Hash.js b/rustdoc/implementors/core/hash/trait.Hash.js index 19551c23d8..74818b6bf0 100644 --- a/rustdoc/implementors/core/hash/trait.Hash.js +++ b/rustdoc/implementors/core/hash/trait.Hash.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[["impl<G, Col, Chall, I, W, Sel, Str> Hash for StandardConfig<G, Col, Chall, I, W, Sel, Str>"],["impl Hash for Column"],["impl Hash for Degree"],["impl<C> Hash for FoldingExp<C>where\n C: FoldingConfig,"],["impl<C> Hash for ExtendedFoldingColumn<C>where\n C: FoldingConfig,"]], -"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, F: Hash + FftField> Hash for PlonkishWitness<N_COL, N_FSEL, F>"],["impl Hash for PlonkishChallenge"],["impl<Ff: Hash> Hash for IVCLookupTable<Ff>"]], +"ivc":[["impl Hash for PlonkishChallenge"],["impl<Ff: Hash> Hash for IVCLookupTable<Ff>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Hash + Field, Evals: Hash> Hash for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi":[["impl<Column: Hash> Hash for Variable<Column>"],["impl<T: Hash> Hash for Operations<T>"],["impl Hash for GateType"],["impl Hash for FeatureFlag"],["impl Hash for Column"],["impl Hash for GateLookupTables"],["impl Hash for ArgumentType"],["impl Hash for GateLookupTable"],["impl Hash for CacheId"],["impl Hash for CurrOrNext"],["impl Hash for LookupPattern"]], "kimchi_msm":[["impl Hash for LookupTable"],["impl<Ff: Hash> Hash for LookupTable<Ff>"],["impl Hash for LookupTableIDs"],["impl Hash for DummyLookupTable"],["impl Hash for Column"],["impl<const N_WIT: usize, T: Hash> Hash for Witness<N_WIT, T>"],["impl<Ff: Hash> Hash for LookupTable<Ff>"]], "o1vm":[["impl Hash for Sponges"],["impl Hash for Absorbs"],["impl Hash for Challenge"],["impl Hash for KeccakConfig"],["impl Hash for RTypeInstruction"],["impl Hash for ColumnAlias"],["impl<const N: usize, F: Hash + FftField> Hash for FoldingWitness<N, F>"],["impl Hash for ITypeInstruction"],["impl Hash for ColumnAlias"],["impl Hash for DecomposableMIPSFoldingConfig"],["impl Hash for Instruction"],["impl Hash for Steps"],["impl Hash for JTypeInstruction"],["impl Hash for LookupTableIDs"]] diff --git a/rustdoc/implementors/core/marker/trait.Copy.js b/rustdoc/implementors/core/marker/trait.Copy.js index ee0023a2ff..742ec28d8d 100644 --- a/rustdoc/implementors/core/marker/trait.Copy.js +++ b/rustdoc/implementors/core/marker/trait.Copy.js @@ -1,7 +1,7 @@ (function() {var implementors = { "folding":[["impl Copy for Degree"],["impl Copy for Side"],["impl Copy for Column"],["impl Copy for Sign"]], "groupmap":[["impl<G: Copy + SWModelParameters> Copy for BWParameters<G>where\n G::BaseField: Copy,"]], -"ivc":[["impl<Ff: Copy> Copy for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl Copy for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl Copy for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], +"ivc":[["impl Copy for PlonkishChallenge"],["impl<Ff: Copy> Copy for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl Copy for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Copy for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], "kimchi":[["impl Copy for ChallengeTerm"],["impl Copy for RotMode"],["impl Copy for ArgumentType"],["impl Copy for Domain"],["impl Copy for LookupInfo"],["impl Copy for Column"],["impl Copy for FFOps"],["impl Copy for ProverError"],["impl Copy for GateLookupTables"],["impl Copy for RowOffset"],["impl Copy for CacheId"],["impl Copy for GateLookupTable"],["impl Copy for LookupPatterns"],["impl Copy for FeatureFlag"],["impl<Column: Copy> Copy for Variable<Column>"],["impl Copy for CurrOrNext"],["impl Copy for LookupFeatures"],["impl<F: Copy> Copy for ConstantTerm<F>"],["impl Copy for LookupPattern"],["impl Copy for GateType"],["impl Copy for CircuitGateError"],["impl Copy for Wire"],["impl Copy for LocalPosition"],["impl<F: Copy + FftField> Copy for EvaluationDomains<F>"],["impl Copy for VerifyError"],["impl<Evals: Copy> Copy for PointEvaluations<Evals>"],["impl Copy for FeatureFlags"],["impl Copy for StoredSRSType"]], "kimchi_msm":[["impl Copy for TestColumn"],["impl Copy for FECColumnInter"],["impl Copy for DummyLookupTable"],["impl Copy for FECColumnOutput"],["impl Copy for FECColumnInput"],["impl Copy for FFAColumn"],["impl<Ff: Copy> Copy for LookupTable<Ff>"],["impl Copy for SerializationColumn"],["impl Copy for Column"],["impl<Ff: Copy> Copy for LookupTable<Ff>"],["impl Copy for LookupTableIDs"],["impl<T: Copy> Copy for IdMPrism<T>"],["impl Copy for FECColumn"],["impl Copy for LookupTable"]], "mina_curves":[["impl Copy for LegacyVestaParameters"],["impl Copy for LegacyPallasParameters"]], diff --git a/rustdoc/implementors/core/marker/trait.Freeze.js b/rustdoc/implementors/core/marker/trait.Freeze.js index 23eebc08d8..b1a67764cf 100644 --- a/rustdoc/implementors/core/marker/trait.Freeze.js +++ b/rustdoc/implementors/core/marker/trait.Freeze.js @@ -3,7 +3,7 @@ "folding":[["impl<C> Freeze for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: Freeze,\n <C as FoldingConfig>::Column: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> Freeze for DecomposableFoldingScheme<'a, CF>where\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <CF as FoldingConfig>::Structure: Freeze,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl Freeze for Side",1,["folding::error_term::Side"]],["impl<'a, F> Freeze for EvalLeaf<'a, F>where\n F: Freeze,",1,["folding::eval_leaf::EvalLeaf"]],["impl Freeze for Degree",1,["folding::expressions::Degree"]],["impl<C> Freeze for ExpExtension<C>where\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::expressions::ExpExtension"]],["impl<C> Freeze for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: Freeze,\n <C as FoldingConfig>::Column: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> Freeze for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: Freeze,\n <C as FoldingConfig>::Column: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> Freeze for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: Freeze,\n <C as FoldingConfig>::Column: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::expressions::FoldingExp"]],["impl Freeze for Sign",1,["folding::expressions::Sign"]],["impl<C> Freeze for Term<C>where\n <C as FoldingConfig>::Challenge: Freeze,\n <C as FoldingConfig>::Column: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Selector: Freeze,",1,["folding::expressions::Term"]],["impl<C> Freeze for IntegratedFoldingExpr<C>",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> Freeze for ExtendedWitness<G, W>where\n W: Freeze,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> Freeze for ExtendedInstance<G, I>where\n I: Freeze,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> Freeze for RelaxedInstance<G, I>where\n I: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> Freeze for RelaxedWitness<G, W>where\n W: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> Freeze for Quadraticized<C>",1,["folding::quadraticization::Quadraticized"]],["impl<C> Freeze for ExtendedWitnessGenerator<C>",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> Freeze for EmptyStructure<G>",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> Freeze for StandardConfig<G, Col, Chall, I, W, Sel, Str>",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> !Freeze for Env<G, Col, Chall, Sel, Str, I, W>",1,["folding::standard_config::Env"]],["impl Freeze for Column",1,["folding::checker::Column"]],["impl<C> Freeze for Provider<C>where\n <C as FoldingConfig>::Instance: Freeze,\n <C as FoldingConfig>::Witness: Freeze,",1,["folding::checker::Provider"]],["impl<C> Freeze for ExtendedProvider<C>where\n <C as FoldingConfig>::Instance: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Witness: Freeze,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> Freeze for FoldingScheme<'a, CF>where\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <CF as FoldingConfig>::Structure: Freeze,",1,["folding::FoldingScheme"]],["impl<C> Freeze for FoldingOutput<C>where\n <C as FoldingConfig>::Instance: Freeze,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Freeze,\n <C as FoldingConfig>::Witness: Freeze,",1,["folding::FoldingOutput"]],["impl<F> Freeze for Alphas<F>where\n F: Freeze,",1,["folding::Alphas"]]], "groupmap":[["impl<G> Freeze for BWParameters<G>where\n <G as ModelParameters>::BaseField: Freeze,",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl Freeze for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> Freeze for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: Freeze,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Freeze for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Freeze for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Freeze for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Freeze for ScalarLimbs<F>where\n F: Freeze,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Freeze for IVCLookupTable<Ff>",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Freeze for IVCFECLookupLens<Ff>",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> Freeze for PlonkishWitness<N_COL, N_FSEL, F>",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Freeze for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Freeze for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Freeze for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Freeze for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Freeze for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Freeze for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> Freeze for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: Freeze,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Freeze for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Freeze for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Freeze for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Freeze for ScalarLimbs<F>where\n F: Freeze,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Freeze for IVCLookupTable<Ff>",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Freeze for IVCFECLookupLens<Ff>",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Freeze for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Freeze for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Freeze for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Freeze for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Freeze for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Freeze for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Freeze for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Freeze for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> Freeze for Alphas<F>",1,["kimchi::alphas::Alphas"]],["impl<I, T> Freeze for MustConsumeIterator<I, T>where\n I: Freeze,",1,["kimchi::alphas::MustConsumeIterator"]],["impl !Freeze for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl Freeze for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> Freeze for ArgumentEnv<F, T>where\n F: Freeze,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> Freeze for ArgumentData<F>where\n F: Freeze,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> Freeze for ArgumentWitness<T>where\n T: Freeze,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl Freeze for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> Freeze for LookupEnvironment<'a, F>",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> Freeze for Environment<'a, F>where\n F: Freeze,",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl Freeze for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> Freeze for EvaluatedColumnCoefficients<F>",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> Freeze for ColumnEvaluations<F>where\n F: Freeze,",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> !Freeze for ConstraintSystem<F>",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl Freeze for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> Freeze for Builder<F>",1,["kimchi::circuits::constraints::Builder"]],["impl<F> Freeze for DomainConstantEvaluations<F>where\n F: Freeze,",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> Freeze for EvaluationDomains<F>where\n F: Freeze,",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> Freeze for ExprError<Column>where\n Column: Freeze,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> Freeze for Challenges<F>where\n F: Freeze,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> Freeze for Constants<F>where\n F: Freeze,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> Freeze for Variable<Column>where\n Column: Freeze,",1,["kimchi::circuits::expr::Variable"]],["impl Freeze for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> Freeze for ConstantTerm<F>where\n F: Freeze,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> Freeze for ConstantExprInner<F>where\n F: Freeze,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> Freeze for Operations<T>where\n T: Freeze,",1,["kimchi::circuits::expr::Operations"]],["impl Freeze for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl Freeze for Cache",1,["kimchi::circuits::expr::Cache"]],["impl Freeze for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl Freeze for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> Freeze for ExprInner<C, Column>where\n C: Freeze,\n Column: Freeze,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> Freeze for PolishToken<F, Column>where\n Column: Freeze,\n F: Freeze,",1,["kimchi::circuits::expr::PolishToken"]],["impl Freeze for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> Freeze for Linearization<E, Column>where\n E: Freeze,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> Freeze for CamlCircuitGate<F>",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl Freeze for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl Freeze for GateType",1,["kimchi::circuits::gate::GateType"]],["impl Freeze for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> Freeze for CircuitGate<F>",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> Freeze for Circuit<'a, F>",1,["kimchi::circuits::gate::Circuit"]],["impl<F> Freeze for LookupConfiguration<F>where\n F: Freeze,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl Freeze for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> Freeze for LookupSelectors<T>where\n T: Freeze,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> Freeze for LookupConstraintSystem<F>where\n F: Freeze,",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl Freeze for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl Freeze for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl Freeze for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl Freeze for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> Freeze for SingleLookup<F>",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl Freeze for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> Freeze for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: Freeze,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl Freeze for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl Freeze for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> Freeze for CamlRuntimeTable<CamlF>",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl Freeze for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> Freeze for CamlRuntimeTableCfg<CamlF>",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl Freeze for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> Freeze for RuntimeTableCfg<F>",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> Freeze for RuntimeTable<F>",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> Freeze for CamlLookupTable<CamlF>",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl Freeze for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl Freeze for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> Freeze for LookupTable<F>",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> Freeze for WitnessEvals<F>where\n F: Freeze,",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> Freeze for WitnessShifts<F>where\n F: Freeze,",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> Freeze for WitnessOverDomains<F>where\n F: Freeze,",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> Freeze for LookupEvals<F>where\n F: Freeze,",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> Freeze for LookupShifts<F>where\n F: Freeze,",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> Freeze for LookupPolys<F>",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> Freeze for CompleteAdd<F>",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> Freeze for EndomulScalar<F>",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> Freeze for EndosclMul<F>",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> Freeze for EndoMulResult<F>where\n F: Freeze,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> Freeze for ForeignFieldAdd<F>",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl Freeze for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> Freeze for ForeignFieldMul<F>",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> Freeze for ExternalChecks<F>",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> Freeze for Generic<F>",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> Freeze for GenericGateSpec<F>where\n F: Freeze,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> Freeze for KeccakRound<F>",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> Freeze for KeccakSponge<F>",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl Freeze for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl Freeze for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl Freeze for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl Freeze for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl Freeze for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl Freeze for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> Freeze for Shifts<F>where\n F: Freeze,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> Freeze for Poseidon<F>",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> Freeze for RangeCheck0<F>",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> Freeze for RangeCheck1<F>",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl Freeze for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> Freeze for Rot64<F>",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> Freeze for Claim<F>",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> Freeze for Instruction<F>",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> Freeze for Flags<F>",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> Freeze for Transition<F>",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> Freeze for Layout<T>where\n T: Freeze,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> Freeze for VarbaseMulResult<F>where\n F: Freeze,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> Freeze for VarbaseMul<F>",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> Freeze for Xor16<F>",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> Freeze for CamlRandomOracles<CamlF>where\n CamlF: Freeze,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> Freeze for RandomOracles<F>where\n F: Freeze,",1,["kimchi::circuits::scalars::RandomOracles"]],["impl Freeze for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl Freeze for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> Freeze for ConstantCell<F>where\n F: Freeze,",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl Freeze for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl Freeze for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl Freeze for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> Freeze for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> Freeze for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> Freeze for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> Freeze for Variables<'a, T>",1,["kimchi::circuits::witness::variables::Variables"]],["impl Freeze for ProverError",1,["kimchi::error::ProverError"]],["impl Freeze for VerifyError",1,["kimchi::error::VerifyError"]],["impl Freeze for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl Freeze for SetupError",1,["kimchi::error::SetupError"]],["impl Freeze for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> Freeze for LagrangeBasisEvaluations<F>",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> Freeze for CamlOracles<CamlF>where\n CamlF: Freeze,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> Freeze for OraclesResult<G, EFqSponge>where\n EFqSponge: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["kimchi::oracles::OraclesResult"]],["impl Freeze for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> Freeze for TestSRS<G>where\n G: Freeze,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> Freeze for CamlRecursionChallenge<CamlG, CamlF>where\n CamlG: Freeze,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> Freeze for CamlProofEvaluations<CamlF>",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> Freeze for PointEvaluations<Evals>where\n Evals: Freeze,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> Freeze for ProofEvaluations<Evals>where\n Evals: Freeze,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> Freeze for LookupCommitments<G>",1,["kimchi::proof::LookupCommitments"]],["impl<G> Freeze for ProverCommitments<G>",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> Freeze for ProverProof<G, OpeningProof>where\n OpeningProof: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["kimchi::proof::ProverProof"]],["impl<G> Freeze for RecursionChallenge<G>",1,["kimchi::proof::RecursionChallenge"]],["impl Freeze for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl Freeze for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> Freeze for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: Freeze,\n CamlG: Freeze,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> Freeze for CamlProverProof<CamlG, CamlF>where\n CamlF: Freeze,\n CamlG: Freeze,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> Freeze for CamlLookupCommitments<CamlG>where\n CamlG: Freeze,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> Freeze for CamlProverCommitments<CamlG>where\n CamlG: Freeze,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> !Freeze for ProverIndex<G, OpeningProof>",1,["kimchi::prover_index::ProverIndex"]],["impl<F> Freeze for Witness<F>",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> !Freeze for ProverIndexWrapper<Circuit>",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> !Freeze for VerifierIndexWrapper<Circuit>",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> Freeze for CompiledCircuit<Circuit>where\n Circuit: Freeze,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: Freeze,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> Freeze for OrderedHashSet<T>",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> Freeze for Boolean<F>where\n F: Freeze,",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> Freeze for Constants<F>where\n F: Freeze,",1,["kimchi::snarky::constants::Constants"]],["impl<A> Freeze for ScaleRound<A>where\n A: Freeze,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> Freeze for EndoscaleRound<A>where\n A: Freeze,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> Freeze for EndoscaleScalarRound<A>where\n A: Freeze,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> Freeze for BasicSnarkyConstraint<Var>where\n Var: Freeze,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> Freeze for BasicInput<Var, Field>where\n Field: Freeze,\n Var: Freeze,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> Freeze for PoseidonInput<Var>",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> Freeze for EcAddCompleteInput<Var>where\n Var: Freeze,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> Freeze for EcEndoscaleInput<Var>where\n Var: Freeze,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> Freeze for KimchiConstraint<Var, Field>where\n Field: Freeze,\n Var: Freeze,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> Freeze for SnarkyConstraintSystem<Field>where\n Field: Freeze,",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> Freeze for FieldVar<F>where\n F: Freeze,",1,["kimchi::snarky::cvar::FieldVar"]],["impl !Freeze for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl Freeze for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl Freeze for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl Freeze for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> Freeze for ForeignElement<F>where\n F: Freeze,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> Freeze for FullChallenge<F>where\n F: Freeze,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> Freeze for Private<F, N>where\n F: Freeze,",1,["kimchi::snarky::folding::Private"]],["impl<F> Freeze for DuplexState<F>where\n F: Freeze,",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> Freeze for Constraint<F>where\n F: Freeze,",1,["kimchi::snarky::runner::Constraint"]],["impl<F> Freeze for RunState<F>where\n F: Freeze,",1,["kimchi::snarky::runner::RunState"]],["impl<T> Freeze for DisjointSet<T>",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> Freeze for Context<'a, G, OpeningProof>",1,["kimchi::verifier::Context"]],["impl<G> Freeze for LookupVerifierIndex<G>",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> !Freeze for VerifierIndex<G, OpeningProof>",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> Freeze for IdMPrism<T>",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> Freeze for ComposedMPrism<LHS, RHS>where\n LHS: Freeze,\n RHS: Freeze,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> Freeze for SubEnvColumn<'a, F, CIx1, Env1, L>where\n L: Freeze,",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> Freeze for SubEnvLookup<'a, F, CIx1, Env1, L>where\n L: Freeze,",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> Freeze for ConstraintBuilderEnv<F, LT>",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> Freeze for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Freeze for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Freeze,",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl Freeze for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> Freeze for QuotientPolynomialEnvironment<'a, F, ID>",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> Freeze for Env<G, ID>where\n <G as AffineCurve>::ScalarField: Freeze,",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> Freeze for Logup<F, ID>where\n F: Freeze,\n ID: Freeze,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> Freeze for LookupTable<F, ID>where\n ID: Freeze,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> Freeze for LogupWitness<F, ID>where\n ID: Freeze,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> Freeze for LookupProof<T, ID>where\n T: Freeze,",1,["kimchi_msm::logup::LookupProof"]],["impl Freeze for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl Freeze for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> Freeze for TestPairingSRS<Pair>where\n <Pair as PairingEngine>::G1Affine: Freeze,\n <Pair as PairingEngine>::G2Affine: Freeze,",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> Freeze for ProofInputs<N_WIT, F, ID>",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Freeze for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Freeze,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> Freeze for ProofCommitments<N_WIT, G, ID>",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> Freeze for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n OpeningProof: Freeze,\n <G as AffineCurve>::ScalarField: Freeze,",1,["kimchi_msm::proof::Proof"]],["impl Freeze for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> Freeze for Witness<N_WIT, T>",1,["kimchi_msm::witness::Witness"]],["impl Freeze for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl Freeze for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl Freeze for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl Freeze for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> Freeze for LookupTable<Ff>",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> Freeze for LookupTableIter<Ff>",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl Freeze for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl Freeze for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl Freeze for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl Freeze for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> Freeze for LookupTable<Ff>",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> Freeze for LookupTableIter<Ff>",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl Freeze for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> Freeze for Witness<F>",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/core/marker/trait.Send.js b/rustdoc/implementors/core/marker/trait.Send.js index be6907c2c0..4f338b32a4 100644 --- a/rustdoc/implementors/core/marker/trait.Send.js +++ b/rustdoc/implementors/core/marker/trait.Send.js @@ -3,7 +3,7 @@ "folding":[["impl<C> Send for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> Send for DecomposableFoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Send,\n <CF as FoldingConfig>::Column: Send,\n <CF as FoldingConfig>::Selector: Send,\n <CF as FoldingConfig>::Srs: Sync,\n <CF as FoldingConfig>::Structure: Send,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl Send for Side",1,["folding::error_term::Side"]],["impl<'a, F> Send for EvalLeaf<'a, F>where\n F: Send + Sync,",1,["folding::eval_leaf::EvalLeaf"]],["impl Send for Degree",1,["folding::expressions::Degree"]],["impl<C> Send for ExpExtension<C>where\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::ExpExtension"]],["impl<C> Send for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> Send for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> Send for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::FoldingExp"]],["impl Send for Sign",1,["folding::expressions::Sign"]],["impl<C> Send for Term<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::Term"]],["impl<C> Send for IntegratedFoldingExpr<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> Send for ExtendedWitness<G, W>where\n W: Send,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> Send for ExtendedInstance<G, I>where\n I: Send,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> Send for RelaxedInstance<G, I>where\n I: Send,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> Send for RelaxedWitness<G, W>where\n W: Send,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> Send for Quadraticized<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::quadraticization::Quadraticized"]],["impl<C> Send for ExtendedWitnessGenerator<C>where\n <C as FoldingConfig>::Challenge: Send,\n <C as FoldingConfig>::Column: Send,\n <C as FoldingConfig>::Selector: Send,",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> Send for EmptyStructure<G>",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> Send for StandardConfig<G, Col, Chall, I, W, Sel, Str>where\n Chall: Send,\n Col: Send,\n G: Send,\n I: Send,\n Sel: Send,\n Str: Send,\n W: Send,",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> Send for Env<G, Col, Chall, Sel, Str, I, W>where\n Chall: Send,\n Col: Send,\n I: Send,\n Sel: Send,\n Str: Send,\n W: Send,",1,["folding::standard_config::Env"]],["impl Send for Column",1,["folding::checker::Column"]],["impl<C> Send for Provider<C>where\n <C as FoldingConfig>::Instance: Send,\n <C as FoldingConfig>::Witness: Send,",1,["folding::checker::Provider"]],["impl<C> Send for ExtendedProvider<C>where\n <C as FoldingConfig>::Instance: Send,\n <C as FoldingConfig>::Witness: Send,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> Send for FoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Send,\n <CF as FoldingConfig>::Column: Send,\n <CF as FoldingConfig>::Selector: Send,\n <CF as FoldingConfig>::Srs: Sync,\n <CF as FoldingConfig>::Structure: Send,",1,["folding::FoldingScheme"]],["impl<C> Send for FoldingOutput<C>where\n <C as FoldingConfig>::Instance: Send,\n <C as FoldingConfig>::Witness: Send,",1,["folding::FoldingOutput"]],["impl<F> !Send for Alphas<F>",1,["folding::Alphas"]]], "groupmap":[["impl<G> Send for BWParameters<G>",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl Send for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> !Send for SimpleEvalEnv<Curve, N_COL, N_FSEL>",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Send for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Send for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Send for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Send for ScalarLimbs<F>where\n F: Send,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Send for IVCLookupTable<Ff>where\n Ff: Send,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Send for IVCFECLookupLens<Ff>where\n Ff: Send,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> Send for PlonkishWitness<N_COL, N_FSEL, F>",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Send for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Send for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Send for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Send for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Send for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Send for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> !Send for SimpleEvalEnv<Curve, N_COL, N_FSEL>",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Send for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Send for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Send for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Send for ScalarLimbs<F>where\n F: Send,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Send for IVCLookupTable<Ff>where\n Ff: Send,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Send for IVCFECLookupLens<Ff>where\n Ff: Send,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Send for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where\n Evals: Send,",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Send for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Send for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Send for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Send for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Send for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Send for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Send for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> Send for Alphas<F>where\n F: Send,",1,["kimchi::alphas::Alphas"]],["impl<I, T> Send for MustConsumeIterator<I, T>where\n I: Send,",1,["kimchi::alphas::MustConsumeIterator"]],["impl Send for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl Send for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> Send for ArgumentEnv<F, T>where\n F: Send + Sync,\n T: Send,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> Send for ArgumentData<F>where\n F: Send + Sync,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> Send for ArgumentWitness<T>where\n T: Send,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl Send for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> Send for LookupEnvironment<'a, F>",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> Send for Environment<'a, F>",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl Send for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> Send for EvaluatedColumnCoefficients<F>",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> Send for ColumnEvaluations<F>",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> Send for ConstraintSystem<F>",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl Send for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> Send for Builder<F>",1,["kimchi::circuits::constraints::Builder"]],["impl<F> Send for DomainConstantEvaluations<F>",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> Send for EvaluationDomains<F>",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> Send for ExprError<Column>where\n Column: Send,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> Send for Challenges<F>where\n F: Send,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> Send for Constants<F>where\n F: Send + Sync,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> Send for Variable<Column>where\n Column: Send,",1,["kimchi::circuits::expr::Variable"]],["impl Send for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> Send for ConstantTerm<F>where\n F: Send,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> Send for ConstantExprInner<F>where\n F: Send,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> Send for Operations<T>where\n T: Send,",1,["kimchi::circuits::expr::Operations"]],["impl Send for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl Send for Cache",1,["kimchi::circuits::expr::Cache"]],["impl Send for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl Send for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> Send for ExprInner<C, Column>where\n C: Send,\n Column: Send,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> Send for PolishToken<F, Column>where\n Column: Send,\n F: Send,",1,["kimchi::circuits::expr::PolishToken"]],["impl Send for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> Send for Linearization<E, Column>where\n Column: Send,\n E: Send,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> Send for CamlCircuitGate<F>where\n F: Send,",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl Send for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl Send for GateType",1,["kimchi::circuits::gate::GateType"]],["impl Send for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> Send for CircuitGate<F>",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> Send for Circuit<'a, F>",1,["kimchi::circuits::gate::Circuit"]],["impl<F> Send for LookupConfiguration<F>where\n F: Send,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl Send for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> Send for LookupSelectors<T>where\n T: Send,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> Send for LookupConstraintSystem<F>",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl Send for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl Send for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl Send for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl Send for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> Send for SingleLookup<F>where\n F: Send,",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl Send for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> Send for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: Send,\n SingleLookup: Send,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl Send for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl Send for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> Send for CamlRuntimeTable<CamlF>where\n CamlF: Send,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl Send for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> Send for CamlRuntimeTableCfg<CamlF>where\n CamlF: Send,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl Send for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> Send for RuntimeTableCfg<F>where\n F: Send,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> Send for RuntimeTable<F>where\n F: Send,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> Send for CamlLookupTable<CamlF>where\n CamlF: Send,",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl Send for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl Send for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> Send for LookupTable<F>where\n F: Send,",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> Send for WitnessEvals<F>",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> Send for WitnessShifts<F>",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> Send for WitnessOverDomains<F>",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> Send for LookupEvals<F>",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> Send for LookupShifts<F>",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> Send for LookupPolys<F>",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> Send for CompleteAdd<F>where\n F: Send,",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> Send for EndomulScalar<F>where\n F: Send,",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> Send for EndosclMul<F>where\n F: Send,",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> Send for EndoMulResult<F>where\n F: Send,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> Send for ForeignFieldAdd<F>where\n F: Send,",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl Send for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> Send for ForeignFieldMul<F>where\n F: Send,",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> Send for ExternalChecks<F>",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> Send for Generic<F>where\n F: Send,",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> Send for GenericGateSpec<F>where\n F: Send,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> Send for KeccakRound<F>where\n F: Send,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> Send for KeccakSponge<F>where\n F: Send,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl Send for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl Send for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl Send for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl Send for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl Send for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl Send for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> Send for Shifts<F>where\n F: Send,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> Send for Poseidon<F>where\n F: Send,",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> Send for RangeCheck0<F>where\n F: Send,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> Send for RangeCheck1<F>where\n F: Send,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl Send for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> Send for Rot64<F>where\n F: Send,",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> Send for Claim<F>where\n F: Send,",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> Send for Instruction<F>where\n F: Send,",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> Send for Flags<F>where\n F: Send,",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> Send for Transition<F>where\n F: Send,",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> Send for Layout<T>where\n T: Send,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> Send for VarbaseMulResult<F>where\n F: Send,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> Send for VarbaseMul<F>where\n F: Send,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> Send for Xor16<F>where\n F: Send,",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> Send for CamlRandomOracles<CamlF>where\n CamlF: Send,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> Send for RandomOracles<F>",1,["kimchi::circuits::scalars::RandomOracles"]],["impl Send for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl Send for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> Send for ConstantCell<F>",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl Send for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl Send for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl Send for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> Send for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> Send for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> Send for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> Send for Variables<'a, T>where\n T: Send,",1,["kimchi::circuits::witness::variables::Variables"]],["impl Send for ProverError",1,["kimchi::error::ProverError"]],["impl Send for VerifyError",1,["kimchi::error::VerifyError"]],["impl Send for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl Send for SetupError",1,["kimchi::error::SetupError"]],["impl Send for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> Send for LagrangeBasisEvaluations<F>where\n F: Send,",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> Send for CamlOracles<CamlF>where\n CamlF: Send,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> Send for OraclesResult<G, EFqSponge>where\n EFqSponge: Send,",1,["kimchi::oracles::OraclesResult"]],["impl Send for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> Send for TestSRS<G>where\n G: Send,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> Send for CamlRecursionChallenge<CamlG, CamlF>where\n CamlF: Send,\n CamlG: Send,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> Send for CamlProofEvaluations<CamlF>where\n CamlF: Send,",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> Send for PointEvaluations<Evals>where\n Evals: Send,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> Send for ProofEvaluations<Evals>where\n Evals: Send,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> Send for LookupCommitments<G>",1,["kimchi::proof::LookupCommitments"]],["impl<G> Send for ProverCommitments<G>",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> Send for ProverProof<G, OpeningProof>where\n OpeningProof: Send,",1,["kimchi::proof::ProverProof"]],["impl<G> Send for RecursionChallenge<G>",1,["kimchi::proof::RecursionChallenge"]],["impl Send for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl Send for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> Send for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: Send,\n CamlG: Send,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> Send for CamlProverProof<CamlG, CamlF>where\n CamlF: Send,\n CamlG: Send,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> Send for CamlLookupCommitments<CamlG>where\n CamlG: Send,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> Send for CamlProverCommitments<CamlG>where\n CamlG: Send,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> Send for ProverIndex<G, OpeningProof>where\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::prover_index::ProverIndex"]],["impl<F> Send for Witness<F>where\n F: Send,",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> Send for ProverIndexWrapper<Circuit>where\n Circuit: Send,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> Send for VerifierIndexWrapper<Circuit>where\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> Send for CompiledCircuit<Circuit>where\n Circuit: Send,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> Send for OrderedHashSet<T>where\n T: Send,",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> Send for Boolean<F>",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> Send for Constants<F>",1,["kimchi::snarky::constants::Constants"]],["impl<A> Send for ScaleRound<A>where\n A: Send,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> Send for EndoscaleRound<A>where\n A: Send,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> Send for EndoscaleScalarRound<A>where\n A: Send,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> Send for BasicSnarkyConstraint<Var>where\n Var: Send,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> Send for BasicInput<Var, Field>where\n Field: Send,\n Var: Send,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> Send for PoseidonInput<Var>where\n Var: Send,",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> Send for EcAddCompleteInput<Var>where\n Var: Send,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> Send for EcEndoscaleInput<Var>where\n Var: Send,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> Send for KimchiConstraint<Var, Field>where\n Field: Send,\n Var: Send,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> Send for SnarkyConstraintSystem<Field>",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> Send for FieldVar<F>",1,["kimchi::snarky::cvar::FieldVar"]],["impl Send for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl Send for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl Send for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl Send for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> Send for ForeignElement<F>where\n F: Send,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> Send for FullChallenge<F>where\n F: Send,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> Send for Private<F, N>where\n F: Send,",1,["kimchi::snarky::folding::Private"]],["impl<F> Send for DuplexState<F>",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> Send for Constraint<F>",1,["kimchi::snarky::runner::Constraint"]],["impl<F> Send for RunState<F>",1,["kimchi::snarky::runner::RunState"]],["impl<T> Send for DisjointSet<T>where\n T: Send,",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> Send for Context<'a, G, OpeningProof>where\n OpeningProof: Sync,\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::verifier::Context"]],["impl<G> Send for LookupVerifierIndex<G>",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> Send for VerifierIndex<G, OpeningProof>where\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> Send for IdMPrism<T>where\n T: Send,",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> Send for ComposedMPrism<LHS, RHS>where\n LHS: Send,\n RHS: Send,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> Send for SubEnvColumn<'a, F, CIx1, Env1, L>where\n CIx1: Send,\n Env1: Send,\n L: Send,",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> Send for SubEnvLookup<'a, F, CIx1, Env1, L>where\n CIx1: Send,\n Env1: Send,\n L: Send,",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> !Send for ConstraintBuilderEnv<F, LT>",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> !Send for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Send for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl Send for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> Send for QuotientPolynomialEnvironment<'a, F, ID>",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> Send for Env<G, ID>",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> Send for Logup<F, ID>where\n F: Send,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> Send for LookupTable<F, ID>where\n F: Send,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> Send for LogupWitness<F, ID>where\n F: Send,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> Send for LookupProof<T, ID>where\n ID: Send,\n T: Send,",1,["kimchi_msm::logup::LookupProof"]],["impl Send for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl Send for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> Send for TestPairingSRS<Pair>",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> Send for ProofInputs<N_WIT, F, ID>",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Send for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Send,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> Send for ProofCommitments<N_WIT, G, ID>",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> Send for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n OpeningProof: Send,",1,["kimchi_msm::proof::Proof"]],["impl Send for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> Send for Witness<N_WIT, T>where\n T: Send,",1,["kimchi_msm::witness::Witness"]],["impl Send for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl Send for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl Send for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl Send for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> Send for LookupTable<Ff>where\n Ff: Send,",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> Send for LookupTableIter<Ff>where\n Ff: Send,",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl Send for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl Send for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl Send for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl Send for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> Send for LookupTable<Ff>where\n Ff: Send,",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> Send for LookupTableIter<Ff>where\n Ff: Send,",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl Send for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> Send for Witness<F>",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/core/marker/trait.StructuralEq.js b/rustdoc/implementors/core/marker/trait.StructuralEq.js index 71ac161626..a558002454 100644 --- a/rustdoc/implementors/core/marker/trait.StructuralEq.js +++ b/rustdoc/implementors/core/marker/trait.StructuralEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[["impl StructuralEq for Column"],["impl StructuralEq for Degree"],["impl StructuralEq for Sign"]], -"ivc":[["impl StructuralEq for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<Ff> StructuralEq for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl StructuralEq for IVCColumn"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> StructuralEq for PlonkishWitness<N_COL, N_FSEL, F>"]], +"ivc":[["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> StructuralEq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"],["impl<Ff> StructuralEq for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl StructuralEq for IVCColumn"],["impl StructuralEq for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], "kimchi":[["impl StructuralEq for GateLookupTables"],["impl StructuralEq for LookupPatterns"],["impl StructuralEq for LookupPattern"],["impl StructuralEq for ArgumentType"],["impl StructuralEq for RotMode"],["impl StructuralEq for GateType"],["impl StructuralEq for FeatureFlag"],["impl StructuralEq for Wire"],["impl StructuralEq for GateLookupTable"],["impl StructuralEq for FFOps"],["impl<F, Column> StructuralEq for PolishToken<F, Column>"],["impl<F> StructuralEq for ConstantTerm<F>"],["impl StructuralEq for CacheId"],["impl StructuralEq for CurrOrNext"],["impl<Column> StructuralEq for Variable<Column>"],["impl StructuralEq for RowOffset"],["impl<T> StructuralEq for Operations<T>"],["impl StructuralEq for Column"],["impl StructuralEq for ChallengeTerm"],["impl StructuralEq for CircuitGateError"],["impl StructuralEq for StoredSRSType"],["impl StructuralEq for LookupFeatures"],["impl<G> StructuralEq for TestSRS<G>"]], "kimchi_msm":[["impl StructuralEq for FECColumnInter"],["impl StructuralEq for TestColumn"],["impl StructuralEq for Column"],["impl<const N_WIT: usize, F: PrimeField, ID: LookupTableID> StructuralEq for ProofInputs<N_WIT, F, ID>"],["impl StructuralEq for FECColumnOutput"],["impl<Ff> StructuralEq for LookupTable<Ff>"],["impl StructuralEq for DummyLookupTable"],["impl<F, ID: LookupTableID> StructuralEq for LogupWitness<F, ID>"],["impl<Pair: PairingEngine> StructuralEq for TestPairingSRS<Pair>"],["impl StructuralEq for FECColumn"],["impl StructuralEq for SerializationColumn"],["impl<Ff> StructuralEq for LookupTable<Ff>"],["impl<F, ID: LookupTableID> StructuralEq for Logup<F, ID>"],["impl<const N_WIT: usize, T> StructuralEq for Witness<N_WIT, T>"],["impl StructuralEq for FECColumnInput"],["impl StructuralEq for LookupTable"],["impl StructuralEq for FFAColumn"],["impl StructuralEq for LookupTableIDs"]], "mina_curves":[["impl StructuralEq for LegacyPallasParameters"],["impl StructuralEq for LegacyVestaParameters"],["impl StructuralEq for VestaParameters"],["impl StructuralEq for PallasParameters"]], diff --git a/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js b/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js index c54dc63503..17de2350d0 100644 --- a/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js +++ b/rustdoc/implementors/core/marker/trait.StructuralPartialEq.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[["impl StructuralPartialEq for Degree"],["impl StructuralPartialEq for Column"],["impl StructuralPartialEq for Sign"]], -"ivc":[["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl StructuralPartialEq for IVCColumn"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> StructuralPartialEq for PlonkishWitness<N_COL, N_FSEL, F>"],["impl StructuralPartialEq for PlonkishChallenge"],["impl<Ff> StructuralPartialEq for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"]], +"ivc":[["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl StructuralPartialEq for PlonkishChallenge"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>"],["impl StructuralPartialEq for IVCColumn"],["impl<Ff> StructuralPartialEq for IVCLookupTable<Ff>"],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> StructuralPartialEq for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> StructuralPartialEq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi":[["impl<F> StructuralPartialEq for ConstantExprInner<F>"],["impl StructuralPartialEq for Domain"],["impl StructuralPartialEq for CurrOrNext"],["impl StructuralPartialEq for FFOps"],["impl StructuralPartialEq for GateType"],["impl<C, Column> StructuralPartialEq for ExprInner<C, Column>"],["impl StructuralPartialEq for LookupPatterns"],["impl StructuralPartialEq for GateLookupTables"],["impl<F> StructuralPartialEq for ConstantTerm<F>"],["impl StructuralPartialEq for StoredSRSType"],["impl StructuralPartialEq for ArgumentType"],["impl StructuralPartialEq for GateLookupTable"],["impl StructuralPartialEq for LookupPattern"],["impl<T> StructuralPartialEq for Operations<T>"],["impl StructuralPartialEq for ChallengeTerm"],["impl StructuralPartialEq for CircuitGateError"],["impl<Column> StructuralPartialEq for Variable<Column>"],["impl StructuralPartialEq for RotMode"],["impl StructuralPartialEq for CacheId"],["impl StructuralPartialEq for LookupFeatures"],["impl StructuralPartialEq for FeatureFlag"],["impl StructuralPartialEq for Column"],["impl<F, Column> StructuralPartialEq for PolishToken<F, Column>"],["impl<G> StructuralPartialEq for TestSRS<G>"],["impl StructuralPartialEq for Wire"],["impl StructuralPartialEq for RowOffset"]], "kimchi_msm":[["impl StructuralPartialEq for LookupTable"],["impl<Pair: PairingEngine> StructuralPartialEq for TestPairingSRS<Pair>"],["impl<const N_WIT: usize, T> StructuralPartialEq for Witness<N_WIT, T>"],["impl StructuralPartialEq for FECColumnInter"],["impl StructuralPartialEq for FECColumn"],["impl StructuralPartialEq for SerializationColumn"],["impl StructuralPartialEq for DummyLookupTable"],["impl StructuralPartialEq for LookupTableIDs"],["impl<Ff> StructuralPartialEq for LookupTable<Ff>"],["impl StructuralPartialEq for FECColumnOutput"],["impl StructuralPartialEq for FFAColumn"],["impl<const N_WIT: usize, F: PrimeField, ID: LookupTableID> StructuralPartialEq for ProofInputs<N_WIT, F, ID>"],["impl<F, ID: LookupTableID> StructuralPartialEq for LogupWitness<F, ID>"],["impl StructuralPartialEq for Column"],["impl<Ff> StructuralPartialEq for LookupTable<Ff>"],["impl StructuralPartialEq for FECColumnInput"],["impl StructuralPartialEq for TestColumn"],["impl<F, ID: LookupTableID> StructuralPartialEq for Logup<F, ID>"]], "mina_curves":[["impl StructuralPartialEq for VestaParameters"],["impl StructuralPartialEq for LegacyVestaParameters"],["impl StructuralPartialEq for LegacyPallasParameters"],["impl StructuralPartialEq for PallasParameters"]], diff --git a/rustdoc/implementors/core/marker/trait.Sync.js b/rustdoc/implementors/core/marker/trait.Sync.js index 75a572df38..2a2505ebad 100644 --- a/rustdoc/implementors/core/marker/trait.Sync.js +++ b/rustdoc/implementors/core/marker/trait.Sync.js @@ -3,7 +3,7 @@ "folding":[["impl<C> Sync for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> Sync for DecomposableFoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Sync,\n <CF as FoldingConfig>::Column: Sync,\n <CF as FoldingConfig>::Selector: Sync,\n <CF as FoldingConfig>::Srs: Sync,\n <CF as FoldingConfig>::Structure: Sync,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl Sync for Side",1,["folding::error_term::Side"]],["impl<'a, F> Sync for EvalLeaf<'a, F>where\n F: Sync,",1,["folding::eval_leaf::EvalLeaf"]],["impl Sync for Degree",1,["folding::expressions::Degree"]],["impl<C> Sync for ExpExtension<C>where\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::ExpExtension"]],["impl<C> Sync for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> Sync for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> Sync for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::FoldingExp"]],["impl Sync for Sign",1,["folding::expressions::Sign"]],["impl<C> Sync for Term<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::Term"]],["impl<C> Sync for IntegratedFoldingExpr<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> Sync for ExtendedWitness<G, W>where\n W: Sync,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> Sync for ExtendedInstance<G, I>where\n I: Sync,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> Sync for RelaxedInstance<G, I>where\n I: Sync,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> Sync for RelaxedWitness<G, W>where\n W: Sync,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> Sync for Quadraticized<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::quadraticization::Quadraticized"]],["impl<C> Sync for ExtendedWitnessGenerator<C>where\n <C as FoldingConfig>::Challenge: Sync,\n <C as FoldingConfig>::Column: Sync,\n <C as FoldingConfig>::Selector: Sync,",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> Sync for EmptyStructure<G>",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> Sync for StandardConfig<G, Col, Chall, I, W, Sel, Str>where\n Chall: Sync,\n Col: Sync,\n G: Sync,\n I: Sync,\n Sel: Sync,\n Str: Sync,\n W: Sync,",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> !Sync for Env<G, Col, Chall, Sel, Str, I, W>",1,["folding::standard_config::Env"]],["impl Sync for Column",1,["folding::checker::Column"]],["impl<C> Sync for Provider<C>where\n <C as FoldingConfig>::Instance: Sync,\n <C as FoldingConfig>::Witness: Sync,",1,["folding::checker::Provider"]],["impl<C> Sync for ExtendedProvider<C>where\n <C as FoldingConfig>::Instance: Sync,\n <C as FoldingConfig>::Witness: Sync,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> Sync for FoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Sync,\n <CF as FoldingConfig>::Column: Sync,\n <CF as FoldingConfig>::Selector: Sync,\n <CF as FoldingConfig>::Srs: Sync,\n <CF as FoldingConfig>::Structure: Sync,",1,["folding::FoldingScheme"]],["impl<C> Sync for FoldingOutput<C>where\n <C as FoldingConfig>::Instance: Sync,\n <C as FoldingConfig>::Witness: Sync,",1,["folding::FoldingOutput"]],["impl<F> !Sync for Alphas<F>",1,["folding::Alphas"]]], "groupmap":[["impl<G> Sync for BWParameters<G>",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl Sync for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> !Sync for SimpleEvalEnv<Curve, N_COL, N_FSEL>",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Sync for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Sync for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Sync for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Sync for ScalarLimbs<F>where\n F: Sync,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Sync for IVCLookupTable<Ff>where\n Ff: Sync,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Sync for IVCFECLookupLens<Ff>where\n Ff: Sync,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> Sync for PlonkishWitness<N_COL, N_FSEL, F>",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Sync for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Sync for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Sync for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Sync for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Sync for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Sync for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> !Sync for SimpleEvalEnv<Curve, N_COL, N_FSEL>",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Sync for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Sync for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Sync for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Sync for ScalarLimbs<F>where\n F: Sync,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Sync for IVCLookupTable<Ff>where\n Ff: Sync,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Sync for IVCFECLookupLens<Ff>where\n Ff: Sync,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Sync for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where\n Evals: Sync,",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Sync for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Sync for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Sync for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Sync for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Sync for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Sync for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Sync for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> Sync for Alphas<F>where\n F: Sync,",1,["kimchi::alphas::Alphas"]],["impl<I, T> Sync for MustConsumeIterator<I, T>where\n I: Sync,",1,["kimchi::alphas::MustConsumeIterator"]],["impl Sync for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl Sync for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> Sync for ArgumentEnv<F, T>where\n F: Sync,\n T: Sync,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> Sync for ArgumentData<F>where\n F: Sync,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> Sync for ArgumentWitness<T>where\n T: Sync,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl Sync for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> Sync for LookupEnvironment<'a, F>",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> Sync for Environment<'a, F>",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl Sync for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> Sync for EvaluatedColumnCoefficients<F>",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> Sync for ColumnEvaluations<F>",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> Sync for ConstraintSystem<F>",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl Sync for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> Sync for Builder<F>",1,["kimchi::circuits::constraints::Builder"]],["impl<F> Sync for DomainConstantEvaluations<F>",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> Sync for EvaluationDomains<F>",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> Sync for ExprError<Column>where\n Column: Sync,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> Sync for Challenges<F>where\n F: Sync,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> Sync for Constants<F>where\n F: Sync,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> Sync for Variable<Column>where\n Column: Sync,",1,["kimchi::circuits::expr::Variable"]],["impl Sync for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> Sync for ConstantTerm<F>where\n F: Sync,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> Sync for ConstantExprInner<F>where\n F: Sync,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> Sync for Operations<T>where\n T: Sync,",1,["kimchi::circuits::expr::Operations"]],["impl Sync for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl Sync for Cache",1,["kimchi::circuits::expr::Cache"]],["impl Sync for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl Sync for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> Sync for ExprInner<C, Column>where\n C: Sync,\n Column: Sync,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> Sync for PolishToken<F, Column>where\n Column: Sync,\n F: Sync,",1,["kimchi::circuits::expr::PolishToken"]],["impl Sync for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> Sync for Linearization<E, Column>where\n Column: Sync,\n E: Sync,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> Sync for CamlCircuitGate<F>where\n F: Sync,",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl Sync for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl Sync for GateType",1,["kimchi::circuits::gate::GateType"]],["impl Sync for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> Sync for CircuitGate<F>",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> Sync for Circuit<'a, F>",1,["kimchi::circuits::gate::Circuit"]],["impl<F> Sync for LookupConfiguration<F>where\n F: Sync,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl Sync for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> Sync for LookupSelectors<T>where\n T: Sync,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> Sync for LookupConstraintSystem<F>",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl Sync for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl Sync for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl Sync for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl Sync for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> Sync for SingleLookup<F>where\n F: Sync,",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl Sync for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> Sync for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: Sync,\n SingleLookup: Sync,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl Sync for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl Sync for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> Sync for CamlRuntimeTable<CamlF>where\n CamlF: Sync,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl Sync for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> Sync for CamlRuntimeTableCfg<CamlF>where\n CamlF: Sync,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl Sync for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> Sync for RuntimeTableCfg<F>where\n F: Sync,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> Sync for RuntimeTable<F>where\n F: Sync,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> Sync for CamlLookupTable<CamlF>where\n CamlF: Sync,",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl Sync for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl Sync for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> Sync for LookupTable<F>where\n F: Sync,",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> Sync for WitnessEvals<F>",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> Sync for WitnessShifts<F>",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> Sync for WitnessOverDomains<F>",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> Sync for LookupEvals<F>",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> Sync for LookupShifts<F>",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> Sync for LookupPolys<F>",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> Sync for CompleteAdd<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> Sync for EndomulScalar<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> Sync for EndosclMul<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> Sync for EndoMulResult<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> Sync for ForeignFieldAdd<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl Sync for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> Sync for ForeignFieldMul<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> Sync for ExternalChecks<F>",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> Sync for Generic<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> Sync for GenericGateSpec<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> Sync for KeccakRound<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> Sync for KeccakSponge<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl Sync for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl Sync for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl Sync for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl Sync for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl Sync for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl Sync for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> Sync for Shifts<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> Sync for Poseidon<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> Sync for RangeCheck0<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> Sync for RangeCheck1<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl Sync for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> Sync for Rot64<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> Sync for Claim<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> Sync for Instruction<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> Sync for Flags<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> Sync for Transition<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> Sync for Layout<T>where\n T: Sync,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> Sync for VarbaseMulResult<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> Sync for VarbaseMul<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> Sync for Xor16<F>where\n F: Sync,",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> Sync for CamlRandomOracles<CamlF>where\n CamlF: Sync,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> Sync for RandomOracles<F>",1,["kimchi::circuits::scalars::RandomOracles"]],["impl Sync for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl Sync for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> Sync for ConstantCell<F>",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl Sync for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl Sync for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl Sync for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> Sync for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> Sync for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> Sync for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> Sync for Variables<'a, T>where\n T: Sync,",1,["kimchi::circuits::witness::variables::Variables"]],["impl Sync for ProverError",1,["kimchi::error::ProverError"]],["impl Sync for VerifyError",1,["kimchi::error::VerifyError"]],["impl Sync for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl Sync for SetupError",1,["kimchi::error::SetupError"]],["impl Sync for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> Sync for LagrangeBasisEvaluations<F>where\n F: Sync,",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> Sync for CamlOracles<CamlF>where\n CamlF: Sync,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> Sync for OraclesResult<G, EFqSponge>where\n EFqSponge: Sync,",1,["kimchi::oracles::OraclesResult"]],["impl Sync for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> Sync for TestSRS<G>where\n G: Sync,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> Sync for CamlRecursionChallenge<CamlG, CamlF>where\n CamlF: Sync,\n CamlG: Sync,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> Sync for CamlProofEvaluations<CamlF>where\n CamlF: Sync,",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> Sync for PointEvaluations<Evals>where\n Evals: Sync,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> Sync for ProofEvaluations<Evals>where\n Evals: Sync,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> Sync for LookupCommitments<G>",1,["kimchi::proof::LookupCommitments"]],["impl<G> Sync for ProverCommitments<G>",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> Sync for ProverProof<G, OpeningProof>where\n OpeningProof: Sync,",1,["kimchi::proof::ProverProof"]],["impl<G> Sync for RecursionChallenge<G>",1,["kimchi::proof::RecursionChallenge"]],["impl Sync for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl Sync for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> Sync for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: Sync,\n CamlG: Sync,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> Sync for CamlProverProof<CamlG, CamlF>where\n CamlF: Sync,\n CamlG: Sync,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> Sync for CamlLookupCommitments<CamlG>where\n CamlG: Sync,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> Sync for CamlProverCommitments<CamlG>where\n CamlG: Sync,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> Sync for ProverIndex<G, OpeningProof>where\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::prover_index::ProverIndex"]],["impl<F> Sync for Witness<F>where\n F: Sync,",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> Sync for ProverIndexWrapper<Circuit>where\n Circuit: Sync,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> Sync for VerifierIndexWrapper<Circuit>where\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: Send + Sync,",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> Sync for CompiledCircuit<Circuit>where\n Circuit: Sync,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> Sync for OrderedHashSet<T>where\n T: Sync,",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> Sync for Boolean<F>",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> Sync for Constants<F>",1,["kimchi::snarky::constants::Constants"]],["impl<A> Sync for ScaleRound<A>where\n A: Sync,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> Sync for EndoscaleRound<A>where\n A: Sync,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> Sync for EndoscaleScalarRound<A>where\n A: Sync,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> Sync for BasicSnarkyConstraint<Var>where\n Var: Sync,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> Sync for BasicInput<Var, Field>where\n Field: Sync,\n Var: Sync,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> Sync for PoseidonInput<Var>where\n Var: Sync,",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> Sync for EcAddCompleteInput<Var>where\n Var: Sync,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> Sync for EcEndoscaleInput<Var>where\n Var: Sync,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> Sync for KimchiConstraint<Var, Field>where\n Field: Sync,\n Var: Sync,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> Sync for SnarkyConstraintSystem<Field>",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> Sync for FieldVar<F>",1,["kimchi::snarky::cvar::FieldVar"]],["impl Sync for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl Sync for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl Sync for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl Sync for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> Sync for ForeignElement<F>where\n F: Sync,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> Sync for FullChallenge<F>where\n F: Sync,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> Sync for Private<F, N>where\n F: Sync,",1,["kimchi::snarky::folding::Private"]],["impl<F> Sync for DuplexState<F>",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> Sync for Constraint<F>",1,["kimchi::snarky::runner::Constraint"]],["impl<F> Sync for RunState<F>",1,["kimchi::snarky::runner::RunState"]],["impl<T> Sync for DisjointSet<T>where\n T: Sync,",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> Sync for Context<'a, G, OpeningProof>where\n OpeningProof: Sync,\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::verifier::Context"]],["impl<G> Sync for LookupVerifierIndex<G>",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> Sync for VerifierIndex<G, OpeningProof>where\n <OpeningProof as OpenProof<G>>::SRS: Send + Sync,",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> Sync for IdMPrism<T>where\n T: Sync,",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> Sync for ComposedMPrism<LHS, RHS>where\n LHS: Sync,\n RHS: Sync,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> Sync for SubEnvColumn<'a, F, CIx1, Env1, L>where\n CIx1: Sync,\n Env1: Sync,\n L: Sync,",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> Sync for SubEnvLookup<'a, F, CIx1, Env1, L>where\n CIx1: Sync,\n Env1: Sync,\n L: Sync,",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> !Sync for ConstraintBuilderEnv<F, LT>",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> !Sync for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Sync for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl Sync for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> Sync for QuotientPolynomialEnvironment<'a, F, ID>",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> Sync for Env<G, ID>",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> Sync for Logup<F, ID>where\n F: Sync,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> Sync for LookupTable<F, ID>where\n F: Sync,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> Sync for LogupWitness<F, ID>where\n F: Sync,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> Sync for LookupProof<T, ID>where\n ID: Sync,\n T: Sync,",1,["kimchi_msm::logup::LookupProof"]],["impl Sync for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl Sync for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> Sync for TestPairingSRS<Pair>",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> Sync for ProofInputs<N_WIT, F, ID>",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Sync for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Sync,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> Sync for ProofCommitments<N_WIT, G, ID>",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> Sync for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n OpeningProof: Sync,",1,["kimchi_msm::proof::Proof"]],["impl Sync for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> Sync for Witness<N_WIT, T>where\n T: Sync,",1,["kimchi_msm::witness::Witness"]],["impl Sync for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl Sync for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl Sync for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl Sync for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> Sync for LookupTable<Ff>where\n Ff: Sync,",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> Sync for LookupTableIter<Ff>where\n Ff: Sync,",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl Sync for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl Sync for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl Sync for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl Sync for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> Sync for LookupTable<Ff>where\n Ff: Sync,",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> Sync for LookupTableIter<Ff>where\n Ff: Sync,",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl Sync for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> Sync for Witness<F>",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/core/marker/trait.Unpin.js b/rustdoc/implementors/core/marker/trait.Unpin.js index 555b083f06..925bcfe47c 100644 --- a/rustdoc/implementors/core/marker/trait.Unpin.js +++ b/rustdoc/implementors/core/marker/trait.Unpin.js @@ -3,7 +3,7 @@ "folding":[["impl<C> Unpin for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> Unpin for DecomposableFoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Unpin,\n <CF as FoldingConfig>::Column: Unpin,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <CF as FoldingConfig>::Selector: Unpin,\n <CF as FoldingConfig>::Structure: Unpin,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl Unpin for Side",1,["folding::error_term::Side"]],["impl<'a, F> Unpin for EvalLeaf<'a, F>where\n F: Unpin,",1,["folding::eval_leaf::EvalLeaf"]],["impl Unpin for Degree",1,["folding::expressions::Degree"]],["impl<C> Unpin for ExpExtension<C>where\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::ExpExtension"]],["impl<C> Unpin for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> Unpin for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> Unpin for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::FoldingExp"]],["impl Unpin for Sign",1,["folding::expressions::Sign"]],["impl<C> Unpin for Term<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::Term"]],["impl<C> Unpin for IntegratedFoldingExpr<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> Unpin for ExtendedWitness<G, W>where\n W: Unpin,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> Unpin for ExtendedInstance<G, I>where\n G: Unpin,\n I: Unpin,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> Unpin for RelaxedInstance<G, I>where\n G: Unpin,\n I: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> Unpin for RelaxedWitness<G, W>where\n W: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> Unpin for Quadraticized<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::quadraticization::Quadraticized"]],["impl<C> Unpin for ExtendedWitnessGenerator<C>where\n <C as FoldingConfig>::Challenge: Unpin,\n <C as FoldingConfig>::Column: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Selector: Unpin,",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> Unpin for EmptyStructure<G>where\n <G as AffineCurve>::ScalarField: Unpin,",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> Unpin for StandardConfig<G, Col, Chall, I, W, Sel, Str>where\n Chall: Unpin,\n Col: Unpin,\n G: Unpin,\n I: Unpin,\n Sel: Unpin,\n Str: Unpin,\n W: Unpin,",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> Unpin for Env<G, Col, Chall, Sel, Str, I, W>where\n Chall: Unpin,\n Col: Unpin,\n G: Unpin,\n I: Unpin,\n Sel: Unpin,\n Str: Unpin,\n W: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["folding::standard_config::Env"]],["impl Unpin for Column",1,["folding::checker::Column"]],["impl<C> Unpin for Provider<C>where\n <C as FoldingConfig>::Instance: Unpin,\n <C as FoldingConfig>::Witness: Unpin,",1,["folding::checker::Provider"]],["impl<C> Unpin for ExtendedProvider<C>where\n <C as FoldingConfig>::Curve: Unpin,\n <C as FoldingConfig>::Instance: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Witness: Unpin,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> Unpin for FoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: Unpin,\n <CF as FoldingConfig>::Column: Unpin,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <CF as FoldingConfig>::Selector: Unpin,\n <CF as FoldingConfig>::Structure: Unpin,",1,["folding::FoldingScheme"]],["impl<C> Unpin for FoldingOutput<C>where\n <C as FoldingConfig>::Curve: Unpin,\n <C as FoldingConfig>::Instance: Unpin,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: Unpin,\n <C as FoldingConfig>::Witness: Unpin,",1,["folding::FoldingOutput"]],["impl<F> Unpin for Alphas<F>where\n F: Unpin,",1,["folding::Alphas"]]], "groupmap":[["impl<G> Unpin for BWParameters<G>where\n <G as ModelParameters>::BaseField: Unpin,",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl Unpin for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> Unpin for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: Unpin,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Unpin for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Unpin for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Unpin for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Unpin for ScalarLimbs<F>where\n F: Unpin,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Unpin for IVCLookupTable<Ff>where\n Ff: Unpin,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Unpin for IVCFECLookupLens<Ff>where\n Ff: Unpin,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> Unpin for PlonkishWitness<N_COL, N_FSEL, F>",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Unpin for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Unpin for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Unpin for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Unpin for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Unpin for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Unpin for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> Unpin for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: Unpin,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl Unpin for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl Unpin for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl Unpin for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> Unpin for ScalarLimbs<F>where\n F: Unpin,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> Unpin for IVCLookupTable<Ff>where\n Ff: Unpin,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> Unpin for IVCFECLookupLens<Ff>where\n Ff: Unpin,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Unpin for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where\n F: Unpin,",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Unpin for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl Unpin for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl Unpin for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> Unpin for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl Unpin for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl Unpin for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl Unpin for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> Unpin for Alphas<F>where\n F: Unpin,",1,["kimchi::alphas::Alphas"]],["impl<I, T> Unpin for MustConsumeIterator<I, T>where\n I: Unpin,",1,["kimchi::alphas::MustConsumeIterator"]],["impl Unpin for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl Unpin for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> Unpin for ArgumentEnv<F, T>where\n F: Unpin,\n T: Unpin,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> Unpin for ArgumentData<F>where\n F: Unpin,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> Unpin for ArgumentWitness<T>where\n T: Unpin,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl Unpin for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> Unpin for LookupEnvironment<'a, F>",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> Unpin for Environment<'a, F>where\n F: Unpin,",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl Unpin for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> Unpin for EvaluatedColumnCoefficients<F>where\n F: Unpin,",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> Unpin for ColumnEvaluations<F>where\n F: Unpin,",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> Unpin for ConstraintSystem<F>where\n F: Unpin,",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl Unpin for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> Unpin for Builder<F>where\n F: Unpin,",1,["kimchi::circuits::constraints::Builder"]],["impl<F> Unpin for DomainConstantEvaluations<F>where\n F: Unpin,",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> Unpin for EvaluationDomains<F>where\n F: Unpin,",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> Unpin for ExprError<Column>where\n Column: Unpin,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> Unpin for Challenges<F>where\n F: Unpin,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> Unpin for Constants<F>where\n F: Unpin,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> Unpin for Variable<Column>where\n Column: Unpin,",1,["kimchi::circuits::expr::Variable"]],["impl Unpin for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> Unpin for ConstantTerm<F>where\n F: Unpin,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> Unpin for ConstantExprInner<F>where\n F: Unpin,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> Unpin for Operations<T>where\n T: Unpin,",1,["kimchi::circuits::expr::Operations"]],["impl Unpin for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl Unpin for Cache",1,["kimchi::circuits::expr::Cache"]],["impl Unpin for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl Unpin for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> Unpin for ExprInner<C, Column>where\n C: Unpin,\n Column: Unpin,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> Unpin for PolishToken<F, Column>where\n Column: Unpin,\n F: Unpin,",1,["kimchi::circuits::expr::PolishToken"]],["impl Unpin for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> Unpin for Linearization<E, Column>where\n Column: Unpin,\n E: Unpin,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> Unpin for CamlCircuitGate<F>where\n F: Unpin,",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl Unpin for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl Unpin for GateType",1,["kimchi::circuits::gate::GateType"]],["impl Unpin for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> Unpin for CircuitGate<F>where\n F: Unpin,",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> Unpin for Circuit<'a, F>",1,["kimchi::circuits::gate::Circuit"]],["impl<F> Unpin for LookupConfiguration<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl Unpin for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> Unpin for LookupSelectors<T>where\n T: Unpin,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> Unpin for LookupConstraintSystem<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl Unpin for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl Unpin for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl Unpin for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl Unpin for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> Unpin for SingleLookup<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl Unpin for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> Unpin for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: Unpin,\n SingleLookup: Unpin,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl Unpin for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl Unpin for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> Unpin for CamlRuntimeTable<CamlF>where\n CamlF: Unpin,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl Unpin for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> Unpin for CamlRuntimeTableCfg<CamlF>where\n CamlF: Unpin,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl Unpin for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> Unpin for RuntimeTableCfg<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> Unpin for RuntimeTable<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> Unpin for CamlLookupTable<CamlF>where\n CamlF: Unpin,",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl Unpin for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl Unpin for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> Unpin for LookupTable<F>where\n F: Unpin,",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> Unpin for WitnessEvals<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> Unpin for WitnessShifts<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> Unpin for WitnessOverDomains<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> Unpin for LookupEvals<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> Unpin for LookupShifts<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> Unpin for LookupPolys<F>where\n F: Unpin,",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> Unpin for CompleteAdd<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> Unpin for EndomulScalar<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> Unpin for EndosclMul<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> Unpin for EndoMulResult<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> Unpin for ForeignFieldAdd<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl Unpin for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> Unpin for ForeignFieldMul<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> Unpin for ExternalChecks<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> Unpin for Generic<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> Unpin for GenericGateSpec<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> Unpin for KeccakRound<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> Unpin for KeccakSponge<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl Unpin for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl Unpin for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl Unpin for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl Unpin for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl Unpin for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl Unpin for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> Unpin for Shifts<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> Unpin for Poseidon<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> Unpin for RangeCheck0<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> Unpin for RangeCheck1<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl Unpin for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> Unpin for Rot64<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> Unpin for Claim<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> Unpin for Instruction<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> Unpin for Flags<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> Unpin for Transition<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> Unpin for Layout<T>where\n T: Unpin,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> Unpin for VarbaseMulResult<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> Unpin for VarbaseMul<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> Unpin for Xor16<F>where\n F: Unpin,",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> Unpin for CamlRandomOracles<CamlF>where\n CamlF: Unpin,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> Unpin for RandomOracles<F>where\n F: Unpin,",1,["kimchi::circuits::scalars::RandomOracles"]],["impl Unpin for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl Unpin for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> Unpin for ConstantCell<F>where\n F: Unpin,",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl Unpin for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl Unpin for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl Unpin for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> Unpin for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> Unpin for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> Unpin for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> Unpin for Variables<'a, T>where\n T: Unpin,",1,["kimchi::circuits::witness::variables::Variables"]],["impl Unpin for ProverError",1,["kimchi::error::ProverError"]],["impl Unpin for VerifyError",1,["kimchi::error::VerifyError"]],["impl Unpin for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl Unpin for SetupError",1,["kimchi::error::SetupError"]],["impl Unpin for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> Unpin for LagrangeBasisEvaluations<F>where\n F: Unpin,",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> Unpin for CamlOracles<CamlF>where\n CamlF: Unpin,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> Unpin for OraclesResult<G, EFqSponge>where\n EFqSponge: Unpin,\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi::oracles::OraclesResult"]],["impl Unpin for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> Unpin for TestSRS<G>where\n G: Unpin,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> Unpin for CamlRecursionChallenge<CamlG, CamlF>where\n CamlF: Unpin,\n CamlG: Unpin,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> Unpin for CamlProofEvaluations<CamlF>where\n CamlF: Unpin,",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> Unpin for PointEvaluations<Evals>where\n Evals: Unpin,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> Unpin for ProofEvaluations<Evals>where\n Evals: Unpin,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> Unpin for LookupCommitments<G>where\n G: Unpin,",1,["kimchi::proof::LookupCommitments"]],["impl<G> Unpin for ProverCommitments<G>where\n G: Unpin,",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> Unpin for ProverProof<G, OpeningProof>where\n G: Unpin,\n OpeningProof: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi::proof::ProverProof"]],["impl<G> Unpin for RecursionChallenge<G>where\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi::proof::RecursionChallenge"]],["impl Unpin for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl Unpin for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> Unpin for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: Unpin,\n CamlG: Unpin,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> Unpin for CamlProverProof<CamlG, CamlF>where\n CamlF: Unpin,\n CamlG: Unpin,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> Unpin for CamlLookupCommitments<CamlG>where\n CamlG: Unpin,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> Unpin for CamlProverCommitments<CamlG>where\n CamlG: Unpin,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> Unpin for ProverIndex<G, OpeningProof>where\n G: Unpin,\n <G as AffineCurve>::BaseField: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi::prover_index::ProverIndex"]],["impl<F> Unpin for Witness<F>where\n F: Unpin,",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> Unpin for ProverIndexWrapper<Circuit>where\n Circuit: Unpin,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::BaseField: Unpin,\n <Circuit as SnarkyCircuit>::Curve: Unpin,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: Unpin,",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> Unpin for VerifierIndexWrapper<Circuit>where\n <Circuit as SnarkyCircuit>::Curve: Unpin,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: Unpin,",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> Unpin for CompiledCircuit<Circuit>where\n Circuit: Unpin,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: Unpin,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> Unpin for OrderedHashSet<T>where\n T: Unpin,",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> Unpin for Boolean<F>where\n F: Unpin,",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> Unpin for Constants<F>where\n F: Unpin,",1,["kimchi::snarky::constants::Constants"]],["impl<A> Unpin for ScaleRound<A>where\n A: Unpin,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> Unpin for EndoscaleRound<A>where\n A: Unpin,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> Unpin for EndoscaleScalarRound<A>where\n A: Unpin,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> Unpin for BasicSnarkyConstraint<Var>where\n Var: Unpin,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> Unpin for BasicInput<Var, Field>where\n Field: Unpin,\n Var: Unpin,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> Unpin for PoseidonInput<Var>where\n Var: Unpin,",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> Unpin for EcAddCompleteInput<Var>where\n Var: Unpin,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> Unpin for EcEndoscaleInput<Var>where\n Var: Unpin,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> Unpin for KimchiConstraint<Var, Field>where\n Field: Unpin,\n Var: Unpin,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> Unpin for SnarkyConstraintSystem<Field>where\n Field: Unpin,",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> Unpin for FieldVar<F>where\n F: Unpin,",1,["kimchi::snarky::cvar::FieldVar"]],["impl Unpin for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl Unpin for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl Unpin for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl Unpin for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> Unpin for ForeignElement<F>where\n F: Unpin,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> Unpin for FullChallenge<F>where\n F: Unpin,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> Unpin for Private<F, N>where\n F: Unpin,",1,["kimchi::snarky::folding::Private"]],["impl<F> Unpin for DuplexState<F>where\n F: Unpin,",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> Unpin for Constraint<F>where\n F: Unpin,",1,["kimchi::snarky::runner::Constraint"]],["impl<F> Unpin for RunState<F>where\n F: Unpin,",1,["kimchi::snarky::runner::RunState"]],["impl<T> Unpin for DisjointSet<T>where\n T: Unpin,",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> Unpin for Context<'a, G, OpeningProof>",1,["kimchi::verifier::Context"]],["impl<G> Unpin for LookupVerifierIndex<G>where\n G: Unpin,",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> Unpin for VerifierIndex<G, OpeningProof>where\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> Unpin for IdMPrism<T>where\n T: Unpin,",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> Unpin for ComposedMPrism<LHS, RHS>where\n LHS: Unpin,\n RHS: Unpin,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> Unpin for SubEnvColumn<'a, F, CIx1, Env1, L>where\n CIx1: Unpin,\n F: Unpin,\n L: Unpin,",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> Unpin for SubEnvLookup<'a, F, CIx1, Env1, L>where\n CIx1: Unpin,\n F: Unpin,\n L: Unpin,",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> Unpin for ConstraintBuilderEnv<F, LT>where\n F: Unpin,",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> Unpin for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>where\n CIx: Unpin,\n F: Unpin,",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Unpin for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Unpin,",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl Unpin for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> Unpin for QuotientPolynomialEnvironment<'a, F, ID>",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> Unpin for Env<G, ID>where\n G: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> Unpin for Logup<F, ID>where\n F: Unpin,\n ID: Unpin,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> Unpin for LookupTable<F, ID>where\n F: Unpin,\n ID: Unpin,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> Unpin for LogupWitness<F, ID>where\n F: Unpin,\n ID: Unpin,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> Unpin for LookupProof<T, ID>where\n T: Unpin,",1,["kimchi_msm::logup::LookupProof"]],["impl Unpin for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl Unpin for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> Unpin for TestPairingSRS<Pair>where\n <Pair as PairingEngine>::G1Affine: Unpin,\n <Pair as PairingEngine>::G2Affine: Unpin,",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> Unpin for ProofInputs<N_WIT, F, ID>where\n F: Unpin,\n ID: Unpin,",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Unpin for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: Unpin,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> Unpin for ProofCommitments<N_WIT, G, ID>where\n G: Unpin,",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> Unpin for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G: Unpin,\n OpeningProof: Unpin,\n <G as AffineCurve>::ScalarField: Unpin,",1,["kimchi_msm::proof::Proof"]],["impl Unpin for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> Unpin for Witness<N_WIT, T>",1,["kimchi_msm::witness::Witness"]],["impl Unpin for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl Unpin for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl Unpin for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl Unpin for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> Unpin for LookupTable<Ff>where\n Ff: Unpin,",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> Unpin for LookupTableIter<Ff>where\n Ff: Unpin,",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl Unpin for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl Unpin for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl Unpin for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl Unpin for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> Unpin for LookupTable<Ff>where\n Ff: Unpin,",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> Unpin for LookupTableIter<Ff>where\n Ff: Unpin,",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl Unpin for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> Unpin for Witness<F>where\n F: Unpin,",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/core/ops/index/trait.Index.js b/rustdoc/implementors/core/ops/index/trait.Index.js index e5863e8978..2ad0fe558a 100644 --- a/rustdoc/implementors/core/ops/index/trait.Index.js +++ b/rustdoc/implementors/core/ops/index/trait.Index.js @@ -1,6 +1,6 @@ (function() {var implementors = { -"folding":[["impl<G: KimchiCurve, Col> Index<Col> for EmptyStructure<G>"]], -"ivc":[["impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<Column> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>"]], +"folding":[["impl<G: KimchiCurve, Col> Index<Col> for EmptyStructure<G>"]], +"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: FftField, Evals: CombinableEvals<F>> Index<Column> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi":[["impl<T> Index<LookupPattern> for LookupSelectors<T>"],["impl Index<LookupPattern> for LookupPatterns"],["impl<T> Index<(CurrOrNext, usize)> for ArgumentWitness<T>"],["impl<'a, T> Index<&'a str> for Variables<'a, T>"],["impl Index<GateLookupTable> for GateLookupTables"]], "kimchi_msm":[["impl<const N_WIT: usize, T> Index<usize> for Witness<N_WIT, T>"]], "o1_utils":[["impl<F: Field, const B: usize, const N: usize> Index<usize> for ForeignElement<F, B, N>"]], diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 2bf141c6ea..60a5450235 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -3,7 +3,7 @@ "folding":[["impl<C> RefUnwindSafe for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> RefUnwindSafe for DecomposableFoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: RefUnwindSafe,\n <CF as FoldingConfig>::Column: RefUnwindSafe,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <CF as FoldingConfig>::Selector: RefUnwindSafe,\n <CF as FoldingConfig>::Srs: RefUnwindSafe,\n <CF as FoldingConfig>::Structure: RefUnwindSafe,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl RefUnwindSafe for Side",1,["folding::error_term::Side"]],["impl<'a, F> RefUnwindSafe for EvalLeaf<'a, F>where\n F: RefUnwindSafe,",1,["folding::eval_leaf::EvalLeaf"]],["impl RefUnwindSafe for Degree",1,["folding::expressions::Degree"]],["impl<C> RefUnwindSafe for ExpExtension<C>where\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::ExpExtension"]],["impl<C> RefUnwindSafe for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> RefUnwindSafe for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> RefUnwindSafe for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::FoldingExp"]],["impl RefUnwindSafe for Sign",1,["folding::expressions::Sign"]],["impl<C> RefUnwindSafe for Term<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::Term"]],["impl<C> RefUnwindSafe for IntegratedFoldingExpr<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> RefUnwindSafe for ExtendedWitness<G, W>where\n W: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> RefUnwindSafe for ExtendedInstance<G, I>where\n G: RefUnwindSafe,\n I: RefUnwindSafe,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> RefUnwindSafe for RelaxedInstance<G, I>where\n G: RefUnwindSafe,\n I: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> RefUnwindSafe for RelaxedWitness<G, W>where\n W: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> RefUnwindSafe for Quadraticized<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::quadraticization::Quadraticized"]],["impl<C> RefUnwindSafe for ExtendedWitnessGenerator<C>where\n <C as FoldingConfig>::Challenge: RefUnwindSafe,\n <C as FoldingConfig>::Column: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Selector: RefUnwindSafe,",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> RefUnwindSafe for EmptyStructure<G>where\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> RefUnwindSafe for StandardConfig<G, Col, Chall, I, W, Sel, Str>where\n Chall: RefUnwindSafe,\n Col: RefUnwindSafe,\n G: RefUnwindSafe,\n I: RefUnwindSafe,\n Sel: RefUnwindSafe,\n Str: RefUnwindSafe,\n W: RefUnwindSafe,",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> !RefUnwindSafe for Env<G, Col, Chall, Sel, Str, I, W>",1,["folding::standard_config::Env"]],["impl RefUnwindSafe for Column",1,["folding::checker::Column"]],["impl<C> RefUnwindSafe for Provider<C>where\n <C as FoldingConfig>::Instance: RefUnwindSafe,\n <C as FoldingConfig>::Witness: RefUnwindSafe,",1,["folding::checker::Provider"]],["impl<C> RefUnwindSafe for ExtendedProvider<C>where\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <C as FoldingConfig>::Instance: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Witness: RefUnwindSafe,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> RefUnwindSafe for FoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: RefUnwindSafe,\n <CF as FoldingConfig>::Column: RefUnwindSafe,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <CF as FoldingConfig>::Selector: RefUnwindSafe,\n <CF as FoldingConfig>::Srs: RefUnwindSafe,\n <CF as FoldingConfig>::Structure: RefUnwindSafe,",1,["folding::FoldingScheme"]],["impl<C> RefUnwindSafe for FoldingOutput<C>where\n <C as FoldingConfig>::Curve: RefUnwindSafe,\n <C as FoldingConfig>::Instance: RefUnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,\n <C as FoldingConfig>::Witness: RefUnwindSafe,",1,["folding::FoldingOutput"]],["impl<F> RefUnwindSafe for Alphas<F>where\n F: RefUnwindSafe,",1,["folding::Alphas"]]], "groupmap":[["impl<G> RefUnwindSafe for BWParameters<G>where\n <G as ModelParameters>::BaseField: RefUnwindSafe,",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl RefUnwindSafe for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> RefUnwindSafe for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: RefUnwindSafe,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl RefUnwindSafe for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl RefUnwindSafe for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl RefUnwindSafe for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> RefUnwindSafe for ScalarLimbs<F>where\n F: RefUnwindSafe,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> RefUnwindSafe for IVCLookupTable<Ff>where\n Ff: RefUnwindSafe,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> RefUnwindSafe for IVCFECLookupLens<Ff>where\n Ff: RefUnwindSafe,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> RefUnwindSafe for PlonkishWitness<N_COL, N_FSEL, F>where\n F: RefUnwindSafe,",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> RefUnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl RefUnwindSafe for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl RefUnwindSafe for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl RefUnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl RefUnwindSafe for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl RefUnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> RefUnwindSafe for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: RefUnwindSafe,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl RefUnwindSafe for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl RefUnwindSafe for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl RefUnwindSafe for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> RefUnwindSafe for ScalarLimbs<F>where\n F: RefUnwindSafe,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> RefUnwindSafe for IVCLookupTable<Ff>where\n Ff: RefUnwindSafe,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> RefUnwindSafe for IVCFECLookupLens<Ff>where\n Ff: RefUnwindSafe,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> RefUnwindSafe for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where\n Evals: RefUnwindSafe,\n F: RefUnwindSafe,",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> RefUnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl RefUnwindSafe for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl RefUnwindSafe for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> RefUnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl RefUnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl RefUnwindSafe for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl RefUnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> RefUnwindSafe for Alphas<F>where\n F: RefUnwindSafe,",1,["kimchi::alphas::Alphas"]],["impl<I, T> RefUnwindSafe for MustConsumeIterator<I, T>where\n I: RefUnwindSafe,",1,["kimchi::alphas::MustConsumeIterator"]],["impl RefUnwindSafe for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl RefUnwindSafe for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> RefUnwindSafe for ArgumentEnv<F, T>where\n F: RefUnwindSafe,\n T: RefUnwindSafe,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> RefUnwindSafe for ArgumentData<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> RefUnwindSafe for ArgumentWitness<T>where\n T: RefUnwindSafe,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl RefUnwindSafe for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> RefUnwindSafe for LookupEnvironment<'a, F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> RefUnwindSafe for Environment<'a, F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl RefUnwindSafe for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> RefUnwindSafe for EvaluatedColumnCoefficients<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> RefUnwindSafe for ColumnEvaluations<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> RefUnwindSafe for ConstraintSystem<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl RefUnwindSafe for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> RefUnwindSafe for Builder<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::constraints::Builder"]],["impl<F> RefUnwindSafe for DomainConstantEvaluations<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> RefUnwindSafe for EvaluationDomains<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> RefUnwindSafe for ExprError<Column>where\n Column: RefUnwindSafe,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> RefUnwindSafe for Challenges<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> RefUnwindSafe for Constants<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> RefUnwindSafe for Variable<Column>where\n Column: RefUnwindSafe,",1,["kimchi::circuits::expr::Variable"]],["impl RefUnwindSafe for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> RefUnwindSafe for ConstantTerm<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> RefUnwindSafe for ConstantExprInner<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> RefUnwindSafe for Operations<T>where\n T: RefUnwindSafe,",1,["kimchi::circuits::expr::Operations"]],["impl RefUnwindSafe for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl RefUnwindSafe for Cache",1,["kimchi::circuits::expr::Cache"]],["impl RefUnwindSafe for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl RefUnwindSafe for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> RefUnwindSafe for ExprInner<C, Column>where\n C: RefUnwindSafe,\n Column: RefUnwindSafe,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> RefUnwindSafe for PolishToken<F, Column>where\n Column: RefUnwindSafe,\n F: RefUnwindSafe,",1,["kimchi::circuits::expr::PolishToken"]],["impl RefUnwindSafe for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> RefUnwindSafe for Linearization<E, Column>where\n Column: RefUnwindSafe,\n E: RefUnwindSafe,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> RefUnwindSafe for CamlCircuitGate<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl RefUnwindSafe for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl RefUnwindSafe for GateType",1,["kimchi::circuits::gate::GateType"]],["impl RefUnwindSafe for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> RefUnwindSafe for CircuitGate<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> RefUnwindSafe for Circuit<'a, F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::gate::Circuit"]],["impl<F> RefUnwindSafe for LookupConfiguration<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl RefUnwindSafe for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> RefUnwindSafe for LookupSelectors<T>where\n T: RefUnwindSafe,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> RefUnwindSafe for LookupConstraintSystem<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl RefUnwindSafe for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl RefUnwindSafe for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl RefUnwindSafe for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl RefUnwindSafe for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> RefUnwindSafe for SingleLookup<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl RefUnwindSafe for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> RefUnwindSafe for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: RefUnwindSafe,\n SingleLookup: RefUnwindSafe,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl RefUnwindSafe for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl RefUnwindSafe for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> RefUnwindSafe for CamlRuntimeTable<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl RefUnwindSafe for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> RefUnwindSafe for CamlRuntimeTableCfg<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl RefUnwindSafe for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> RefUnwindSafe for RuntimeTableCfg<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> RefUnwindSafe for RuntimeTable<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> RefUnwindSafe for CamlLookupTable<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl RefUnwindSafe for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl RefUnwindSafe for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> RefUnwindSafe for LookupTable<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> RefUnwindSafe for WitnessEvals<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> RefUnwindSafe for WitnessShifts<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> RefUnwindSafe for WitnessOverDomains<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> RefUnwindSafe for LookupEvals<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> RefUnwindSafe for LookupShifts<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> RefUnwindSafe for LookupPolys<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> RefUnwindSafe for CompleteAdd<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> RefUnwindSafe for EndomulScalar<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> RefUnwindSafe for EndosclMul<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> RefUnwindSafe for EndoMulResult<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> RefUnwindSafe for ForeignFieldAdd<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl RefUnwindSafe for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> RefUnwindSafe for ForeignFieldMul<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> RefUnwindSafe for ExternalChecks<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> RefUnwindSafe for Generic<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> RefUnwindSafe for GenericGateSpec<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> RefUnwindSafe for KeccakRound<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> RefUnwindSafe for KeccakSponge<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl RefUnwindSafe for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl RefUnwindSafe for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl RefUnwindSafe for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl RefUnwindSafe for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl RefUnwindSafe for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl RefUnwindSafe for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> RefUnwindSafe for Shifts<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> RefUnwindSafe for Poseidon<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> RefUnwindSafe for RangeCheck0<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> RefUnwindSafe for RangeCheck1<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl RefUnwindSafe for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> RefUnwindSafe for Rot64<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> RefUnwindSafe for Claim<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> RefUnwindSafe for Instruction<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> RefUnwindSafe for Flags<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> RefUnwindSafe for Transition<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> RefUnwindSafe for Layout<T>where\n T: RefUnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> RefUnwindSafe for VarbaseMulResult<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> RefUnwindSafe for VarbaseMul<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> RefUnwindSafe for Xor16<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> RefUnwindSafe for CamlRandomOracles<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> RefUnwindSafe for RandomOracles<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::scalars::RandomOracles"]],["impl RefUnwindSafe for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl RefUnwindSafe for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> RefUnwindSafe for ConstantCell<F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl RefUnwindSafe for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl RefUnwindSafe for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl RefUnwindSafe for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> RefUnwindSafe for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> RefUnwindSafe for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> RefUnwindSafe for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> RefUnwindSafe for Variables<'a, T>where\n T: RefUnwindSafe,",1,["kimchi::circuits::witness::variables::Variables"]],["impl RefUnwindSafe for ProverError",1,["kimchi::error::ProverError"]],["impl RefUnwindSafe for VerifyError",1,["kimchi::error::VerifyError"]],["impl RefUnwindSafe for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl RefUnwindSafe for SetupError",1,["kimchi::error::SetupError"]],["impl RefUnwindSafe for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> RefUnwindSafe for LagrangeBasisEvaluations<F>where\n F: RefUnwindSafe,",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> RefUnwindSafe for CamlOracles<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> RefUnwindSafe for OraclesResult<G, EFqSponge>where\n EFqSponge: RefUnwindSafe,\n G: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi::oracles::OraclesResult"]],["impl RefUnwindSafe for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> RefUnwindSafe for TestSRS<G>where\n G: RefUnwindSafe,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> RefUnwindSafe for CamlRecursionChallenge<CamlG, CamlF>where\n CamlF: RefUnwindSafe,\n CamlG: RefUnwindSafe,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> RefUnwindSafe for CamlProofEvaluations<CamlF>where\n CamlF: RefUnwindSafe,",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> RefUnwindSafe for PointEvaluations<Evals>where\n Evals: RefUnwindSafe,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> RefUnwindSafe for ProofEvaluations<Evals>where\n Evals: RefUnwindSafe,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> RefUnwindSafe for LookupCommitments<G>where\n G: RefUnwindSafe,",1,["kimchi::proof::LookupCommitments"]],["impl<G> RefUnwindSafe for ProverCommitments<G>where\n G: RefUnwindSafe,",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> RefUnwindSafe for ProverProof<G, OpeningProof>where\n G: RefUnwindSafe,\n OpeningProof: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi::proof::ProverProof"]],["impl<G> RefUnwindSafe for RecursionChallenge<G>where\n G: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi::proof::RecursionChallenge"]],["impl RefUnwindSafe for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl RefUnwindSafe for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> RefUnwindSafe for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: RefUnwindSafe,\n CamlG: RefUnwindSafe,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> RefUnwindSafe for CamlProverProof<CamlG, CamlF>where\n CamlF: RefUnwindSafe,\n CamlG: RefUnwindSafe,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> RefUnwindSafe for CamlLookupCommitments<CamlG>where\n CamlG: RefUnwindSafe,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> RefUnwindSafe for CamlProverCommitments<CamlG>where\n CamlG: RefUnwindSafe,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> RefUnwindSafe for ProverIndex<G, OpeningProof>where\n G: RefUnwindSafe,\n <G as AffineCurve>::BaseField: RefUnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::prover_index::ProverIndex"]],["impl<F> RefUnwindSafe for Witness<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> RefUnwindSafe for ProverIndexWrapper<Circuit>where\n Circuit: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::BaseField: RefUnwindSafe,\n <Circuit as SnarkyCircuit>::Curve: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> RefUnwindSafe for VerifierIndexWrapper<Circuit>where\n <Circuit as SnarkyCircuit>::Curve: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> RefUnwindSafe for CompiledCircuit<Circuit>where\n Circuit: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> RefUnwindSafe for OrderedHashSet<T>where\n T: RefUnwindSafe,",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> RefUnwindSafe for Boolean<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> RefUnwindSafe for Constants<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::constants::Constants"]],["impl<A> RefUnwindSafe for ScaleRound<A>where\n A: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> RefUnwindSafe for EndoscaleRound<A>where\n A: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> RefUnwindSafe for EndoscaleScalarRound<A>where\n A: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> RefUnwindSafe for BasicSnarkyConstraint<Var>where\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> RefUnwindSafe for BasicInput<Var, Field>where\n Field: RefUnwindSafe,\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> RefUnwindSafe for PoseidonInput<Var>where\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> RefUnwindSafe for EcAddCompleteInput<Var>where\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> RefUnwindSafe for EcEndoscaleInput<Var>where\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> RefUnwindSafe for KimchiConstraint<Var, Field>where\n Field: RefUnwindSafe,\n Var: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> RefUnwindSafe for SnarkyConstraintSystem<Field>where\n Field: RefUnwindSafe,",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> RefUnwindSafe for FieldVar<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::cvar::FieldVar"]],["impl !RefUnwindSafe for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl RefUnwindSafe for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl RefUnwindSafe for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl RefUnwindSafe for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> RefUnwindSafe for ForeignElement<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> RefUnwindSafe for FullChallenge<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> RefUnwindSafe for Private<F, N>where\n F: RefUnwindSafe,",1,["kimchi::snarky::folding::Private"]],["impl<F> RefUnwindSafe for DuplexState<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> RefUnwindSafe for Constraint<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::runner::Constraint"]],["impl<F> RefUnwindSafe for RunState<F>where\n F: RefUnwindSafe,",1,["kimchi::snarky::runner::RunState"]],["impl<T> RefUnwindSafe for DisjointSet<T>where\n T: RefUnwindSafe,",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> RefUnwindSafe for Context<'a, G, OpeningProof>where\n G: RefUnwindSafe,\n OpeningProof: RefUnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::verifier::Context"]],["impl<G> RefUnwindSafe for LookupVerifierIndex<G>where\n G: RefUnwindSafe,",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> RefUnwindSafe for VerifierIndex<G, OpeningProof>where\n G: RefUnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> RefUnwindSafe for IdMPrism<T>where\n T: RefUnwindSafe,",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> RefUnwindSafe for ComposedMPrism<LHS, RHS>where\n LHS: RefUnwindSafe,\n RHS: RefUnwindSafe,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> RefUnwindSafe for SubEnvColumn<'a, F, CIx1, Env1, L>where\n CIx1: RefUnwindSafe,\n Env1: RefUnwindSafe,\n F: RefUnwindSafe,\n L: RefUnwindSafe,",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> RefUnwindSafe for SubEnvLookup<'a, F, CIx1, Env1, L>where\n CIx1: RefUnwindSafe,\n Env1: RefUnwindSafe,\n F: RefUnwindSafe,\n L: RefUnwindSafe,",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> !RefUnwindSafe for ConstraintBuilderEnv<F, LT>",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> !RefUnwindSafe for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> RefUnwindSafe for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl RefUnwindSafe for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> RefUnwindSafe for QuotientPolynomialEnvironment<'a, F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> RefUnwindSafe for Env<G, ID>where\n G: RefUnwindSafe,\n ID: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> RefUnwindSafe for Logup<F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> RefUnwindSafe for LookupTable<F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> RefUnwindSafe for LogupWitness<F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> RefUnwindSafe for LookupProof<T, ID>where\n ID: RefUnwindSafe,\n T: RefUnwindSafe,",1,["kimchi_msm::logup::LookupProof"]],["impl RefUnwindSafe for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl RefUnwindSafe for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> RefUnwindSafe for TestPairingSRS<Pair>where\n <Pair as PairingEngine>::G1Affine: RefUnwindSafe,\n <Pair as PairingEngine>::G2Affine: RefUnwindSafe,",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> RefUnwindSafe for ProofInputs<N_WIT, F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> RefUnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> RefUnwindSafe for ProofCommitments<N_WIT, G, ID>where\n G: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> RefUnwindSafe for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G: RefUnwindSafe,\n ID: RefUnwindSafe,\n OpeningProof: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["kimchi_msm::proof::Proof"]],["impl RefUnwindSafe for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> RefUnwindSafe for Witness<N_WIT, T>where\n T: RefUnwindSafe,",1,["kimchi_msm::witness::Witness"]],["impl RefUnwindSafe for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl RefUnwindSafe for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl RefUnwindSafe for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl RefUnwindSafe for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> RefUnwindSafe for LookupTable<Ff>where\n Ff: RefUnwindSafe,",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> RefUnwindSafe for LookupTableIter<Ff>where\n Ff: RefUnwindSafe,",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl RefUnwindSafe for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl RefUnwindSafe for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl RefUnwindSafe for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl RefUnwindSafe for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> RefUnwindSafe for LookupTable<Ff>where\n Ff: RefUnwindSafe,",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> RefUnwindSafe for LookupTableIter<Ff>where\n Ff: RefUnwindSafe,",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl RefUnwindSafe for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> RefUnwindSafe for Witness<F>where\n F: RefUnwindSafe,",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index d327f9283f..300d8db0e4 100644 --- a/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/rustdoc/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -3,7 +3,7 @@ "folding":[["impl<C> UnwindSafe for ExtendedFoldingColumn<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::columns::ExtendedFoldingColumn"]],["impl<'a, CF> UnwindSafe for DecomposableFoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: UnwindSafe,\n <CF as FoldingConfig>::Column: UnwindSafe,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <CF as FoldingConfig>::Selector: UnwindSafe,\n <CF as FoldingConfig>::Srs: RefUnwindSafe,\n <CF as FoldingConfig>::Structure: UnwindSafe,",1,["folding::decomposable_folding::DecomposableFoldingScheme"]],["impl UnwindSafe for Side",1,["folding::error_term::Side"]],["impl<'a, F> UnwindSafe for EvalLeaf<'a, F>where\n F: UnwindSafe + RefUnwindSafe,",1,["folding::eval_leaf::EvalLeaf"]],["impl UnwindSafe for Degree",1,["folding::expressions::Degree"]],["impl<C> UnwindSafe for ExpExtension<C>where\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::ExpExtension"]],["impl<C> UnwindSafe for FoldingCompatibleExprInner<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::FoldingCompatibleExprInner"]],["impl<C> UnwindSafe for FoldingCompatibleExpr<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::FoldingCompatibleExpr"]],["impl<C> UnwindSafe for FoldingExp<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::FoldingExp"]],["impl UnwindSafe for Sign",1,["folding::expressions::Sign"]],["impl<C> UnwindSafe for Term<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::Term"]],["impl<C> UnwindSafe for IntegratedFoldingExpr<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::expressions::IntegratedFoldingExpr"]],["impl<G, W> UnwindSafe for ExtendedWitness<G, W>where\n W: UnwindSafe,\n <G as AffineCurve>::ScalarField: RefUnwindSafe,",1,["folding::instance_witness::ExtendedWitness"]],["impl<G, I> UnwindSafe for ExtendedInstance<G, I>where\n G: UnwindSafe,\n I: UnwindSafe,",1,["folding::instance_witness::ExtendedInstance"]],["impl<G, I> UnwindSafe for RelaxedInstance<G, I>where\n G: UnwindSafe,\n I: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["folding::instance_witness::RelaxedInstance"]],["impl<G, W> UnwindSafe for RelaxedWitness<G, W>where\n W: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["folding::instance_witness::RelaxedWitness"]],["impl<C> UnwindSafe for Quadraticized<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::quadraticization::Quadraticized"]],["impl<C> UnwindSafe for ExtendedWitnessGenerator<C>where\n <C as FoldingConfig>::Challenge: UnwindSafe,\n <C as FoldingConfig>::Column: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <C as FoldingConfig>::Selector: UnwindSafe,",1,["folding::quadraticization::ExtendedWitnessGenerator"]],["impl<G> UnwindSafe for EmptyStructure<G>where\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["folding::standard_config::EmptyStructure"]],["impl<G, Col, Chall, I, W, Sel, Str> UnwindSafe for StandardConfig<G, Col, Chall, I, W, Sel, Str>where\n Chall: UnwindSafe,\n Col: UnwindSafe,\n G: UnwindSafe,\n I: UnwindSafe,\n Sel: UnwindSafe,\n Str: UnwindSafe,\n W: UnwindSafe,",1,["folding::standard_config::StandardConfig"]],["impl<G, Col, Chall, Sel, Str, I, W> UnwindSafe for Env<G, Col, Chall, Sel, Str, I, W>where\n Chall: UnwindSafe,\n Col: UnwindSafe,\n G: UnwindSafe,\n I: UnwindSafe,\n Sel: UnwindSafe,\n Str: UnwindSafe,\n W: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["folding::standard_config::Env"]],["impl UnwindSafe for Column",1,["folding::checker::Column"]],["impl<C> UnwindSafe for Provider<C>where\n <C as FoldingConfig>::Instance: UnwindSafe,\n <C as FoldingConfig>::Witness: UnwindSafe,",1,["folding::checker::Provider"]],["impl<C> UnwindSafe for ExtendedProvider<C>where\n <C as FoldingConfig>::Curve: UnwindSafe,\n <C as FoldingConfig>::Instance: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,\n <C as FoldingConfig>::Witness: UnwindSafe,",1,["folding::checker::ExtendedProvider"]],["impl<'a, CF> UnwindSafe for FoldingScheme<'a, CF>where\n <CF as FoldingConfig>::Challenge: UnwindSafe,\n <CF as FoldingConfig>::Column: UnwindSafe,\n <<CF as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe,\n <CF as FoldingConfig>::Selector: UnwindSafe,\n <CF as FoldingConfig>::Srs: RefUnwindSafe,\n <CF as FoldingConfig>::Structure: UnwindSafe,",1,["folding::FoldingScheme"]],["impl<C> UnwindSafe for FoldingOutput<C>where\n <C as FoldingConfig>::Curve: UnwindSafe,\n <C as FoldingConfig>::Instance: UnwindSafe,\n <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,\n <C as FoldingConfig>::Witness: UnwindSafe,",1,["folding::FoldingOutput"]],["impl<F> UnwindSafe for Alphas<F>where\n F: UnwindSafe,",1,["folding::Alphas"]]], "groupmap":[["impl<G> UnwindSafe for BWParameters<G>where\n <G as ModelParameters>::BaseField: UnwindSafe,",1,["groupmap::BWParameters"]]], "internal_tracing":[["impl UnwindSafe for TimeInput",1,["internal_tracing::TimeInput"]]], -"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> UnwindSafe for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl UnwindSafe for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl UnwindSafe for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl UnwindSafe for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> UnwindSafe for ScalarLimbs<F>where\n F: UnwindSafe,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> UnwindSafe for IVCLookupTable<Ff>where\n Ff: UnwindSafe,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> UnwindSafe for IVCFECLookupLens<Ff>where\n Ff: UnwindSafe,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F> UnwindSafe for PlonkishWitness<N_COL, N_FSEL, F>where\n F: UnwindSafe,",1,["ivc::plonkish_lang::PlonkishWitness"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> UnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl UnwindSafe for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl UnwindSafe for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl UnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl UnwindSafe for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl UnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], +"ivc":[["impl<Curve, const N_COL: usize, const N_FSEL: usize> UnwindSafe for SimpleEvalEnv<Curve, N_COL, N_FSEL>where\n <Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["ivc::expr_eval::SimpleEvalEnv"]],["impl UnwindSafe for IVCColumn",1,["ivc::ivc::columns::IVCColumn"]],["impl UnwindSafe for IVCHashLens",1,["ivc::ivc::columns::IVCHashLens"]],["impl UnwindSafe for IVCFECLens",1,["ivc::ivc::columns::IVCFECLens"]],["impl<F> UnwindSafe for ScalarLimbs<F>where\n F: UnwindSafe,",1,["ivc::ivc::interpreter::ScalarLimbs"]],["impl<Ff> UnwindSafe for IVCLookupTable<Ff>where\n Ff: UnwindSafe,",1,["ivc::ivc::lookups::IVCLookupTable"]],["impl<Ff> UnwindSafe for IVCFECLookupLens<Ff>where\n Ff: UnwindSafe,",1,["ivc::ivc::lookups::IVCFECLookupLens"]],["impl<const N_COL: usize, const N_FSEL: usize, F, Evals> UnwindSafe for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where\n Evals: UnwindSafe,\n F: UnwindSafe,",1,["ivc::plonkish_lang::PlonkishWitnessGeneric"]],["impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> UnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where\n G: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["ivc::plonkish_lang::PlonkishInstance"]],["impl UnwindSafe for PlonkishChallenge",1,["ivc::plonkish_lang::PlonkishChallenge"]],["impl UnwindSafe for PlonkishChallengeIter",1,["ivc::plonkish_lang::PlonkishChallengeIter"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_2::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND>",1,["ivc::poseidon_55_0_7_3_7::columns::PoseidonColumn"]],["impl<const STATE_SIZE: usize, const NB_FULL_ROUND: usize, const NB_PARTIAL_ROUND: usize> UnwindSafe for PoseidonColumn<STATE_SIZE, NB_FULL_ROUND, NB_PARTIAL_ROUND>",1,["ivc::poseidon_8_56_5_3_2::columns::PoseidonColumn"]],["impl UnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_8_56_5_3_2::bn254::PlonkSpongeConstantsIVC"]],["impl UnwindSafe for PoseidonBN254Parameters",1,["ivc::poseidon_8_56_5_3_2::bn254::PoseidonBN254Parameters"]],["impl UnwindSafe for PlonkSpongeConstantsIVC",1,["ivc::poseidon_params_55_0_7_3::PlonkSpongeConstantsIVC"]]], "kimchi":[["impl<F> UnwindSafe for Alphas<F>where\n F: UnwindSafe,",1,["kimchi::alphas::Alphas"]],["impl<I, T> UnwindSafe for MustConsumeIterator<I, T>where\n I: UnwindSafe,",1,["kimchi::alphas::MustConsumeIterator"]],["impl UnwindSafe for BenchmarkCtx",1,["kimchi::bench::BenchmarkCtx"]],["impl UnwindSafe for ArgumentType",1,["kimchi::circuits::argument::ArgumentType"]],["impl<F, T> UnwindSafe for ArgumentEnv<F, T>where\n F: UnwindSafe + RefUnwindSafe,\n T: UnwindSafe,",1,["kimchi::circuits::argument::ArgumentEnv"]],["impl<F> UnwindSafe for ArgumentData<F>where\n F: UnwindSafe + RefUnwindSafe,",1,["kimchi::circuits::argument::ArgumentData"]],["impl<T> UnwindSafe for ArgumentWitness<T>where\n T: UnwindSafe,",1,["kimchi::circuits::argument::ArgumentWitness"]],["impl UnwindSafe for Column",1,["kimchi::circuits::berkeley_columns::Column"]],["impl<'a, F> UnwindSafe for LookupEnvironment<'a, F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::berkeley_columns::LookupEnvironment"]],["impl<'a, F> UnwindSafe for Environment<'a, F>where\n F: UnwindSafe + RefUnwindSafe,",1,["kimchi::circuits::berkeley_columns::Environment"]],["impl UnwindSafe for FeatureFlags",1,["kimchi::circuits::constraints::FeatureFlags"]],["impl<F> UnwindSafe for EvaluatedColumnCoefficients<F>where\n F: UnwindSafe,",1,["kimchi::circuits::constraints::EvaluatedColumnCoefficients"]],["impl<F> UnwindSafe for ColumnEvaluations<F>where\n F: UnwindSafe,",1,["kimchi::circuits::constraints::ColumnEvaluations"]],["impl<F> UnwindSafe for ConstraintSystem<F>where\n F: UnwindSafe + RefUnwindSafe,",1,["kimchi::circuits::constraints::ConstraintSystem"]],["impl UnwindSafe for GateError",1,["kimchi::circuits::constraints::GateError"]],["impl<F> UnwindSafe for Builder<F>where\n F: UnwindSafe + RefUnwindSafe,",1,["kimchi::circuits::constraints::Builder"]],["impl<F> UnwindSafe for DomainConstantEvaluations<F>where\n F: UnwindSafe,",1,["kimchi::circuits::domain_constant_evaluation::DomainConstantEvaluations"]],["impl<F> UnwindSafe for EvaluationDomains<F>where\n F: UnwindSafe,",1,["kimchi::circuits::domains::EvaluationDomains"]],["impl<Column> UnwindSafe for ExprError<Column>where\n Column: UnwindSafe,",1,["kimchi::circuits::expr::ExprError"]],["impl<F> UnwindSafe for Challenges<F>where\n F: UnwindSafe,",1,["kimchi::circuits::expr::Challenges"]],["impl<F> UnwindSafe for Constants<F>where\n F: UnwindSafe + RefUnwindSafe,",1,["kimchi::circuits::expr::Constants"]],["impl<Column> UnwindSafe for Variable<Column>where\n Column: UnwindSafe,",1,["kimchi::circuits::expr::Variable"]],["impl UnwindSafe for ChallengeTerm",1,["kimchi::circuits::expr::ChallengeTerm"]],["impl<F> UnwindSafe for ConstantTerm<F>where\n F: UnwindSafe,",1,["kimchi::circuits::expr::ConstantTerm"]],["impl<F> UnwindSafe for ConstantExprInner<F>where\n F: UnwindSafe,",1,["kimchi::circuits::expr::ConstantExprInner"]],["impl<T> UnwindSafe for Operations<T>where\n T: UnwindSafe,",1,["kimchi::circuits::expr::Operations"]],["impl UnwindSafe for CacheId",1,["kimchi::circuits::expr::CacheId"]],["impl UnwindSafe for Cache",1,["kimchi::circuits::expr::Cache"]],["impl UnwindSafe for FeatureFlag",1,["kimchi::circuits::expr::FeatureFlag"]],["impl UnwindSafe for RowOffset",1,["kimchi::circuits::expr::RowOffset"]],["impl<C, Column> UnwindSafe for ExprInner<C, Column>where\n C: UnwindSafe,\n Column: UnwindSafe,",1,["kimchi::circuits::expr::ExprInner"]],["impl<F, Column> UnwindSafe for PolishToken<F, Column>where\n Column: UnwindSafe,\n F: UnwindSafe,",1,["kimchi::circuits::expr::PolishToken"]],["impl UnwindSafe for Domain",1,["kimchi::circuits::expr::Domain"]],["impl<E, Column> UnwindSafe for Linearization<E, Column>where\n Column: UnwindSafe,\n E: UnwindSafe,",1,["kimchi::circuits::expr::Linearization"]],["impl<F> UnwindSafe for CamlCircuitGate<F>where\n F: UnwindSafe,",1,["kimchi::circuits::gate::caml::CamlCircuitGate"]],["impl UnwindSafe for CurrOrNext",1,["kimchi::circuits::gate::CurrOrNext"]],["impl UnwindSafe for GateType",1,["kimchi::circuits::gate::GateType"]],["impl UnwindSafe for CircuitGateError",1,["kimchi::circuits::gate::CircuitGateError"]],["impl<F> UnwindSafe for CircuitGate<F>where\n F: UnwindSafe,",1,["kimchi::circuits::gate::CircuitGate"]],["impl<'a, F> UnwindSafe for Circuit<'a, F>where\n F: RefUnwindSafe,",1,["kimchi::circuits::gate::Circuit"]],["impl<F> UnwindSafe for LookupConfiguration<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::constraints::LookupConfiguration"]],["impl UnwindSafe for LookupError",1,["kimchi::circuits::lookup::index::LookupError"]],["impl<T> UnwindSafe for LookupSelectors<T>where\n T: UnwindSafe,",1,["kimchi::circuits::lookup::index::LookupSelectors"]],["impl<F> UnwindSafe for LookupConstraintSystem<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::index::LookupConstraintSystem"]],["impl UnwindSafe for LookupPatterns",1,["kimchi::circuits::lookup::lookups::LookupPatterns"]],["impl UnwindSafe for LookupFeatures",1,["kimchi::circuits::lookup::lookups::LookupFeatures"]],["impl UnwindSafe for LookupInfo",1,["kimchi::circuits::lookup::lookups::LookupInfo"]],["impl UnwindSafe for LocalPosition",1,["kimchi::circuits::lookup::lookups::LocalPosition"]],["impl<F> UnwindSafe for SingleLookup<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::lookups::SingleLookup"]],["impl UnwindSafe for LookupTableID",1,["kimchi::circuits::lookup::lookups::LookupTableID"]],["impl<SingleLookup, LookupTableID> UnwindSafe for JointLookup<SingleLookup, LookupTableID>where\n LookupTableID: UnwindSafe,\n SingleLookup: UnwindSafe,",1,["kimchi::circuits::lookup::lookups::JointLookup"]],["impl UnwindSafe for LookupPattern",1,["kimchi::circuits::lookup::lookups::LookupPattern"]],["impl UnwindSafe for LookupPatternIter",1,["kimchi::circuits::lookup::lookups::LookupPatternIter"]],["impl<CamlF> UnwindSafe for CamlRuntimeTable<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTable"]],["impl UnwindSafe for CamlRuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableSpec"]],["impl<CamlF> UnwindSafe for CamlRuntimeTableCfg<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::caml::CamlRuntimeTableCfg"]],["impl UnwindSafe for RuntimeTableSpec",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableSpec"]],["impl<F> UnwindSafe for RuntimeTableCfg<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTableCfg"]],["impl<F> UnwindSafe for RuntimeTable<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::runtime_tables::RuntimeTable"]],["impl<CamlF> UnwindSafe for CamlLookupTable<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::circuits::lookup::tables::caml::CamlLookupTable"]],["impl UnwindSafe for GateLookupTable",1,["kimchi::circuits::lookup::tables::GateLookupTable"]],["impl UnwindSafe for GateLookupTables",1,["kimchi::circuits::lookup::tables::GateLookupTables"]],["impl<F> UnwindSafe for LookupTable<F>where\n F: UnwindSafe,",1,["kimchi::circuits::lookup::tables::LookupTable"]],["impl<F> UnwindSafe for WitnessEvals<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::WitnessEvals"]],["impl<F> UnwindSafe for WitnessShifts<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::WitnessShifts"]],["impl<F> UnwindSafe for WitnessOverDomains<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::WitnessOverDomains"]],["impl<F> UnwindSafe for LookupEvals<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::LookupEvals"]],["impl<F> UnwindSafe for LookupShifts<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::LookupShifts"]],["impl<F> UnwindSafe for LookupPolys<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomial::LookupPolys"]],["impl<F> UnwindSafe for CompleteAdd<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::complete_add::CompleteAdd"]],["impl<F> UnwindSafe for EndomulScalar<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::endomul_scalar::EndomulScalar"]],["impl<F> UnwindSafe for EndosclMul<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::endosclmul::EndosclMul"]],["impl<F> UnwindSafe for EndoMulResult<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::endosclmul::EndoMulResult"]],["impl<F> UnwindSafe for ForeignFieldAdd<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_add::circuitgates::ForeignFieldAdd"]],["impl UnwindSafe for FFOps",1,["kimchi::circuits::polynomials::foreign_field_add::witness::FFOps"]],["impl<F> UnwindSafe for ForeignFieldMul<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_mul::circuitgates::ForeignFieldMul"]],["impl<F> UnwindSafe for ExternalChecks<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::foreign_field_mul::witness::ExternalChecks"]],["impl<F> UnwindSafe for Generic<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::generic::Generic"]],["impl<F> UnwindSafe for GenericGateSpec<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::generic::GenericGateSpec"]],["impl<F> UnwindSafe for KeccakRound<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakRound"]],["impl<F> UnwindSafe for KeccakSponge<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::keccak::circuitgates::KeccakSponge"]],["impl UnwindSafe for Rotation",1,["kimchi::circuits::polynomials::keccak::witness::Rotation"]],["impl UnwindSafe for Theta",1,["kimchi::circuits::polynomials::keccak::witness::Theta"]],["impl UnwindSafe for PiRho",1,["kimchi::circuits::polynomials::keccak::witness::PiRho"]],["impl UnwindSafe for Chi",1,["kimchi::circuits::polynomials::keccak::witness::Chi"]],["impl UnwindSafe for Iota",1,["kimchi::circuits::polynomials::keccak::witness::Iota"]],["impl UnwindSafe for Keccak",1,["kimchi::circuits::polynomials::keccak::Keccak"]],["impl<F> UnwindSafe for Shifts<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::permutation::Shifts"]],["impl<F> UnwindSafe for Poseidon<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::poseidon::Poseidon"]],["impl<F> UnwindSafe for RangeCheck0<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck0"]],["impl<F> UnwindSafe for RangeCheck1<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::range_check::circuitgates::RangeCheck1"]],["impl UnwindSafe for RotMode",1,["kimchi::circuits::polynomials::rot::RotMode"]],["impl<F> UnwindSafe for Rot64<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::rot::Rot64"]],["impl<F> UnwindSafe for Claim<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Claim"]],["impl<F> UnwindSafe for Instruction<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Instruction"]],["impl<F> UnwindSafe for Flags<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Flags"]],["impl<F> UnwindSafe for Transition<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::turshi::Transition"]],["impl<T> UnwindSafe for Layout<T>where\n T: UnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::Layout"]],["impl<F> UnwindSafe for VarbaseMulResult<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMulResult"]],["impl<F> UnwindSafe for VarbaseMul<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::varbasemul::VarbaseMul"]],["impl<F> UnwindSafe for Xor16<F>where\n F: UnwindSafe,",1,["kimchi::circuits::polynomials::xor::Xor16"]],["impl<CamlF> UnwindSafe for CamlRandomOracles<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::circuits::scalars::caml::CamlRandomOracles"]],["impl<F> UnwindSafe for RandomOracles<F>where\n F: UnwindSafe,",1,["kimchi::circuits::scalars::RandomOracles"]],["impl UnwindSafe for CamlWire",1,["kimchi::circuits::wires::caml::CamlWire"]],["impl UnwindSafe for Wire",1,["kimchi::circuits::wires::Wire"]],["impl<F> UnwindSafe for ConstantCell<F>where\n F: UnwindSafe,",1,["kimchi::circuits::witness::constant_cell::ConstantCell"]],["impl UnwindSafe for CopyBitsCell",1,["kimchi::circuits::witness::copy_bits_cell::CopyBitsCell"]],["impl UnwindSafe for CopyCell",1,["kimchi::circuits::witness::copy_cell::CopyCell"]],["impl UnwindSafe for CopyShiftCell",1,["kimchi::circuits::witness::copy_shift_cell::CopyShiftCell"]],["impl<'a> UnwindSafe for IndexCell<'a>",1,["kimchi::circuits::witness::index_cell::IndexCell"]],["impl<'a> UnwindSafe for VariableBitsCell<'a>",1,["kimchi::circuits::witness::variable_bits_cell::VariableBitsCell"]],["impl<'a> UnwindSafe for VariableCell<'a>",1,["kimchi::circuits::witness::variable_cell::VariableCell"]],["impl<'a, T> UnwindSafe for Variables<'a, T>where\n T: UnwindSafe,",1,["kimchi::circuits::witness::variables::Variables"]],["impl UnwindSafe for ProverError",1,["kimchi::error::ProverError"]],["impl UnwindSafe for VerifyError",1,["kimchi::error::VerifyError"]],["impl UnwindSafe for DomainCreationError",1,["kimchi::error::DomainCreationError"]],["impl UnwindSafe for SetupError",1,["kimchi::error::SetupError"]],["impl UnwindSafe for VerifierIndexError",1,["kimchi::error::VerifierIndexError"]],["impl<F> UnwindSafe for LagrangeBasisEvaluations<F>where\n F: UnwindSafe,",1,["kimchi::lagrange_basis_evaluations::LagrangeBasisEvaluations"]],["impl<CamlF> UnwindSafe for CamlOracles<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::oracles::caml::CamlOracles"]],["impl<G, EFqSponge> UnwindSafe for OraclesResult<G, EFqSponge>where\n EFqSponge: UnwindSafe,\n G: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::oracles::OraclesResult"]],["impl UnwindSafe for StoredSRSType",1,["kimchi::precomputed_srs::StoredSRSType"]],["impl<G> UnwindSafe for TestSRS<G>where\n G: UnwindSafe,",1,["kimchi::precomputed_srs::TestSRS"]],["impl<CamlG, CamlF> UnwindSafe for CamlRecursionChallenge<CamlG, CamlF>where\n CamlF: UnwindSafe,\n CamlG: UnwindSafe,",1,["kimchi::proof::caml::CamlRecursionChallenge"]],["impl<CamlF> UnwindSafe for CamlProofEvaluations<CamlF>where\n CamlF: UnwindSafe,",1,["kimchi::proof::caml::CamlProofEvaluations"]],["impl<Evals> UnwindSafe for PointEvaluations<Evals>where\n Evals: UnwindSafe,",1,["kimchi::proof::PointEvaluations"]],["impl<Evals> UnwindSafe for ProofEvaluations<Evals>where\n Evals: UnwindSafe,",1,["kimchi::proof::ProofEvaluations"]],["impl<G> UnwindSafe for LookupCommitments<G>where\n G: UnwindSafe,",1,["kimchi::proof::LookupCommitments"]],["impl<G> UnwindSafe for ProverCommitments<G>where\n G: UnwindSafe,",1,["kimchi::proof::ProverCommitments"]],["impl<G, OpeningProof> UnwindSafe for ProverProof<G, OpeningProof>where\n G: UnwindSafe,\n OpeningProof: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::proof::ProverProof"]],["impl<G> UnwindSafe for RecursionChallenge<G>where\n G: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::proof::RecursionChallenge"]],["impl UnwindSafe for CamlTraces",1,["kimchi::prover::internal_traces::caml::CamlTraces"]],["impl UnwindSafe for Traces",1,["kimchi::prover::internal_traces::Traces"]],["impl<CamlG, CamlF> UnwindSafe for CamlProofWithPublic<CamlG, CamlF>where\n CamlF: UnwindSafe,\n CamlG: UnwindSafe,",1,["kimchi::prover::caml::CamlProofWithPublic"]],["impl<CamlG, CamlF> UnwindSafe for CamlProverProof<CamlG, CamlF>where\n CamlF: UnwindSafe,\n CamlG: UnwindSafe,",1,["kimchi::prover::caml::CamlProverProof"]],["impl<CamlG> UnwindSafe for CamlLookupCommitments<CamlG>where\n CamlG: UnwindSafe,",1,["kimchi::prover::caml::CamlLookupCommitments"]],["impl<CamlG> UnwindSafe for CamlProverCommitments<CamlG>where\n CamlG: UnwindSafe,",1,["kimchi::prover::caml::CamlProverCommitments"]],["impl<G, OpeningProof> UnwindSafe for ProverIndex<G, OpeningProof>where\n G: UnwindSafe,\n <G as AffineCurve>::BaseField: UnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::prover_index::ProverIndex"]],["impl<F> UnwindSafe for Witness<F>where\n F: UnwindSafe,",1,["kimchi::snarky::api::Witness"]],["impl<Circuit> UnwindSafe for ProverIndexWrapper<Circuit>where\n Circuit: UnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::BaseField: UnwindSafe,\n <Circuit as SnarkyCircuit>::Curve: UnwindSafe,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::snarky::api::ProverIndexWrapper"]],["impl<Circuit> UnwindSafe for VerifierIndexWrapper<Circuit>where\n <Circuit as SnarkyCircuit>::Curve: UnwindSafe,\n <<Circuit as SnarkyCircuit>::Proof as OpenProof<<Circuit as SnarkyCircuit>::Curve>>::SRS: RefUnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::snarky::api::VerifierIndexWrapper"]],["impl<Circuit> UnwindSafe for CompiledCircuit<Circuit>where\n Circuit: UnwindSafe,\n <<Circuit as SnarkyCircuit>::Curve as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::snarky::api::CompiledCircuit"]],["impl<T> UnwindSafe for OrderedHashSet<T>where\n T: UnwindSafe,",1,["kimchi::snarky::asm::OrderedHashSet"]],["impl<F> UnwindSafe for Boolean<F>where\n F: UnwindSafe,",1,["kimchi::snarky::boolean::Boolean"]],["impl<F> UnwindSafe for Constants<F>where\n F: UnwindSafe,",1,["kimchi::snarky::constants::Constants"]],["impl<A> UnwindSafe for ScaleRound<A>where\n A: UnwindSafe,",1,["kimchi::snarky::constraint_system::ScaleRound"]],["impl<A> UnwindSafe for EndoscaleRound<A>where\n A: UnwindSafe,",1,["kimchi::snarky::constraint_system::EndoscaleRound"]],["impl<A> UnwindSafe for EndoscaleScalarRound<A>where\n A: UnwindSafe,",1,["kimchi::snarky::constraint_system::EndoscaleScalarRound"]],["impl<Var> UnwindSafe for BasicSnarkyConstraint<Var>where\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::BasicSnarkyConstraint"]],["impl<Var, Field> UnwindSafe for BasicInput<Var, Field>where\n Field: UnwindSafe,\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::BasicInput"]],["impl<Var> UnwindSafe for PoseidonInput<Var>where\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::PoseidonInput"]],["impl<Var> UnwindSafe for EcAddCompleteInput<Var>where\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::EcAddCompleteInput"]],["impl<Var> UnwindSafe for EcEndoscaleInput<Var>where\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::EcEndoscaleInput"]],["impl<Var, Field> UnwindSafe for KimchiConstraint<Var, Field>where\n Field: UnwindSafe,\n Var: UnwindSafe,",1,["kimchi::snarky::constraint_system::KimchiConstraint"]],["impl<Field> UnwindSafe for SnarkyConstraintSystem<Field>where\n Field: UnwindSafe,",1,["kimchi::snarky::constraint_system::SnarkyConstraintSystem"]],["impl<F> UnwindSafe for FieldVar<F>where\n F: UnwindSafe,",1,["kimchi::snarky::cvar::FieldVar"]],["impl UnwindSafe for RealSnarkyError",1,["kimchi::snarky::errors::RealSnarkyError"]],["impl UnwindSafe for SnarkyError",1,["kimchi::snarky::errors::SnarkyError"]],["impl UnwindSafe for SnarkyCompilationError",1,["kimchi::snarky::errors::SnarkyCompilationError"]],["impl UnwindSafe for SnarkyRuntimeError",1,["kimchi::snarky::errors::SnarkyRuntimeError"]],["impl<F> UnwindSafe for ForeignElement<F>where\n F: UnwindSafe,",1,["kimchi::snarky::folding::ForeignElement"]],["impl<F> UnwindSafe for FullChallenge<F>where\n F: UnwindSafe,",1,["kimchi::snarky::folding::FullChallenge"]],["impl<F, const N: usize> UnwindSafe for Private<F, N>where\n F: UnwindSafe,",1,["kimchi::snarky::folding::Private"]],["impl<F> UnwindSafe for DuplexState<F>where\n F: UnwindSafe,",1,["kimchi::snarky::poseidon::DuplexState"]],["impl<F> UnwindSafe for Constraint<F>where\n F: UnwindSafe,",1,["kimchi::snarky::runner::Constraint"]],["impl<F> UnwindSafe for RunState<F>where\n F: UnwindSafe,",1,["kimchi::snarky::runner::RunState"]],["impl<T> UnwindSafe for DisjointSet<T>where\n T: UnwindSafe,",1,["kimchi::snarky::union_find::DisjointSet"]],["impl<'a, G, OpeningProof> UnwindSafe for Context<'a, G, OpeningProof>where\n G: RefUnwindSafe,\n OpeningProof: RefUnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi::verifier::Context"]],["impl<G> UnwindSafe for LookupVerifierIndex<G>where\n G: UnwindSafe,",1,["kimchi::verifier_index::LookupVerifierIndex"]],["impl<G, OpeningProof> UnwindSafe for VerifierIndex<G, OpeningProof>where\n G: UnwindSafe,\n <OpeningProof as OpenProof<G>>::SRS: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe,",1,["kimchi::verifier_index::VerifierIndex"]]], "kimchi_msm":[["impl<T> UnwindSafe for IdMPrism<T>where\n T: UnwindSafe,",1,["kimchi_msm::circuit_design::composition::IdMPrism"]],["impl<LHS, RHS> UnwindSafe for ComposedMPrism<LHS, RHS>where\n LHS: UnwindSafe,\n RHS: UnwindSafe,",1,["kimchi_msm::circuit_design::composition::ComposedMPrism"]],["impl<'a, F, CIx1, Env1, L> !UnwindSafe for SubEnvColumn<'a, F, CIx1, Env1, L>",1,["kimchi_msm::circuit_design::composition::SubEnvColumn"]],["impl<'a, F, CIx1, Env1, L> !UnwindSafe for SubEnvLookup<'a, F, CIx1, Env1, L>",1,["kimchi_msm::circuit_design::composition::SubEnvLookup"]],["impl<F, LT> !UnwindSafe for ConstraintBuilderEnv<F, LT>",1,["kimchi_msm::circuit_design::constraints::ConstraintBuilderEnv"]],["impl<F, CIx, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT> !UnwindSafe for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>",1,["kimchi_msm::circuit_design::witness::WitnessBuilderEnv"]],["impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> UnwindSafe for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: UnwindSafe + RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::column_env::ColumnEnvironment"]],["impl UnwindSafe for Column",1,["kimchi_msm::columns::Column"]],["impl<'a, F, ID> UnwindSafe for QuotientPolynomialEnvironment<'a, F, ID>where\n F: RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::logup::prover::QuotientPolynomialEnvironment"]],["impl<G, ID> UnwindSafe for Env<G, ID>where\n G: UnwindSafe + RefUnwindSafe,\n ID: RefUnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi_msm::logup::prover::Env"]],["impl<F, ID> UnwindSafe for Logup<F, ID>where\n F: UnwindSafe,\n ID: UnwindSafe,",1,["kimchi_msm::logup::Logup"]],["impl<F, ID> UnwindSafe for LookupTable<F, ID>where\n F: UnwindSafe,\n ID: UnwindSafe,",1,["kimchi_msm::logup::LookupTable"]],["impl<F, ID> UnwindSafe for LogupWitness<F, ID>where\n F: UnwindSafe,\n ID: UnwindSafe,",1,["kimchi_msm::logup::LogupWitness"]],["impl<T, ID> UnwindSafe for LookupProof<T, ID>where\n ID: RefUnwindSafe,\n T: UnwindSafe + RefUnwindSafe,",1,["kimchi_msm::logup::LookupProof"]],["impl UnwindSafe for DummyLookupTable",1,["kimchi_msm::lookups::DummyLookupTable"]],["impl UnwindSafe for LookupTableIDs",1,["kimchi_msm::lookups::LookupTableIDs"]],["impl<Pair> UnwindSafe for TestPairingSRS<Pair>where\n <Pair as PairingEngine>::G1Affine: UnwindSafe,\n <Pair as PairingEngine>::G2Affine: UnwindSafe,",1,["kimchi_msm::precomputed_srs::TestPairingSRS"]],["impl<const N_WIT: usize, F, ID> UnwindSafe for ProofInputs<N_WIT, F, ID>where\n F: UnwindSafe,\n ID: UnwindSafe,",1,["kimchi_msm::proof::ProofInputs"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> UnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where\n F: UnwindSafe + RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::proof::ProofEvaluations"]],["impl<const N_WIT: usize, G, ID> UnwindSafe for ProofCommitments<N_WIT, G, ID>where\n G: UnwindSafe + RefUnwindSafe,\n ID: RefUnwindSafe,",1,["kimchi_msm::proof::ProofCommitments"]],["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> UnwindSafe for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where\n G: UnwindSafe + RefUnwindSafe,\n ID: RefUnwindSafe,\n OpeningProof: UnwindSafe,\n <G as AffineCurve>::ScalarField: UnwindSafe + RefUnwindSafe,",1,["kimchi_msm::proof::Proof"]],["impl UnwindSafe for ProverError",1,["kimchi_msm::prover::ProverError"]],["impl<const N_WIT: usize, T> UnwindSafe for Witness<N_WIT, T>where\n T: UnwindSafe,",1,["kimchi_msm::witness::Witness"]],["impl UnwindSafe for FECColumnInput",1,["kimchi_msm::fec::columns::FECColumnInput"]],["impl UnwindSafe for FECColumnOutput",1,["kimchi_msm::fec::columns::FECColumnOutput"]],["impl UnwindSafe for FECColumnInter",1,["kimchi_msm::fec::columns::FECColumnInter"]],["impl UnwindSafe for FECColumn",1,["kimchi_msm::fec::columns::FECColumn"]],["impl<Ff> UnwindSafe for LookupTable<Ff>where\n Ff: UnwindSafe,",1,["kimchi_msm::fec::lookups::LookupTable"]],["impl<Ff> UnwindSafe for LookupTableIter<Ff>where\n Ff: UnwindSafe,",1,["kimchi_msm::fec::lookups::LookupTableIter"]],["impl UnwindSafe for FFAColumn",1,["kimchi_msm::ffa::columns::FFAColumn"]],["impl UnwindSafe for LookupTable",1,["kimchi_msm::ffa::lookups::LookupTable"]],["impl UnwindSafe for LookupTableIter",1,["kimchi_msm::ffa::lookups::LookupTableIter"]],["impl UnwindSafe for SerializationColumn",1,["kimchi_msm::serialization::column::SerializationColumn"]],["impl<Ff> UnwindSafe for LookupTable<Ff>where\n Ff: UnwindSafe,",1,["kimchi_msm::serialization::lookups::LookupTable"]],["impl<Ff> UnwindSafe for LookupTableIter<Ff>where\n Ff: UnwindSafe,",1,["kimchi_msm::serialization::lookups::LookupTableIter"]],["impl UnwindSafe for TestColumn",1,["kimchi_msm::test::test_circuit::columns::TestColumn"]]], "kimchi_visu":[["impl<F> UnwindSafe for Witness<F>where\n F: UnwindSafe,",1,["kimchi_visu::witness::Witness"]]], diff --git a/rustdoc/implementors/folding/instance_witness/trait.Foldable.js b/rustdoc/implementors/folding/instance_witness/trait.Foldable.js index af57bdb7e0..f1469ca1d5 100644 --- a/rustdoc/implementors/folding/instance_witness/trait.Foldable.js +++ b/rustdoc/implementors/folding/instance_witness/trait.Foldable.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[], -"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Foldable<F> for PlonkishWitness<N_COL, N_FSEL, F>"],["impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineCurve>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>"]], +"ivc":[["impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineCurve>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>"],["impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals: CombinableEvals<F>> Foldable<F> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>"]], "kimchi_msm":[["impl<const N: usize, F: FftField> Foldable<F> for Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>"]], "o1vm":[["impl<const N: usize, F: FftField> Foldable<F> for FoldingWitness<N, F>"],["impl<const N: usize, G: CommitmentCurve> Foldable<<G as AffineCurve>::ScalarField> for FoldingInstance<N, G>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/folding/instance_witness/trait.Instance.js b/rustdoc/implementors/folding/instance_witness/trait.Instance.js index 430fc60925..b5345758c4 100644 --- a/rustdoc/implementors/folding/instance_witness/trait.Instance.js +++ b/rustdoc/implementors/folding/instance_witness/trait.Instance.js @@ -1,5 +1,5 @@ (function() {var implementors = { "folding":[], -"ivc":[["impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>"]], +"ivc":[["impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>"]], "o1vm":[["impl<const N: usize, G: CommitmentCurve> Instance<G> for FoldingInstance<N, G>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/folding/instance_witness/trait.Witness.js b/rustdoc/implementors/folding/instance_witness/trait.Witness.js index 99971bdc47..f0ecee0b4e 100644 --- a/rustdoc/implementors/folding/instance_witness/trait.Witness.js +++ b/rustdoc/implementors/folding/instance_witness/trait.Witness.js @@ -1,6 +1,6 @@ (function() {var implementors = { "folding":[], -"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve> Witness<Curve> for PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>"]], +"ivc":[["impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve, Evals: CombinableEvals<Curve::ScalarField>> Witness<Curve> for PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Evals>"]], "kimchi_msm":[["impl<const N: usize, G: CommitmentCurve> Witness<G> for Witness<N, Evaluations<G::ScalarField, Radix2EvaluationDomain<G::ScalarField>>>"]], "o1vm":[["impl<const N: usize, G: CommitmentCurve> Witness<G> for FoldingWitness<N, G::ScalarField>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/ivc/plonkish_lang/trait.CombinableEvals.js b/rustdoc/implementors/ivc/plonkish_lang/trait.CombinableEvals.js new file mode 100644 index 0000000000..d08722bb40 --- /dev/null +++ b/rustdoc/implementors/ivc/plonkish_lang/trait.CombinableEvals.js @@ -0,0 +1,3 @@ +(function() {var implementors = { +"ivc":[] +};if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEnvironment.js b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEnvironment.js index c0d87c2be5..0a04846b6d 100644 --- a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEnvironment.js +++ b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEnvironment.js @@ -1,4 +1,4 @@ (function() {var implementors = { "kimchi":[], -"kimchi_msm":[["impl<'a, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: FftField, ID: LookupTableID> ColumnEnvironment<'a, F> for ColumnEnvironment<'a, N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"]] +"kimchi_msm":[["impl<'a, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: FftField, ID: LookupTableID> ColumnEnvironment<'a, F> for ColumnEnvironment<'a, N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js index ddec7d0d3e..e1ad06e4dc 100644 --- a/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js +++ b/rustdoc/implementors/kimchi/circuits/expr/trait.ColumnEvaluations.js @@ -1,4 +1,4 @@ (function() {var implementors = { "kimchi":[], -"kimchi_msm":[["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: LookupTableID> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"]] +"kimchi_msm":[["impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: LookupTableID> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/implementors/kimchi/circuits/expr/trait.FormattedOutput.js b/rustdoc/implementors/kimchi/circuits/expr/trait.FormattedOutput.js index f7e6e11ef6..ac84a3524e 100644 --- a/rustdoc/implementors/kimchi/circuits/expr/trait.FormattedOutput.js +++ b/rustdoc/implementors/kimchi/circuits/expr/trait.FormattedOutput.js @@ -1,4 +1,4 @@ (function() {var implementors = { "kimchi":[], -"kimchi_msm":[["impl FormattedOutput for Column"]] +"kimchi_msm":[["impl FormattedOutput for Column"]] };if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/rustdoc/index.html b/rustdoc/index.html index 88b56a41de..279d742af5 100644 --- a/rustdoc/index.html +++ b/rustdoc/index.html @@ -1 +1 @@ -Index of crates
    \ No newline at end of file +Index of crates
    \ No newline at end of file diff --git a/rustdoc/ivc/all.html b/rustdoc/ivc/all.html index 4ab10bd2d8..58e8f23b20 100644 --- a/rustdoc/ivc/all.html +++ b/rustdoc/ivc/all.html @@ -1 +1 @@ -List of all items in this crate

    List of all items

    Structs

    Enums

    Traits

    Functions

    Type Definitions

    Constants

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

    List of all items

    Structs

    Enums

    Traits

    Functions

    Type Definitions

    Constants

    \ No newline at end of file diff --git a/rustdoc/ivc/expr_eval/struct.SimpleEvalEnv.html b/rustdoc/ivc/expr_eval/struct.SimpleEvalEnv.html index 4f06aa210f..4270c33f93 100644 --- a/rustdoc/ivc/expr_eval/struct.SimpleEvalEnv.html +++ b/rustdoc/ivc/expr_eval/struct.SimpleEvalEnv.html @@ -1,12 +1,12 @@ -SimpleEvalEnv in ivc::expr_eval - Rust
    pub struct SimpleEvalEnv<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize> {
    -    pub ext_witness: ExtendedWitness<Curve, PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>>,
    +SimpleEvalEnv in ivc::expr_eval - Rust
    pub struct SimpleEvalEnv<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize> {
    +    pub ext_witness: ExtendedWitness<Curve, PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>>,
         pub alphas: Alphas<Curve::ScalarField>,
         pub challenges: [Curve::ScalarField; 3],
         pub error_vec: Evaluations<Curve::ScalarField, R2D<Curve::ScalarField>>,
         pub u: Curve::ScalarField,
     }
    Expand description

    Minimal environment needed for evaluating constraints.

    -

    Fields§

    §ext_witness: ExtendedWitness<Curve, PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>>§alphas: Alphas<Curve::ScalarField>§challenges: [Curve::ScalarField; 3]§error_vec: Evaluations<Curve::ScalarField, R2D<Curve::ScalarField>>§u: Curve::ScalarField

    The scalar u that is used to homogenize the polynomials

    -

    Implementations§

    source§

    impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize> SimpleEvalEnv<Curve, N_COL, N_FSEL>

    source

    pub fn process_extended_folding_column<FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( +

    Fields§

    §ext_witness: ExtendedWitness<Curve, PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>>§alphas: Alphas<Curve::ScalarField>§challenges: [Curve::ScalarField; 3]§error_vec: Evaluations<Curve::ScalarField, R2D<Curve::ScalarField>>§u: Curve::ScalarField

    The scalar u that is used to homogenize the polynomials

    +

    Implementations§

    source§

    impl<Curve: KimchiCurve, const N_COL: usize, const N_FSEL: usize> SimpleEvalEnv<Curve, N_COL, N_FSEL>

    source

    pub fn process_extended_folding_column<FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( &self, col: &ExtendedFoldingColumn<FC> ) -> EvalLeaf<'_, Curve::ScalarField>

    source

    pub fn eval_naive_fexpr<'a, FC: FoldingConfig<Column = GenericColumn, Curve = Curve, Challenge = PlonkishChallenge>>( diff --git a/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html b/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html index 0f357a7db6..60b51f2cd3 100644 --- a/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html +++ b/rustdoc/ivc/ivc/lookups/enum.IVCLookupTable.html @@ -9,7 +9,7 @@

    source§

    fn to_u32(&self) -> u32

    Assign a unique ID, as a u32 value
    source§

    fn from_u32(value: u32) -> Self

    Build a value from a u32
    source§

    fn length(&self) -> usize

    Returns the length of each table.
    source§

    fn all_variants() -> Vec<Self>

    §

    fn to_field<F>(&self) -> Fwhere F: Field,

    Assign a unique ID to the lookup tables.
    §

    fn to_constraint<F>( &self -) -> Operations<ExprInner<Operations<ConstantExprInner<F>>, Column>>where +) -> Operations<ExprInner<Operations<ConstantExprInner<F>>, Column>>where F: Field,

    Assign a unique ID to the lookup tables, as an expression.
    source§

    impl<Ff: Ord> Ord for IVCLookupTable<Ff>

    source§

    fn cmp(&self, other: &IVCLookupTable<Ff>) -> Ordering

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

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

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

    fn min(self, other: Self) -> Selfwhere Self: Sized,

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

    fn clamp(self, min: Self, max: Self) -> Selfwhere diff --git a/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html b/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html index 465aa6ff57..cfc379246b 100644 --- a/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html +++ b/rustdoc/ivc/plonkish_lang/enum.PlonkishChallenge.html @@ -1,12 +1,12 @@ -PlonkishChallenge in ivc::plonkish_lang - Rust
    pub enum PlonkishChallenge {
    +PlonkishChallenge in ivc::plonkish_lang - Rust
    pub enum PlonkishChallenge {
         Beta,
         Gamma,
         JointCombiner,
    -}

    Variants§

    §

    Beta

    §

    Gamma

    §

    JointCombiner

    Trait Implementations§

    source§

    impl Clone for PlonkishChallenge

    source§

    fn clone(&self) -> PlonkishChallenge

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PlonkishChallenge

    source§

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

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

    impl EnumCount for PlonkishChallenge

    source§

    const COUNT: usize = 3usize

    source§

    impl From<ChallengeTerm> for PlonkishChallenge

    source§

    fn from(chal: ChallengeTerm) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for PlonkishChallenge

    source§

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

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

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

    Variants§

    §

    Beta

    §

    Gamma

    §

    JointCombiner

    Trait Implementations§

    source§

    impl Clone for PlonkishChallenge

    source§

    fn clone(&self) -> PlonkishChallenge

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PlonkishChallenge

    source§

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

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

    impl EnumCount for PlonkishChallenge

    source§

    const COUNT: usize = 3usize

    source§

    impl From<ChallengeTerm> for PlonkishChallenge

    source§

    fn from(chal: ChallengeTerm) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for PlonkishChallenge

    source§

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

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

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

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

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: PlonkishChallenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl IntoEnumIterator for PlonkishChallenge

    source§

    impl PartialEq<PlonkishChallenge> for PlonkishChallenge

    source§

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

    This method tests for self and other values to be equal, and is used + Self: Sized,

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

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: PlonkishChallenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl IntoEnumIterator for PlonkishChallenge

    source§

    impl PartialEq<PlonkishChallenge> for PlonkishChallenge

    source§

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

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

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

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

    impl Copy for PlonkishChallenge

    source§

    impl Eq for PlonkishChallenge

    source§

    impl StructuralEq for PlonkishChallenge

    source§

    impl StructuralPartialEq for PlonkishChallenge

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +sufficient, and should not be overridden without very good reason.

    source§

    impl Copy for PlonkishChallenge

    source§

    impl Eq for PlonkishChallenge

    source§

    impl StructuralEq for PlonkishChallenge

    source§

    impl StructuralPartialEq for PlonkishChallenge

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for Twhere diff --git a/rustdoc/ivc/plonkish_lang/index.html b/rustdoc/ivc/plonkish_lang/index.html index b9b6fb47fb..7ac836b0ad 100644 --- a/rustdoc/ivc/plonkish_lang/index.html +++ b/rustdoc/ivc/plonkish_lang/index.html @@ -1 +1 @@ -ivc::plonkish_lang - Rust
    \ No newline at end of file +ivc::plonkish_lang - Rust
    \ No newline at end of file diff --git a/rustdoc/ivc/plonkish_lang/sidebar-items.js b/rustdoc/ivc/plonkish_lang/sidebar-items.js index 4840e95e13..3c80c2f977 100644 --- a/rustdoc/ivc/plonkish_lang/sidebar-items.js +++ b/rustdoc/ivc/plonkish_lang/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"enum":["PlonkishChallenge"],"struct":["PlonkishChallengeIter","PlonkishInstance","PlonkishWitness"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"enum":["PlonkishChallenge"],"struct":["PlonkishChallengeIter","PlonkishInstance","PlonkishWitnessGeneric"],"trait":["CombinableEvals"],"type":["PlonkishWitness"]}; \ No newline at end of file diff --git a/rustdoc/ivc/plonkish_lang/struct.PlonkishChallengeIter.html b/rustdoc/ivc/plonkish_lang/struct.PlonkishChallengeIter.html index daf478bdb8..9cc8559dbb 100644 --- a/rustdoc/ivc/plonkish_lang/struct.PlonkishChallengeIter.html +++ b/rustdoc/ivc/plonkish_lang/struct.PlonkishChallengeIter.html @@ -1,5 +1,5 @@ -PlonkishChallengeIter in ivc::plonkish_lang - Rust
    pub struct PlonkishChallengeIter { /* private fields */ }
    Expand description

    An iterator over the variants of PlonkishChallenge

    -

    Trait Implementations§

    source§

    impl Clone for PlonkishChallengeIter

    source§

    fn clone(&self) -> PlonkishChallengeIter

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PlonkishChallengeIter

    source§

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

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

    impl DoubleEndedIterator for PlonkishChallengeIter

    source§

    fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere +PlonkishChallengeIter in ivc::plonkish_lang - Rust
    pub struct PlonkishChallengeIter { /* private fields */ }
    Expand description

    An iterator over the variants of PlonkishChallenge

    +

    Trait Implementations§

    source§

    impl Clone for PlonkishChallengeIter

    source§

    fn clone(&self) -> PlonkishChallengeIter

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for PlonkishChallengeIter

    source§

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

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

    impl DoubleEndedIterator for PlonkishChallengeIter

    source§

    fn next_back(&mut self) -> Option<<Self as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZeroUsize>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> Rwhere Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes @@ -8,7 +8,7 @@ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single, final value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>where Self: Sized, - P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl ExactSizeIterator for PlonkishChallengeIter

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl Iterator for PlonkishChallengeIter

    §

    type Item = PlonkishChallenge

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<Self as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn next_chunk<const N: usize>( + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source§

    impl ExactSizeIterator for PlonkishChallengeIter

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    source§

    impl Iterator for PlonkishChallengeIter

    §

    type Item = PlonkishChallenge

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<Self as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source§

    fn nth(&mut self, n: usize) -> Option<<Self as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn next_chunk<const N: usize>( &mut self ) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usizewhere @@ -194,7 +194,7 @@ Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd<K>,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction -function. Read more
    source§

    impl FusedIterator for PlonkishChallengeIter

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for Twhere +function. Read more

    source§

    impl FusedIterator for PlonkishChallengeIter

    Auto Trait Implementations§

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    diff --git a/rustdoc/ivc/plonkish_lang/struct.PlonkishInstance.html b/rustdoc/ivc/plonkish_lang/struct.PlonkishInstance.html index c9d310dbf7..ef87534e28 100644 --- a/rustdoc/ivc/plonkish_lang/struct.PlonkishInstance.html +++ b/rustdoc/ivc/plonkish_lang/struct.PlonkishInstance.html @@ -1,21 +1,21 @@ -PlonkishInstance in ivc::plonkish_lang - Rust
    pub struct PlonkishInstance<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> {
    +PlonkishInstance in ivc::plonkish_lang - Rust
    pub struct PlonkishInstance<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> {
         pub commitments: [G; N_COL],
         pub challenges: [G::ScalarField; N_CHALS],
         pub alphas: Alphas<G::ScalarField>,
         pub blinder: G::ScalarField,
    -}

    Fields§

    §commitments: [G; N_COL]§challenges: [G::ScalarField; N_CHALS]§alphas: Alphas<G::ScalarField>§blinder: G::ScalarField

    Implementations§

    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    source

    pub fn from_witness<EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>>( +}

    Fields§

    §commitments: [G; N_COL]§challenges: [G::ScalarField; N_CHALS]§alphas: Alphas<G::ScalarField>§blinder: G::ScalarField

    Implementations§

    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    source

    pub fn from_witness<EFqSponge: FqSponge<G::BaseField, G, G::ScalarField>>( w: &GenericWitness<N_COL, Evaluations<G::ScalarField, R2D<G::ScalarField>>>, fq_sponge: &mut EFqSponge, srs: &SRS<G>, domain: R2D<G::ScalarField> -) -> Self

    Trait Implementations§

    source§

    impl<G: Clone + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where - G::ScalarField: Clone,

    source§

    fn clone(&self) -> PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    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<G: Debug + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where - G::ScalarField: Debug,

    source§

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

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

    impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineCurve>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    source§

    fn combine(a: Self, b: Self, challenge: G::ScalarField) -> Self

    Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: PlonkishChallenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    source§

    fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)

    This method returns the scalars and commitments that must be absorbed by +) -> Self

    Trait Implementations§

    source§

    impl<G: Clone + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Clone for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where + G::ScalarField: Clone,

    source§

    fn clone(&self) -> PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    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<G: Debug + KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Debug for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where + G::ScalarField: Debug,

    source§

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

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

    impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Foldable<<G as AffineCurve>::ScalarField> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    source§

    fn combine(a: Self, b: Self, challenge: G::ScalarField) -> Self

    Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_ALPHAS: usize> Index<PlonkishChallenge> for PlonkishInstance<G, N_COL, 3, N_ALPHAS>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: PlonkishChallenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<G: KimchiCurve, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Instance<G> for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    source§

    fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)

    This method returns the scalars and commitments that must be absorbed by the sponge. It is not supposed to do any absorption itself, and the user is responsible for calling the sponge absorb methods with the elements returned by this method. When called on a RelaxedInstance, elements will be returned in the -following order, for given instances L and R Read more
    source§

    fn get_alphas(&self) -> &Alphas<G::ScalarField>

    Returns the alphas values for the instance
    source§

    fn get_blinder(&self) -> G::ScalarField

    Return the blinder that can be used while committing to polynomials.

    Auto Trait Implementations§

    §

    impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> RefUnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where +following order, for given instances L and R Read more

    source§

    fn get_alphas(&self) -> &Alphas<G::ScalarField>

    Returns the alphas values for the instance
    source§

    fn get_blinder(&self) -> G::ScalarField

    Return the blinder that can be used while committing to polynomials.

    Auto Trait Implementations§

    §

    impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> RefUnwindSafe for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G: RefUnwindSafe, <G as AffineCurve>::ScalarField: RefUnwindSafe,

    §

    impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Send for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    §

    impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> !Sync for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>

    §

    impl<G, const N_COL: usize, const N_CHALS: usize, const N_ALPHAS: usize> Unpin for PlonkishInstance<G, N_COL, N_CHALS, N_ALPHAS>where G: Unpin, diff --git a/rustdoc/ivc/plonkish_lang/struct.PlonkishWitness.html b/rustdoc/ivc/plonkish_lang/struct.PlonkishWitness.html deleted file mode 100644 index f4e7f60cd5..0000000000 --- a/rustdoc/ivc/plonkish_lang/struct.PlonkishWitness.html +++ /dev/null @@ -1,35 +0,0 @@ -PlonkishWitness in ivc::plonkish_lang - Rust
    pub struct PlonkishWitness<const N_COL: usize, const N_FSEL: usize, F: FftField> {
    -    pub witness: GenericWitness<N_COL, Evaluations<F, R2D<F>>>,
    -    pub fixed_selectors: GenericWitness<N_FSEL, Evaluations<F, R2D<F>>>,
    -}

    Fields§

    §witness: GenericWitness<N_COL, Evaluations<F, R2D<F>>>§fixed_selectors: GenericWitness<N_FSEL, Evaluations<F, R2D<F>>>

    Trait Implementations§

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Clone + FftField> Clone for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    fn clone(&self) -> PlonkishWitness<N_COL, N_FSEL, F>

    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<const N_COL: usize, const N_FSEL: usize, F: Debug + FftField> Debug for PlonkishWitness<N_COL, N_FSEL, F>

    source§

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Foldable<F> for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    fn combine(a: Self, b: Self, challenge: F) -> Self

    Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Hash + FftField> Hash for PlonkishWitness<N_COL, N_FSEL, F>

    source§

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

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

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>

    §

    type Output = Vec<F, Global>

    The returned type after indexing.
    source§

    fn index(&self, _index: ()) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<Column> for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    fn index(&self, index: Column) -> &Self::Output

    Map a column alias to the corresponding witness column.

    -
    §

    type Output = Vec<F, Global>

    The returned type after indexing.
    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: PartialEq + FftField> PartialEq<PlonkishWitness<N_COL, N_FSEL, F>> for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    fn eq(&self, other: &PlonkishWitness<N_COL, N_FSEL, F>) -> bool

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

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: Eq + FftField> Eq for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> StructuralEq for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> StructuralPartialEq for PlonkishWitness<N_COL, N_FSEL, F>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve> Witness<Curve> for PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>

    Auto Trait Implementations§

    §

    impl<const N_COL: usize, const N_FSEL: usize, F> RefUnwindSafe for PlonkishWitness<N_COL, N_FSEL, F>where - F: RefUnwindSafe,

    §

    impl<const N_COL: usize, const N_FSEL: usize, F> Send for PlonkishWitness<N_COL, N_FSEL, F>

    §

    impl<const N_COL: usize, const N_FSEL: usize, F> Sync for PlonkishWitness<N_COL, N_FSEL, F>

    §

    impl<const N_COL: usize, const N_FSEL: usize, F> Unpin for PlonkishWitness<N_COL, N_FSEL, F>

    §

    impl<const N_COL: usize, const N_FSEL: usize, F> UnwindSafe for PlonkishWitness<N_COL, N_FSEL, F>where - F: UnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

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

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

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

    source§

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

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for Twhere - T: Hash + ?Sized,

    §

    fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64where - H: Hash + ?Sized, - B: BuildHasher,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    -
    source§

    impl<T, U> Into<U> for Twhere - 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.

    -
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = mem::align_of::<T>()

    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<G, W> RelaxableWitness<G, W> for Wwhere - G: CommitmentCurve, - W: Witness<G>,

    §

    fn relax( - self, - zero_poly: &Evaluations<<G as AffineCurve>::ScalarField, Radix2EvaluationDomain<<G as AffineCurve>::ScalarField>> -) -> RelaxedWitness<G, W>

    This method takes a witness and a vector of evaluations to the zero -polynomial, returning a relaxed witness which is composed by the -extended witness and the error vector that is set to the zero -polynomial.

    -
    source§

    impl<T> Same<T> for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere - T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

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

    §

    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 Twhere - U: TryFrom<T>,

    §

    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 Twhere - V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/rustdoc/ivc/plonkish_lang/struct.PlonkishWitnessGeneric.html b/rustdoc/ivc/plonkish_lang/struct.PlonkishWitnessGeneric.html new file mode 100644 index 0000000000..aed8be07bd --- /dev/null +++ b/rustdoc/ivc/plonkish_lang/struct.PlonkishWitnessGeneric.html @@ -0,0 +1,41 @@ +PlonkishWitnessGeneric in ivc::plonkish_lang - Rust
    pub struct PlonkishWitnessGeneric<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> {
    +    pub witness: GenericWitness<N_COL, Evals>,
    +    pub fixed_selectors: GenericWitness<N_FSEL, Evals>,
    +    pub phantom: PhantomData<F>,
    +}

    Fields§

    §witness: GenericWitness<N_COL, Evals>§fixed_selectors: GenericWitness<N_FSEL, Evals>§phantom: PhantomData<F>

    Trait Implementations§

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Clone + Field, Evals: Clone> Clone for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    fn clone(&self) -> PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    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<const N_COL: usize, const N_FSEL: usize, F: Debug + Field, Evals: Debug> Debug for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals: CombinableEvals<F>> Foldable<F> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    fn combine(a: Self, b: Self, challenge: F) -> Self

    Combine two objects ‘a’ and ‘b’ into a new object using the challenge.
    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Hash + Field, Evals: Hash> Hash for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

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

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

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField, Evals: CombinableEvals<F>> Index<Column> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    fn index(&self, index: Column) -> &Self::Output

    Map a column alias to the corresponding witness column.

    +
    §

    type Output = [F]

    The returned type after indexing.
    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: PartialEq + Field, Evals: PartialEq> PartialEq<PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>> for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    fn eq(&self, other: &PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>) -> bool

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

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

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

    impl<const N_COL: usize, const N_FSEL: usize, F: Eq + Field, Evals: Eq> Eq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> StructuralEq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> StructuralPartialEq for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>

    source§

    impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve, Evals: CombinableEvals<Curve::ScalarField>> Witness<Curve> for PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Evals>

    Auto Trait Implementations§

    §

    impl<const N_COL: usize, const N_FSEL: usize, F, Evals> RefUnwindSafe for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where + Evals: RefUnwindSafe, + F: RefUnwindSafe,

    §

    impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Send for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where + Evals: Send,

    §

    impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Sync for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where + Evals: Sync,

    §

    impl<const N_COL: usize, const N_FSEL: usize, F, Evals> Unpin for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where + F: Unpin,

    §

    impl<const N_COL: usize, const N_FSEL: usize, F, Evals> UnwindSafe for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>where + Evals: UnwindSafe, + F: UnwindSafe,

    Blanket Implementations§

    source§

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

    source§

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source§

    impl<T> Borrow<T> for Twhere + T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source§

    impl<T> BorrowMut<T> for Twhere + T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    §

    impl<T> CallHasher for Twhere + T: Hash + ?Sized,

    §

    fn get_hash<H, B>(value: &H, build_hasher: &B) -> u64where + H: Hash + ?Sized, + B: BuildHasher,

    source§

    impl<T> From<T> for T

    source§

    fn from(t: T) -> T

    Returns the argument unchanged.

    +
    source§

    impl<T, U> Into<U> for Twhere + 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.

    +
    §

    impl<T> Pointable for T

    §

    const ALIGN: usize = mem::align_of::<T>()

    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<G, W> RelaxableWitness<G, W> for Wwhere + G: CommitmentCurve, + W: Witness<G>,

    §

    fn relax( + self, + zero_poly: &Evaluations<<G as AffineCurve>::ScalarField, Radix2EvaluationDomain<<G as AffineCurve>::ScalarField>> +) -> RelaxedWitness<G, W>

    This method takes a witness and a vector of evaluations to the zero +polynomial, returning a relaxed witness which is composed by the +extended witness and the error vector that is set to the zero +polynomial.

    +
    source§

    impl<T> Same<T> for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToOwned for Twhere + T: Clone,

    §

    type Owned = T

    The resulting type after obtaining ownership.
    source§

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source§

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source§

    impl<T, U> TryFrom<U> for Twhere + U: Into<T>,

    §

    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 Twhere + U: TryFrom<T>,

    §

    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 Twhere + V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/rustdoc/ivc/plonkish_lang/trait.CombinableEvals.html b/rustdoc/ivc/plonkish_lang/trait.CombinableEvals.html new file mode 100644 index 0000000000..28ea7dee78 --- /dev/null +++ b/rustdoc/ivc/plonkish_lang/trait.CombinableEvals.html @@ -0,0 +1,6 @@ +CombinableEvals in ivc::plonkish_lang - Rust
    pub trait CombinableEvals<F: Field> {
    +    // Required methods
    +    fn e_as_slice(&self) -> &[F];
    +    fn e_as_mut_slice(&mut self) -> &mut [F];
    +}
    Expand description

    Vector field over F. Something like a vector.

    +

    Required Methods§

    source

    fn e_as_slice(&self) -> &[F]

    source

    fn e_as_mut_slice(&mut self) -> &mut [F]

    Implementations on Foreign Types§

    source§

    impl<F: FftField> CombinableEvals<F> for Evaluations<F, R2D<F>>

    source§

    fn e_as_slice(&self) -> &[F]

    source§

    fn e_as_mut_slice(&mut self) -> &mut [F]

    source§

    impl<F: FftField> CombinableEvals<F> for Vec<F>

    source§

    fn e_as_slice(&self) -> &[F]

    source§

    fn e_as_mut_slice(&mut self) -> &mut [F]

    Implementors§

    \ No newline at end of file diff --git a/rustdoc/ivc/plonkish_lang/type.PlonkishWitness.html b/rustdoc/ivc/plonkish_lang/type.PlonkishWitness.html new file mode 100644 index 0000000000..88d9aada7a --- /dev/null +++ b/rustdoc/ivc/plonkish_lang/type.PlonkishWitness.html @@ -0,0 +1 @@ +PlonkishWitness in ivc::plonkish_lang - Rust

    Type Definition ivc::plonkish_lang::PlonkishWitness

    source ·
    pub type PlonkishWitness<const N_COL: usize, const N_FSEL: usize, F> = PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evaluations<F, R2D<F>>>;

    Trait Implementations§

    source§

    impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()> for PlonkishWitness<N_COL, N_FSEL, F>

    §

    type Output = [F]

    The returned type after indexing.
    source§

    fn index(&self, _index: ()) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    \ No newline at end of file diff --git a/rustdoc/kimchi_msm/circuit_design/capabilities/trait.ColAccessCap.html b/rustdoc/kimchi_msm/circuit_design/capabilities/trait.ColAccessCap.html index ac9d86c33a..143221abe7 100644 --- a/rustdoc/kimchi_msm/circuit_design/capabilities/trait.ColAccessCap.html +++ b/rustdoc/kimchi_msm/circuit_design/capabilities/trait.ColAccessCap.html @@ -19,4 +19,4 @@ called on x, it will actually perform assert_zero(f(x)).

    source

    fn read_column(&self, col: CIx) -> Self::Variable

    Reads value from a column position.

    source

    fn constant(value: F) -> Self::Variable

    Turns a constant value into a variable.

    -

    Implementors§

    source§

    impl<'a, F: PrimeField, CIx1: ColumnIndexer, CIx2: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L: MPrism<Source = CIx1, Target = CIx2>> ColAccessCap<F, CIx2> for SubEnvColumn<'a, F, CIx1, Env1, L>

    §

    type Variable = <Env1 as ColAccessCap<F, CIx1>>::Variable

    source§

    impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> ColAccessCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>

    §

    type Variable = <Env1 as ColAccessCap<F, CIx1>>::Variable

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, LT: LookupTableID> ColAccessCap<F, CIx> for ConstraintBuilderEnv<F, LT>

    §

    type Variable = Operations<ExprInner<Operations<ConstantExprInner<F>>, Column>>

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT: LookupTableID> ColAccessCap<F, CIx> for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>

    §

    type Variable = F

    \ No newline at end of file +

    Implementors§

    source§

    impl<'a, F: PrimeField, CIx1: ColumnIndexer, CIx2: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L: MPrism<Source = CIx1, Target = CIx2>> ColAccessCap<F, CIx2> for SubEnvColumn<'a, F, CIx1, Env1, L>

    §

    type Variable = <Env1 as ColAccessCap<F, CIx1>>::Variable

    source§

    impl<'a, F: PrimeField, CIx1: ColumnIndexer, Env1: ColAccessCap<F, CIx1>, L> ColAccessCap<F, CIx1> for SubEnvLookup<'a, F, CIx1, Env1, L>

    §

    type Variable = <Env1 as ColAccessCap<F, CIx1>>::Variable

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, LT: LookupTableID> ColAccessCap<F, CIx> for ConstraintBuilderEnv<F, LT>

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, LT: LookupTableID> ColAccessCap<F, CIx> for WitnessBuilderEnv<F, CIx, N_WIT, N_REL, N_DSEL, N_FSEL, LT>

    §

    type Variable = F

    \ No newline at end of file diff --git a/rustdoc/kimchi_msm/circuit_design/constraints/struct.ConstraintBuilderEnv.html b/rustdoc/kimchi_msm/circuit_design/constraints/struct.ConstraintBuilderEnv.html index b8ce2dbbc9..4e0963b055 100644 --- a/rustdoc/kimchi_msm/circuit_design/constraints/struct.ConstraintBuilderEnv.html +++ b/rustdoc/kimchi_msm/circuit_design/constraints/struct.ConstraintBuilderEnv.html @@ -1,14 +1,14 @@ ConstraintBuilderEnv in kimchi_msm::circuit_design::constraints - Rust
    pub struct ConstraintBuilderEnv<F: PrimeField, LT: LookupTableID> {
    -    pub constraints: Vec<Expr<ConstantExpr<F>, Column>>,
    +    pub constraints: Vec<Expr<ConstantExpr<F>, Column>>,
         pub lookups: BTreeMap<LT, Vec<Logup<E<F>, LT>>>,
         pub assert_mapper: Box<dyn Fn(E<F>) -> E<F>>,
    -}

    Fields§

    §constraints: Vec<Expr<ConstantExpr<F>, Column>>

    An indexed set of constraints.

    +}

    Fields§

    §constraints: Vec<Expr<ConstantExpr<F>, Column>>

    An indexed set of constraints.

    §lookups: BTreeMap<LT, Vec<Logup<E<F>, LT>>>

    Aggregated lookups.

    §assert_mapper: Box<dyn Fn(E<F>) -> E<F>>

    The function that maps the argument of assert_zero.

    Implementations§

    source§

    impl<F: PrimeField, LT: LookupTableID> ConstraintBuilderEnv<F, LT>

    source

    pub fn create() -> Self

    source§

    impl<F: PrimeField, LT: LookupTableID> ConstraintBuilderEnv<F, LT>

    source

    pub fn get_relation_constraints(&self) -> Vec<E<F>>

    Get constraints related to the application logic itself.

    source

    pub fn get_lookup_constraints(&self) -> Vec<E<F>>

    Get constraints related to the lookup argument.

    source

    pub fn get_constraints(&self) -> Vec<E<F>>

    Get all relevant constraints generated by the constraint builder.

    -

    Trait Implementations§

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, LT: LookupTableID> ColAccessCap<F, CIx> for ConstraintBuilderEnv<F, LT>

    §

    type Variable = Operations<ExprInner<Operations<ConstantExprInner<F>>, Column>>

    source§

    fn assert_zero(&mut self, cst: Self::Variable)

    Asserts that the value is zero.
    source§

    fn set_assert_mapper( +

    Trait Implementations§

    source§

    impl<F: PrimeField, CIx: ColumnIndexer, LT: LookupTableID> ColAccessCap<F, CIx> for ConstraintBuilderEnv<F, LT>

    §

    type Variable = Operations<ExprInner<Operations<ConstantExprInner<F>>, Column>>

    source§

    fn assert_zero(&mut self, cst: Self::Variable)

    Asserts that the value is zero.
    source§

    fn set_assert_mapper( &mut self, mapper: Box<dyn Fn(Self::Variable) -> Self::Variable> )

    Sets an assert predicate f(X) such that when assert_zero is diff --git a/rustdoc/kimchi_msm/column_env/struct.ColumnEnvironment.html b/rustdoc/kimchi_msm/column_env/struct.ColumnEnvironment.html index 44ad5e3f45..3e4ceb0204 100644 --- a/rustdoc/kimchi_msm/column_env/struct.ColumnEnvironment.html +++ b/rustdoc/kimchi_msm/column_env/struct.ColumnEnvironment.html @@ -2,9 +2,9 @@ pub witness: &'a Witness<N, Evaluations<F, Radix2EvaluationDomain<F>>>, pub fixed_selectors: &'a [Evaluations<F, Radix2EvaluationDomain<F>>; N_FSEL], pub l0_1: F, - pub constants: Constants<F>, - pub challenges: Challenges<F>, - pub domain: EvaluationDomains<F>, + pub constants: Constants<F>, + pub challenges: Challenges<F>, + pub domain: EvaluationDomains<F>, pub lookup: Option<QuotientPolynomialEnvironment<'a, F, ID>>, }
    Expand description

    The collection of polynomials (all in evaluation form) and constants required to evaluate an expression as a polynomial.

    @@ -17,22 +17,22 @@ fixed.

    §l0_1: F

    The value prod_{j != 1} (1 - omega^j), used for efficiently computing the evaluations of the unnormalized Lagrange basis polynomials.

    -
    §constants: Constants<F>

    Constant values required

    -
    §challenges: Challenges<F>

    Challenges from the IOP.

    -
    §domain: EvaluationDomains<F>

    The domains used in the PLONK argument.

    +
    §constants: Constants<F>

    Constant values required

    +
    §challenges: Challenges<F>

    Challenges from the IOP.

    +
    §domain: EvaluationDomains<F>

    The domains used in the PLONK argument.

    §lookup: Option<QuotientPolynomialEnvironment<'a, F, ID>>

    Lookup specific polynomials

    -

    Trait Implementations§

    source§

    impl<'a, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: FftField, ID: LookupTableID> ColumnEnvironment<'a, F> for ColumnEnvironment<'a, N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    §

    type Column = Column

    The generic type of column the environment can use. +

    Trait Implementations§

    source§

    impl<'a, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: FftField, ID: LookupTableID> ColumnEnvironment<'a, F> for ColumnEnvironment<'a, N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    §

    type Column = Column

    The generic type of column the environment can use. In other words, with the multi-variate polynomial analogy, it is the variables the multi-variate polynomials are defined upon. i.e. for a polynomial P(X, Y, Z), the type will represent the variable -X, Y and Z.
    source§

    fn get_column( +X, Y and Z.

    source§

    fn get_column( &self, - col: &Self::Column -) -> Option<&'a Evaluations<F, Radix2EvaluationDomain<F>>>

    Return the evaluation of the given column, over the domain.
    source§

    fn get_domain(&self, d: Domain) -> Radix2EvaluationDomain<F>

    source§

    fn column_domain(&self, col: &Self::Column) -> Domain

    Defines the domain over which the column is evaluated
    source§

    fn get_constants(&self) -> &Constants<F>

    Return the constants parameters that the expression might use. + col: &Self::Column +) -> Option<&'a Evaluations<F, Radix2EvaluationDomain<F>>>
    Return the evaluation of the given column, over the domain.
    source§

    fn get_domain(&self, d: Domain) -> Radix2EvaluationDomain<F>

    source§

    fn column_domain(&self, col: &Self::Column) -> Domain

    Defines the domain over which the column is evaluated
    source§

    fn get_constants(&self) -> &Constants<F>

    Return the constants parameters that the expression might use. For instance, it can be the matrix used by the linear layer in the -permutation.
    source§

    fn get_challenges(&self) -> &Challenges<F>

    Return the challenges, coined by the verifier.
    source§

    fn vanishes_on_zero_knowledge_and_previous_rows( +permutation.

    source§

    fn get_challenges(&self) -> &Challenges<F>

    Return the challenges, coined by the verifier.
    source§

    fn vanishes_on_zero_knowledge_and_previous_rows( &self -) -> &'a Evaluations<F, Radix2EvaluationDomain<F>>

    source§

    fn l0_1(&self) -> F

    Return the value prod_{j != 1} (1 - omega^j), used for efficiently +) -> &'a Evaluations<F, Radix2EvaluationDomain<F>>
    source§

    fn l0_1(&self) -> F

    Return the value prod_{j != 1} (1 - omega^j), used for efficiently computing the evaluations of the unnormalized Lagrange basis polynomials.

    Auto Trait Implementations§

    §

    impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> RefUnwindSafe for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where F: RefUnwindSafe, ID: RefUnwindSafe,

    §

    impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Send for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>

    §

    impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Sync for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>

    §

    impl<'a, const N: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Unpin for ColumnEnvironment<'a, N, N_REL, N_DSEL, N_FSEL, F, ID>where diff --git a/rustdoc/kimchi_msm/columns/enum.Column.html b/rustdoc/kimchi_msm/columns/enum.Column.html index c6ad4aca41..445127a9d2 100644 --- a/rustdoc/kimchi_msm/columns/enum.Column.html +++ b/rustdoc/kimchi_msm/columns/enum.Column.html @@ -16,7 +16,7 @@

    §

    LookupAggregation

    The lookup aggregation, i.e. phi

    §

    LookupFixedTable(u32)

    The fixed tables. The parameter is considered to the indexed table.

    Implementations§

    source§

    impl Column

    source

    pub fn add_rel_offset(self, offset: usize) -> Column

    Adds offset if the column is Relation. Fails otherwise.

    -

    Trait Implementations§

    source§

    impl Clone for Column

    source§

    fn clone(&self) -> Column

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Column

    source§

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

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

    impl FoldingColumnTrait for Column

    source§

    fn is_witness(&self) -> bool

    source§

    fn degree(&self) -> Degree

    Return the degree of the column Read more
    source§

    impl FormattedOutput for Column

    source§

    fn latex(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn text(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn ocaml(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn is_alpha(&self) -> bool

    source§

    impl Hash for Column

    source§

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

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

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

    Trait Implementations§

    source§

    impl Clone for Column

    source§

    fn clone(&self) -> Column

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

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

    Performs copy-assignment from source. Read more
    source§

    impl Debug for Column

    source§

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

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

    impl FoldingColumnTrait for Column

    source§

    fn is_witness(&self) -> bool

    source§

    fn degree(&self) -> Degree

    Return the degree of the column Read more
    source§

    impl FormattedOutput for Column

    source§

    fn latex(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn text(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn ocaml(&self, _cache: &mut HashMap<CacheId, Self>) -> String

    source§

    fn is_alpha(&self) -> bool

    source§

    impl Hash for Column

    source§

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

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

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

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

    impl PartialEq<Column> for Column

    source§

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

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

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

    This method tests for !=. The default implementation is almost always diff --git a/rustdoc/kimchi_msm/expr/type.E.html b/rustdoc/kimchi_msm/expr/type.E.html index 47dd422c2b..c510548edf 100644 --- a/rustdoc/kimchi_msm/expr/type.E.html +++ b/rustdoc/kimchi_msm/expr/type.E.html @@ -1,4 +1,4 @@ -E in kimchi_msm::expr - Rust

    Type Definition kimchi_msm::expr::E

    source ·
    pub type E<F> = Expr<ConstantExpr<F>, Column>;
    Expand description

    An expression over /generic/ (not circuit-specific) columns +E in kimchi_msm::expr - Rust

    Type Definition kimchi_msm::expr::E

    source ·
    pub type E<F> = Expr<ConstantExpr<F>, Column>;
    Expand description

    An expression over /generic/ (not circuit-specific) columns defined in the msm project. To represent constraints as multi variate polynomials. The variables are over the columns.

    For instance, if there are 3 columns X1, X2, X3, then to constraint X3 to be diff --git a/rustdoc/kimchi_msm/logup/prover/struct.Env.html b/rustdoc/kimchi_msm/logup/prover/struct.Env.html index a547ddf894..2124e161b9 100644 --- a/rustdoc/kimchi_msm/logup/prover/struct.Env.html +++ b/rustdoc/kimchi_msm/logup/prover/struct.Env.html @@ -1,4 +1,4 @@ -Env in kimchi_msm::logup::prover - Rust

    Struct kimchi_msm::logup::prover::Env

    source ·
    pub struct Env<G: KimchiCurve, ID: LookupTableID> {
    Show 14 fields +Env in kimchi_msm::logup::prover - Rust

    Struct kimchi_msm::logup::prover::Env

    source ·
    pub struct Env<G: KimchiCurve, ID: LookupTableID> {
    Show 14 fields pub lookup_counters_poly_d1: BTreeMap<ID, DensePolynomial<G::ScalarField>>, pub lookup_counters_comm_d1: BTreeMap<ID, PolyComm<G>>, pub lookup_terms_poly_d1: BTreeMap<ID, Vec<DensePolynomial<G::ScalarField>>>, @@ -22,9 +22,9 @@
    §lookup_aggregation_comm_d1: PolyComm<G>

    The commitment to the aggregation polynomial.

    §lookup_counters_evals_d8: BTreeMap<ID, Evaluations<G::ScalarField, D<G::ScalarField>>>§lookup_terms_evals_d8: BTreeMap<ID, Vec<Evaluations<G::ScalarField, D<G::ScalarField>>>>§lookup_aggregation_evals_d8: Evaluations<G::ScalarField, D<G::ScalarField>>§fixed_lookup_tables_poly_d1: BTreeMap<ID, DensePolynomial<G::ScalarField>>§fixed_lookup_tables_comms_d1: BTreeMap<ID, PolyComm<G>>§fixed_lookup_tables_evals_d8: BTreeMap<ID, Evaluations<G::ScalarField, D<G::ScalarField>>>§joint_combiner: G::ScalarField

    The combiner used for vector lookups

    §beta: G::ScalarField

    The evaluation point used for the lookup polynomials.

    -

    Implementations§

    source§

    impl<G: KimchiCurve, ID: LookupTableID> Env<G, ID>

    source

    pub fn create<OpeningProof: OpenProof<G>, Sponge: FqSponge<G::BaseField, G, G::ScalarField>>( +

    Implementations§

    source§

    impl<G: KimchiCurve, ID: LookupTableID> Env<G, ID>

    source

    pub fn create<OpeningProof: OpenProof<G>, Sponge: FqSponge<G::BaseField, G, G::ScalarField>>( lookups: Vec<LogupWitness<G::ScalarField, ID>>, - domain: EvaluationDomains<G::ScalarField>, + domain: EvaluationDomains<G::ScalarField>, fq_sponge: &mut Sponge, srs: &OpeningProof::SRS ) -> Selfwhere diff --git a/rustdoc/kimchi_msm/logup/struct.LogupWitness.html b/rustdoc/kimchi_msm/logup/struct.LogupWitness.html index 2c71880def..409551c135 100644 --- a/rustdoc/kimchi_msm/logup/struct.LogupWitness.html +++ b/rustdoc/kimchi_msm/logup/struct.LogupWitness.html @@ -1,5 +1,5 @@ LogupWitness in kimchi_msm::logup - Rust
    pub struct LogupWitness<F, ID: LookupTableID> { /* private fields */ }
    Expand description

    Represents a witness of one instance of the lookup argument

    -

    Implementations§

    source§

    impl<F: FftField> LogupWitness<F, LookupTableIDs>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Generate a random number of correct lookups in the table RangeCheck16

    +

    Implementations§

    source§

    impl<F: FftField> LogupWitness<F, LookupTableIDs>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Generate a random number of correct lookups in the table RangeCheck16

    Trait Implementations§

    source§

    impl<F: Clone, ID: Clone + LookupTableID> Clone for LogupWitness<F, ID>

    source§

    fn clone(&self) -> LogupWitness<F, ID>

    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<F: Debug, ID: Debug + LookupTableID> Debug for LogupWitness<F, ID>

    source§

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

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

    impl<F: PartialEq, ID: PartialEq + LookupTableID> PartialEq<LogupWitness<F, ID>> for LogupWitness<F, ID>

    source§

    fn eq(&self, other: &LogupWitness<F, ID>) -> bool

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

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

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

    impl<F: Eq, ID: Eq + LookupTableID> Eq for LogupWitness<F, ID>

    source§

    impl<F, ID: LookupTableID> StructuralEq for LogupWitness<F, ID>

    source§

    impl<F, ID: LookupTableID> StructuralPartialEq for LogupWitness<F, ID>

    Auto Trait Implementations§

    §

    impl<F, ID> RefUnwindSafe for LogupWitness<F, ID>where diff --git a/rustdoc/kimchi_msm/lookups/type.LookupWitness.html b/rustdoc/kimchi_msm/lookups/type.LookupWitness.html index a846b638df..5b6906b6b8 100644 --- a/rustdoc/kimchi_msm/lookups/type.LookupWitness.html +++ b/rustdoc/kimchi_msm/lookups/type.LookupWitness.html @@ -1,3 +1,3 @@ LookupWitness in kimchi_msm::lookups - Rust

    Type Definition kimchi_msm::lookups::LookupWitness

    source ·
    pub type LookupWitness<F> = LogupWitness<F, LookupTableIDs>;
    Expand description

    Represents a witness of one instance of the lookup argument of the MSM project

    -

    Implementations§

    source§

    impl<F: FftField> LookupWitness<F>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Generate a random number of correct lookups in the table RangeCheck16

    +

    Implementations§

    source§

    impl<F: FftField> LookupWitness<F>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Generate a random number of correct lookups in the table RangeCheck16

    \ No newline at end of file diff --git a/rustdoc/kimchi_msm/precomputed_srs/fn.get_bn254_srs.html b/rustdoc/kimchi_msm/precomputed_srs/fn.get_bn254_srs.html index e7b603af5c..25036eb56c 100644 --- a/rustdoc/kimchi_msm/precomputed_srs/fn.get_bn254_srs.html +++ b/rustdoc/kimchi_msm/precomputed_srs/fn.get_bn254_srs.html @@ -1,2 +1,2 @@ -get_bn254_srs in kimchi_msm::precomputed_srs - Rust
    pub fn get_bn254_srs(domain: EvaluationDomains<Fp>) -> PairingSRS<BN254>
    Expand description

    Obtains an SRS for a specific curve from disk, or generates it if absent.

    +get_bn254_srs in kimchi_msm::precomputed_srs - Rust
    pub fn get_bn254_srs(domain: EvaluationDomains<Fp>) -> PairingSRS<BN254>
    Expand description

    Obtains an SRS for a specific curve from disk, or generates it if absent.

    \ No newline at end of file diff --git a/rustdoc/kimchi_msm/precomputed_srs/struct.TestPairingSRS.html b/rustdoc/kimchi_msm/precomputed_srs/struct.TestPairingSRS.html index d96d1963ac..afa95ba30a 100644 --- a/rustdoc/kimchi_msm/precomputed_srs/struct.TestPairingSRS.html +++ b/rustdoc/kimchi_msm/precomputed_srs/struct.TestPairingSRS.html @@ -1,8 +1,8 @@ TestPairingSRS in kimchi_msm::precomputed_srs - Rust
    pub struct TestPairingSRS<Pair: PairingEngine> {
    -    pub full_srs: TestSRS<Pair::G1Affine>,
    -    pub verifier_srs: TestSRS<Pair::G2Affine>,
    +    pub full_srs: TestSRS<Pair::G1Affine>,
    +    pub verifier_srs: TestSRS<Pair::G2Affine>,
     }
    Expand description

    A clone of the PairingSRS that is serialized in a test-optimised way.

    -

    Fields§

    §full_srs: TestSRS<Pair::G1Affine>§verifier_srs: TestSRS<Pair::G2Affine>

    Trait Implementations§

    source§

    impl<Pair: Clone + PairingEngine> Clone for TestPairingSRS<Pair>where +

    Fields§

    §full_srs: TestSRS<Pair::G1Affine>§verifier_srs: TestSRS<Pair::G2Affine>

    Trait Implementations§

    source§

    impl<Pair: Clone + PairingEngine> Clone for TestPairingSRS<Pair>where Pair::G1Affine: Clone, Pair::G2Affine: Clone,

    source§

    fn clone(&self) -> TestPairingSRS<Pair>

    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<Pair: Debug + PairingEngine> Debug for TestPairingSRS<Pair>where Pair::G1Affine: Debug, diff --git a/rustdoc/kimchi_msm/proof/struct.Proof.html b/rustdoc/kimchi_msm/proof/struct.Proof.html index 4b23505384..6c13d682dc 100644 --- a/rustdoc/kimchi_msm/proof/struct.Proof.html +++ b/rustdoc/kimchi_msm/proof/struct.Proof.html @@ -1,5 +1,5 @@ -Proof in kimchi_msm::proof - Rust

    Struct kimchi_msm::proof::Proof

    source ·
    pub struct Proof<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: KimchiCurve, OpeningProof: OpenProof<G>, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>, ID: Clone + LookupTableID> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where - G::ScalarField: Clone,

    source§

    fn clone(&self) -> Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>

    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<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>, ID: Debug + LookupTableID> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where +Proof in kimchi_msm::proof - Rust

    Struct kimchi_msm::proof::Proof

    source ·
    pub struct Proof<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: KimchiCurve, OpeningProof: OpenProof<G>, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Clone + KimchiCurve, OpeningProof: Clone + OpenProof<G>, ID: Clone + LookupTableID> Clone for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where + G::ScalarField: Clone,

    source§

    fn clone(&self) -> Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>

    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<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G: Debug + KimchiCurve, OpeningProof: Debug + OpenProof<G>, ID: Debug + LookupTableID> Debug for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where G::ScalarField: Debug,

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, G, OpeningProof, ID> RefUnwindSafe for Proof<N_WIT, N_REL, N_DSEL, N_FSEL, G, OpeningProof, ID>where G: RefUnwindSafe, ID: RefUnwindSafe, diff --git a/rustdoc/kimchi_msm/proof/struct.ProofCommitments.html b/rustdoc/kimchi_msm/proof/struct.ProofCommitments.html index fd0085f0ce..0797a438e3 100644 --- a/rustdoc/kimchi_msm/proof/struct.ProofCommitments.html +++ b/rustdoc/kimchi_msm/proof/struct.ProofCommitments.html @@ -1,4 +1,4 @@ -ProofCommitments in kimchi_msm::proof - Rust
    pub struct ProofCommitments<const N_WIT: usize, G: KimchiCurve, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, G: Clone + KimchiCurve, ID: Clone + LookupTableID> Clone for ProofCommitments<N_WIT, G, ID>

    source§

    fn clone(&self) -> ProofCommitments<N_WIT, G, ID>

    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<const N_WIT: usize, G: Debug + KimchiCurve, ID: Debug + LookupTableID> Debug for ProofCommitments<N_WIT, G, ID>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<const N_WIT: usize, G, ID> RefUnwindSafe for ProofCommitments<N_WIT, G, ID>where +ProofCommitments in kimchi_msm::proof - Rust
    pub struct ProofCommitments<const N_WIT: usize, G: KimchiCurve, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, G: Clone + KimchiCurve, ID: Clone + LookupTableID> Clone for ProofCommitments<N_WIT, G, ID>

    source§

    fn clone(&self) -> ProofCommitments<N_WIT, G, ID>

    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<const N_WIT: usize, G: Debug + KimchiCurve, ID: Debug + LookupTableID> Debug for ProofCommitments<N_WIT, G, ID>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<const N_WIT: usize, G, ID> RefUnwindSafe for ProofCommitments<N_WIT, G, ID>where G: RefUnwindSafe, ID: RefUnwindSafe,

    §

    impl<const N_WIT: usize, G, ID> Send for ProofCommitments<N_WIT, G, ID>

    §

    impl<const N_WIT: usize, G, ID> Sync for ProofCommitments<N_WIT, G, ID>

    §

    impl<const N_WIT: usize, G, ID> Unpin for ProofCommitments<N_WIT, G, ID>where G: Unpin,

    §

    impl<const N_WIT: usize, G, ID> UnwindSafe for ProofCommitments<N_WIT, G, ID>where diff --git a/rustdoc/kimchi_msm/proof/struct.ProofEvaluations.html b/rustdoc/kimchi_msm/proof/struct.ProofEvaluations.html index c71f94d1a0..ddab5cd9a0 100644 --- a/rustdoc/kimchi_msm/proof/struct.ProofEvaluations.html +++ b/rustdoc/kimchi_msm/proof/struct.ProofEvaluations.html @@ -1,10 +1,10 @@ -ProofEvaluations in kimchi_msm::proof - Rust
    pub struct ProofEvaluations<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: Clone + LookupTableID> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    source§

    fn clone(&self) -> ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    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<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: LookupTableID> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    The trait ColumnEvaluations is used by the verifier. +ProofEvaluations in kimchi_msm::proof - Rust

    pub struct ProofEvaluations<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID: LookupTableID> { /* private fields */ }

    Trait Implementations§

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: Clone + LookupTableID> Clone for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    source§

    fn clone(&self) -> ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    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<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Clone, ID: LookupTableID> ColumnEvaluations<F> for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    The trait ColumnEvaluations is used by the verifier. It will return the evaluation of the corresponding column at the evaluation points coined by the verifier during the protocol.

    -
    §

    type Column = Column

    source§

    fn evaluate( &self, - col: Self::Column -) -> Result<PointEvaluations<F>, ExprError<Self::Column>>

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug, ID: Debug + LookupTableID> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> RefUnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where + col: Self::Column +) -> Result<PointEvaluations<F>, ExprError<Self::Column>>

    source§

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F: Debug, ID: Debug + LookupTableID> Debug for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>

    source§

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

    Formats the value using the given formatter. Read more

    Auto Trait Implementations§

    §

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> RefUnwindSafe for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where F: RefUnwindSafe, ID: RefUnwindSafe,

    §

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Send for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where F: Send,

    §

    impl<const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, F, ID> Sync for ProofEvaluations<N_WIT, N_REL, N_DSEL, N_FSEL, F, ID>where diff --git a/rustdoc/kimchi_msm/proof/struct.ProofInputs.html b/rustdoc/kimchi_msm/proof/struct.ProofInputs.html index 93afbae5d9..fee3e235d3 100644 --- a/rustdoc/kimchi_msm/proof/struct.ProofInputs.html +++ b/rustdoc/kimchi_msm/proof/struct.ProofInputs.html @@ -3,7 +3,7 @@ pub logups: Vec<LogupWitness<F, ID>>, }

    Fields§

    §evaluations: Witness<N_WIT, Vec<F>>

    Actual values w_i of the witness columns. “Evaluations” as in evaluations of polynomial P_w that interpolates w_i.

    -
    §logups: Vec<LogupWitness<F, ID>>

    Implementations§

    source§

    impl<const N_WIT: usize, F: PrimeField> ProofInputs<N_WIT, F, LookupTableIDs>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Trait Implementations§

    source§

    impl<const N_WIT: usize, F: Clone + PrimeField, ID: Clone + LookupTableID> Clone for ProofInputs<N_WIT, F, ID>

    source§

    fn clone(&self) -> ProofInputs<N_WIT, F, ID>

    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<const N_WIT: usize, F: Debug + PrimeField, ID: Debug + LookupTableID> Debug for ProofInputs<N_WIT, F, ID>

    source§

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

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

    impl<const N_WIT: usize, F: PrimeField, ID: LookupTableID> Default for ProofInputs<N_WIT, F, ID>

    source§

    fn default() -> Self

    Creates a default proof instance. Note that such an empty “zero” instance will not satisfy any constraint. +

    §logups: Vec<LogupWitness<F, ID>>

    Implementations§

    source§

    impl<const N_WIT: usize, F: PrimeField> ProofInputs<N_WIT, F, LookupTableIDs>

    source

    pub fn random(domain: EvaluationDomains<F>) -> Self

    Trait Implementations§

    source§

    impl<const N_WIT: usize, F: Clone + PrimeField, ID: Clone + LookupTableID> Clone for ProofInputs<N_WIT, F, ID>

    source§

    fn clone(&self) -> ProofInputs<N_WIT, F, ID>

    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<const N_WIT: usize, F: Debug + PrimeField, ID: Debug + LookupTableID> Debug for ProofInputs<N_WIT, F, ID>

    source§

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

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

    impl<const N_WIT: usize, F: PrimeField, ID: LookupTableID> Default for ProofInputs<N_WIT, F, ID>

    source§

    fn default() -> Self

    Creates a default proof instance. Note that such an empty “zero” instance will not satisfy any constraint. E.g. some constraints that have constants inside of them (A - const = 0) cannot be satisfied by it.

    source§

    impl<const N_WIT: usize, F: PartialEq + PrimeField, ID: PartialEq + LookupTableID> PartialEq<ProofInputs<N_WIT, F, ID>> for ProofInputs<N_WIT, F, ID>

    source§

    fn eq(&self, other: &ProofInputs<N_WIT, F, ID>) -> bool

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

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

    This method tests for !=. The default implementation is almost always diff --git a/rustdoc/kimchi_msm/prover/fn.prove.html b/rustdoc/kimchi_msm/prover/fn.prove.html index 24af5cf948..b049bee4f7 100644 --- a/rustdoc/kimchi_msm/prover/fn.prove.html +++ b/rustdoc/kimchi_msm/prover/fn.prove.html @@ -1,5 +1,5 @@ -prove in kimchi_msm::prover - Rust

    Function kimchi_msm::prover::prove

    source ·
    pub fn prove<G: KimchiCurve, OpeningProof: OpenProof<G>, EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, EFrSponge: FrSponge<G::ScalarField>, RNG, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, ID: LookupTableID>(
    -    domain: EvaluationDomains<G::ScalarField>,
    +prove in kimchi_msm::prover - Rust

    Function kimchi_msm::prover::prove

    source ·
    pub fn prove<G: KimchiCurve, OpeningProof: OpenProof<G>, EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, EFrSponge: FrSponge<G::ScalarField>, RNG, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, ID: LookupTableID>(
    +    domain: EvaluationDomains<G::ScalarField>,
         srs: &OpeningProof::SRS,
         constraints: &Vec<E<G::ScalarField>>,
         fixed_selectors: Box<[Vec<G::ScalarField>; N_FSEL]>,
    diff --git a/rustdoc/kimchi_msm/verifier/fn.verify.html b/rustdoc/kimchi_msm/verifier/fn.verify.html
    index 9941507597..38b23a9ea8 100644
    --- a/rustdoc/kimchi_msm/verifier/fn.verify.html
    +++ b/rustdoc/kimchi_msm/verifier/fn.verify.html
    @@ -1,5 +1,5 @@
    -verify in kimchi_msm::verifier - Rust

    Function kimchi_msm::verifier::verify

    source ·
    pub fn verify<G: KimchiCurve, OpeningProof: OpenProof<G>, EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, EFrSponge: FrSponge<G::ScalarField>, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const NPUB: usize, ID: LookupTableID>(
    -    domain: EvaluationDomains<G::ScalarField>,
    +verify in kimchi_msm::verifier - Rust

    Function kimchi_msm::verifier::verify

    source ·
    pub fn verify<G: KimchiCurve, OpeningProof: OpenProof<G>, EFqSponge: Clone + FqSponge<G::BaseField, G, G::ScalarField>, EFrSponge: FrSponge<G::ScalarField>, const N_WIT: usize, const N_REL: usize, const N_DSEL: usize, const N_FSEL: usize, const NPUB: usize, ID: LookupTableID>(
    +    domain: EvaluationDomains<G::ScalarField>,
         srs: &OpeningProof::SRS,
         constraints: &Vec<E<G::ScalarField>>,
         fixed_selectors: Box<[Vec<G::ScalarField>; N_FSEL]>,
    diff --git a/rustdoc/o1vm/folding/enum.Challenge.html b/rustdoc/o1vm/folding/enum.Challenge.html
    index 7ab7c022ae..ea267d9fe5 100644
    --- a/rustdoc/o1vm/folding/enum.Challenge.html
    +++ b/rustdoc/o1vm/folding/enum.Challenge.html
    @@ -14,7 +14,7 @@
         col: C::Column,
         curr_or_next: CurrOrNext,
         side: Side
    -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>
    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -23,7 +23,7 @@ &self, s: &C::Selector, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl<const N: usize, C: FoldingConfig, Structure: Clone> FoldingEnv<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, FoldingInstance<N, <C as FoldingConfig>::Curve>, FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>, <C as FoldingConfig>::Column, Challenge, ()> for FoldingEnvironment<N, C, Structure>where FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>: Index<C::Column, Output = Evaluations<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>>>,

    §

    type Structure = Structure

    Structure which could be storing useful information like selectors, etc.
    source§

    fn new( structure: &Self::Structure, @@ -35,7 +35,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -44,7 +44,7 @@ &self, _s: &(), _side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl From<ChallengeTerm> for Challenge

    source§

    fn from(chal: ChallengeTerm) -> Self

    Converts to this type from the input type.
    source§

    impl Hash for Challenge

    source§

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

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

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

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

    impl<const N: usize, G: CommitmentCurve> Index<Challenge> for FoldingInstance<N, G>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: Challenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl IntoEnumIterator for Challenge

    source§

    impl PartialEq<Challenge> for Challenge

    source§

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

    This method tests for self and other values to be equal, and is used diff --git a/rustdoc/o1vm/folding/struct.DecomposedFoldingEnvironment.html b/rustdoc/o1vm/folding/struct.DecomposedFoldingEnvironment.html index 0c243abb6b..cd17b2c232 100644 --- a/rustdoc/o1vm/folding/struct.DecomposedFoldingEnvironment.html +++ b/rustdoc/o1vm/folding/struct.DecomposedFoldingEnvironment.html @@ -21,7 +21,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>
    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -30,7 +30,7 @@ &self, s: &C::Selector, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector

    Auto Trait Implementations§

    §

    impl<const N: usize, const N_REL: usize, const N_DSEL: usize, C, Structure> RefUnwindSafe for DecomposedFoldingEnvironment<N, N_REL, N_DSEL, C, Structure>where Structure: RefUnwindSafe, <C as FoldingConfig>::Curve: RefUnwindSafe, diff --git a/rustdoc/o1vm/folding/struct.FoldingEnvironment.html b/rustdoc/o1vm/folding/struct.FoldingEnvironment.html index b625e50e80..d71e5dd128 100644 --- a/rustdoc/o1vm/folding/struct.FoldingEnvironment.html +++ b/rustdoc/o1vm/folding/struct.FoldingEnvironment.html @@ -19,7 +19,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -28,7 +28,7 @@ &self, _s: &(), _side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector

    Auto Trait Implementations§

    §

    impl<const N: usize, C, Structure> RefUnwindSafe for FoldingEnvironment<N, C, Structure>where Structure: RefUnwindSafe, <C as FoldingConfig>::Curve: RefUnwindSafe, diff --git a/rustdoc/o1vm/folding/struct.FoldingInstance.html b/rustdoc/o1vm/folding/struct.FoldingInstance.html index f547a8a3ea..7d958843d7 100644 --- a/rustdoc/o1vm/folding/struct.FoldingInstance.html +++ b/rustdoc/o1vm/folding/struct.FoldingInstance.html @@ -27,7 +27,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -36,7 +36,7 @@ &self, s: &C::Selector, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl<const N: usize, C: FoldingConfig, Structure: Clone> FoldingEnv<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, FoldingInstance<N, <C as FoldingConfig>::Curve>, FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>, <C as FoldingConfig>::Column, Challenge, ()> for FoldingEnvironment<N, C, Structure>where FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>: Index<C::Column, Output = Evaluations<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>>>,

    §

    type Structure = Structure

    Structure which could be storing useful information like selectors, etc.
    source§

    fn new( structure: &Self::Structure, @@ -48,7 +48,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -57,7 +57,7 @@ &self, _s: &(), _side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl<const N: usize, G: CommitmentCurve> Index<Challenge> for FoldingInstance<N, G>

    §

    type Output = <G as AffineCurve>::ScalarField

    The returned type after indexing.
    source§

    fn index(&self, index: Challenge) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<const N: usize, G: CommitmentCurve> Instance<G> for FoldingInstance<N, G>

    source§

    fn to_absorb(&self) -> (Vec<G::ScalarField>, Vec<G>)

    This method returns the scalars and commitments that must be absorbed by the sponge. It is not supposed to do any absorption itself, and the user is responsible for calling the sponge absorb methods with the elements diff --git a/rustdoc/o1vm/folding/struct.FoldingWitness.html b/rustdoc/o1vm/folding/struct.FoldingWitness.html index ff6ef936f9..4ae9b08081 100644 --- a/rustdoc/o1vm/folding/struct.FoldingWitness.html +++ b/rustdoc/o1vm/folding/struct.FoldingWitness.html @@ -13,7 +13,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>
    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -22,7 +22,7 @@ &self, s: &C::Selector, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl<const N: usize, C: FoldingConfig, Structure: Clone> FoldingEnv<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, FoldingInstance<N, <C as FoldingConfig>::Curve>, FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>, <C as FoldingConfig>::Column, Challenge, ()> for FoldingEnvironment<N, C, Structure>where FoldingWitness<N, <<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>: Index<C::Column, Output = Evaluations<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField, Radix2EvaluationDomain<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>>>,

    §

    type Structure = Structure

    Structure which could be storing useful information like selectors, etc.
    source§

    fn new( structure: &Self::Structure, @@ -34,7 +34,7 @@ col: C::Column, curr_or_next: CurrOrNext, side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]

    Returns the evaluations of a given column witness at omega or zeta*omega.
    source§

    fn challenge( &self, challenge: Challenge, side: Side @@ -43,7 +43,7 @@ &self, _s: &(), _side: Side -) -> &Vec<<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField>

    similar to [Self::col], but folding may ask for a dynamic selector directly +) -> &[<<C as FoldingConfig>::Curve as AffineCurve>::ScalarField]
    similar to [Self::col], but folding may ask for a dynamic selector directly instead of just column that happens to be a selector
    source§

    impl<const N: usize, F: Hash + FftField> Hash for FoldingWitness<N, F>

    source§

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

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

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

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

    impl Index<Column> for FoldingWitness<N_MIPS_REL_COLS, Fp>

    §

    type Output = Evaluations<Fp256<FrParameters>, Radix2EvaluationDomain<Fp256<FrParameters>>>

    The returned type after indexing.
    source§

    fn index(&self, index: Column) -> &Self::Output

    Performs the indexing (container[index]) operation. Read more
    source§

    impl<const N: usize, F: PartialEq + FftField> PartialEq<FoldingWitness<N, F>> for FoldingWitness<N, F>

    source§

    fn eq(&self, other: &FoldingWitness<N, F>) -> bool

    This method tests for self and other values to be equal, and is used diff --git a/rustdoc/search-index.js b/rustdoc/search-index.js index 6c8dca6be9..58f9be4d13 100644 --- a/rustdoc/search-index.js +++ b/rustdoc/search-index.js @@ -1,10 +1,10 @@ var searchIndex = JSON.parse('{\ "export_test_vectors":{"doc":"","t":"AFANNNNEELLLLLLLLLLLLLLLLLLLLFLLLLLLLLDDLLLLLLLLLLLLLLFLLMLLMMFFLLMLLLLLLLL","n":["inner","main","vectors","B10","Hex","Kimchi","Legacy","Mode","ParamType","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","from_str","from_str","init","init","into","into","main","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TestVector","TestVectors","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","from","from","generate","init","init","input","into","into","name","output","poseidon","rand_fields","serialize","serialize","test_vectors","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip"],"q":[[0,"export_test_vectors"],[3,"export_test_vectors::inner"],[38,"export_test_vectors::vectors"]],"d":["","“Usage: cargo run –all-features –bin …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","creates a set of test vectors","","","","Calls U::from(self).","Calls U::from(self).","","","Computes the poseidon hash of several field elements. Uses …","generates a vector of length field elements","","","","","","","","","","",""],"i":[0,0,0,2,2,5,5,0,0,2,5,2,5,2,5,2,5,2,5,2,5,2,5,2,5,2,5,2,5,0,2,5,2,5,2,5,2,5,0,0,9,10,9,10,9,10,9,10,9,10,9,10,9,10,0,9,10,10,9,10,9,10,0,0,9,10,9,9,10,9,10,9,10,9,10],"f":[0,[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[1],[1],[1],[1],[1],[1],[[2,3],4],[[5,3],4],[[]],[[]],[6,[[7,[2]]]],[6,[[7,[5]]]],[[],1],[[],1],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],8],[[],8],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[1],[1],[1],[1],[1],[1],[[9,3],4],[[10,3],4],[[]],[[]],[[2,5],9],[[],1],[[],1],0,[[]],[[]],0,0,[[[12,[11]],[13,[11]]],11],[[14,15],[[16,[11]]]],[[9,17],7],[[10,17],7],0,[[],7],[[],7],[[],7],[[],7],[[],8],[[],8],[[]],[[]]],"c":[],"p":[[15,"usize"],[4,"Mode"],[3,"Formatter"],[6,"Result"],[4,"ParamType"],[15,"str"],[4,"Result"],[3,"TypeId"],[3,"TestVectors"],[3,"TestVector"],[6,"Fp"],[15,"slice"],[3,"ArithmeticSpongeParams"],[8,"Rng"],[15,"u8"],[3,"Vec"],[8,"Serializer"]]},\ "flamegraph":{"doc":"","t":"FF","n":["black_box","main"],"q":[[0,"flamegraph"]],"d":["function to avoid optimizations by the compiler taken from …",""],"i":[0,0],"f":[[[]],[[]]],"c":[],"p":[]},\ -"folding":{"doc":"This library implements basic components to fold …","t":"EQQNQQCCIIDDCQNNCCNQEQQQCQLLLLLLLLKALLLLKALALLLLLLLLMLLLLAMAMLLLMMLLLLLLLLLLALLLLKLLLLLLAMMKMAMMMMLLLLLLLLLLLLLLLLLLMIEDIDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLKLLLLLLLLLLLLLLLMMNNNNENNNLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLNNENLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNENNNENNIEEEDNNNNNNNNENNNNDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDIIIIIDDIMLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLMMMMMMLLLLLLKLKLLLLLLLMLLLLLKKKLLLLKLLLLLLLLLLLLLLLLLLMLLLLMDDLLLLLLLLLLMMLLLLLLMFLLLLLLLLDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["Alphas","Challenge","Column","Combinations","Curve","Env","ExpExtension","FoldingCompatibleExpr","FoldingConfig","FoldingEnv","FoldingOutput","FoldingScheme","Instance","Instance","Left","Powers","RelaxedInstance","RelaxedWitness","Right","Selector","Side","Srs","Structure","Structure","Witness","Witness","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","checker","clone","clone","clone_into","clone_into","col","columns","combine","decomposable_folding","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","domain","drop","drop","drop","drop","eval_leaf","expression","expressions","extended_witness_generator","fmt","fold_instance_pair","fold_instance_witness_pair","folded_instance","folded_witness","from","from","from","from","get","get_number_of_additional_columns","init","init","init","init","instance_witness","into","into","into","into","new","new","new","new_sized","other","pair","powers","quadraticization","relaxed_extended_left_instance","relaxed_extended_right_instance","selector","srs","standard_config","structure","t_0","t_1","to_absorb","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","zero_vec","Checker","Column","ExtendedProvider","Provide","Provider","Selector","X","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","check_rec","clone","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","get_hash","hash","init","init","init","inner_provider","instance","instance","into","into","into","is_witness","new","new","resolve","resolve","resolve","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","witness","witness","Alpha","Challenge","Constant","Error","ExtendedFoldingColumn","Inner","Selector","WitnessExtended","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","init","into","to_owned","try_from","try_into","type_id","vzip","DecomposableFoldingScheme","borrow","borrow_mut","deref","deref_mut","drop","fold_instance_witness_pair","from","get_number_of_additional_columns","init","into","new","try_from","try_into","type_id","vzip","Col","Const","EvalLeaf","Result","add","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","map","mul","mul","sub","to_owned","to_string","try_from","try_into","type_id","unwrap","vzip","Add","Add","Alpha","Atom","Atom","Cell","Challenge","Constant","Degree","Double","Double","Error","ExpExtension","ExtendedWitness","Extensions","FoldingColumnTrait","FoldingCompatibleExpr","FoldingCompatibleExprInner","FoldingExp","IntegratedFoldingExpr","Mul","Mul","Neg","One","Pos","Pow","Pow","Selector","Sign","Square","Square","Sub","Sub","Term","Two","U","Zero","add","add","add","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","default","degree","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","double","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","exp","extract_terms","final_expression","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","folding_expression","from","from","from","from","from","from","from","from","from","from","from","from","from","get_hash","get_hash","hash","hash","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_witness","map_variable","mul","mul","mul","mul","neg","neg","partial_cmp","sign","simplify","sub","sub","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ExtendedInstance","ExtendedWitness","Foldable","Instance","RelaxableInstance","RelaxablePair","RelaxableWitness","RelaxedInstance","RelaxedWitness","Witness","blinder","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","combine","combine","combine","combine","combine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","error_commitment","error_vec","extended","extended","extended_instance","extended_witness","fmt","fmt","from","from","from","from","get_alphas","get_alphas","get_blinder","get_blinder","get_extended_column","get_extended_column_commitment","init","init","init","init","instance","into","into","into","into","is_extended","relax","relax","relax","relax","relax","relax","relax","to_absorb","to_absorb","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u","vzip","vzip","vzip","vzip","witness","ExtendedWitnessGenerator","Quadraticized","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","extended_witness_generator","extra_constraints","from","from","init","init","into","into","original_constraints","quadraticize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","EmptyStructure","Env","StandardConfig","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","challenge","clone","clone_into","col","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","get_hash","hash","index","init","init","init","into","into","into","new","selector","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"folding"],[117,"folding::checker"],[181,"folding::columns"],[209,"folding::decomposable_folding"],[225,"folding::eval_leaf"],[253,"folding::expressions"],[461,"folding::instance_witness"],[565,"folding::quadraticization"],[595,"folding::standard_config"]],"d":["Combinators that will be used to fold the constraints, …","The type of an abstract challenge that can be found in the …","","","The target curve used by the polynomial commitment","","","","","Describe a folding environment. The type parameters are:","Output of the folding prover","","","For Plonk, it will be the commitments to the polynomials …","","","","","","","This type refers to the two instances to be folded","The SRS used by the polynomial commitment. The SRS is used …","","Structure which could be storing useful information like …","","For PlonK, it will be the polynomials in evaluation form …","","","","","","","","","Obtains a given challenge from the expanded instance for …","Define the different structures required for the examples …","","","","","Returns the evaluations of a given column witness at omega …","This module contains description of the additional columns …","","This variant of folding is designed to efficiently handle …","","","","","","","","","","","","","","","","Implement a library to represent expressions/multivariate …","","","Fold two relaxable instances into a relaxed instance. It …","This is the main entry point to fold two instances and …","The folded instance, containing, in particular, the result …","Folded witness, containing, in particular, the result of …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Return the number of additional columns added by …","","","","","This module defines a list of traits and structures that …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Creates a new environment storing the structure, instances …","","","","","","","A library to reduce constraints into degree 2.","The left relaxed instance, including the potential …","The right relaxed instance, including the potential …","similar to Self::col, but folding may ask for a dynamic …","","This module offers a standard implementation of …","","The error terms of degree 1, see the top-level …","The error terms of degree 2, see the top-level …","Elements to absorbed in IVC, in the same order as done in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","A list of randomizer to combine expressions","A challenge used by the PIOP or the folding scheme.","A constant value in our expression","The error term introduced in the “relaxed” instance.","Describes the additional columns. It is parametrized by a …","The variables of the initial circuit, without …","A “virtual” selector that can be used to …","For the extra columns added by the module quadraticization.","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","folding with a selector will assume that only the selector …","Returns the argument unchanged.","Return the number of additional columns added by …","","Calls U::from(self).","Creates a new folding scheme for decomposable circuits. It …","","","","","","","Result of a folding expression evaluation.","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","The random values α_{i} used to aggregate constraints","","","","","","Describe the degree of a constraint. As described in the …","","","The error term","Extra expressions that can be created by folding","Additional columns created by quadraticization","extra nodes created by folding, should not be passed to …","","Compatible folding expressions that can be used with …","Components to be used to convert multivariate polynomials …","Internal expression used for folding. A “folding” …","A value of type IntegratedFoldingExpr is the result of the …","","","","","","","","Represent a dynamic selector, in the case of using …","Used to encode the sign of a term in a polynomial.","","","","","A term of a polynomial For instance, in the polynomial …","","The variable u used to make the polynomial homogenous","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the degree of the column","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Combines constraints into single expression","","","","","","","","","Convert a list of folding compatible expression into the …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Maps variable (column index) in expression using the mapper","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An extended instance is an instance that has been extended …","This structure represents a witness extended with extra …","","","","","Trait to make a witness relaxable/homogenizable","A relaxed instance is an instance that has been relaxed by …","","","Blinder used for the commitments to the cross terms","","","","","","","","","","","","","","","","","Combine two objects ‘a’ and ‘b’ into a new object …","","","Combine two relaxed instances into a new relaxed instance.","","","","","","","","","","","","","","The commitment to the error term, introduced when …","The error vector, introduced when homogenizing the …","Extra columns added by quadraticization to lower the …","Commitments to the extra columns added by quadraticization","The original instance, extended with the columns added by …","The original witness, extended with the columns added by …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the alphas values for the instance","","Return the blinder that can be used while committing to …","Returns the blinder value. It is the same as the one of …","Provides access to the extra columns added by …","Provides access to commitments to the extra columns added …","","","","","The original instance.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return true if the no extra columns are added by …","","","","This method takes a witness and a vector of evaluations to …","This method takes an Instance and a commitment to zero and …","","","This method returns the scalars and commitments that must …","Return the elements to be absorbed by the sponge","Returns the elements to be absorbed by the sponge","","","","","","","","","","","","","","","","","The scalar u that is used to homogenize the polynomials","","","","","This is the original witness, without quadraticization","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Returns the constraints converted into degree 2 or less …","","","","","","","","","Default type for when you don’t need structure","A generic Index based environment","A standard folding config that supports: G: any curve Col: …","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","",""],"i":[0,11,11,4,11,11,0,0,0,0,0,0,0,11,1,4,0,0,1,11,0,11,11,73,0,11,12,19,1,4,12,19,1,4,73,0,1,4,1,4,73,0,4,0,12,19,1,4,12,19,1,4,12,12,19,1,4,0,12,0,12,4,12,12,19,19,12,19,1,4,4,12,12,19,1,4,0,12,19,1,4,73,12,4,4,1,19,4,0,19,19,73,12,0,12,19,19,19,1,4,12,19,1,4,12,19,1,4,12,19,1,4,12,19,1,4,12,0,0,0,0,0,25,25,32,34,25,32,34,25,74,74,25,25,32,34,25,32,34,25,32,34,25,25,25,25,32,34,25,25,25,32,34,25,34,32,34,32,34,25,25,32,34,75,32,34,25,32,34,25,32,34,25,32,34,25,32,34,25,32,34,36,36,36,36,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,40,40,0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,21,47,48,21,47,35,35,35,0,21,47,48,0,48,35,0,0,0,0,0,21,47,49,46,49,21,47,48,0,21,47,21,47,0,46,48,46,46,21,47,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,46,51,64,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,47,46,48,35,21,47,49,50,51,46,48,35,21,47,49,46,47,49,50,0,51,46,48,35,21,47,49,50,51,0,46,48,35,35,35,21,21,21,21,47,49,50,51,46,47,46,47,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,64,21,46,21,47,50,49,50,46,50,21,21,47,46,48,35,21,47,49,50,51,21,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,46,48,35,21,47,49,50,51,0,0,0,0,0,0,0,0,0,0,17,60,62,17,33,60,62,17,33,60,62,17,33,60,62,17,33,76,60,62,17,33,60,62,17,33,60,62,17,33,60,62,17,33,17,33,60,62,17,33,60,33,60,62,17,33,61,62,61,62,33,17,60,62,17,33,62,60,62,17,33,60,13,77,18,60,62,17,33,61,62,17,60,62,17,33,60,62,17,33,60,62,17,33,60,62,17,33,17,60,62,17,33,60,0,0,78,79,78,79,78,79,78,79,78,79,78,78,78,79,78,79,78,79,78,0,78,79,78,79,78,79,78,79,0,0,0,68,70,72,68,70,72,68,70,70,68,70,68,70,72,68,70,72,68,70,72,72,72,72,68,70,72,72,72,70,68,70,72,68,70,72,68,68,70,68,70,72,68,70,72,68,70,72,68,70,72],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1],0,[1,1],[[[4,[[0,[2,3]]]]],[[4,[[0,[2,3]]]]]],[[]],[[]],[[5,1],6],0,[[[4,[3]],[4,[3]],3],[[4,[3]]]],0,[7],[7],[7],[7],[7],[7],[7],[7],0,[7],[7],[7],[7],0,0,0,0,[[[4,[[0,[8,3]]]],9],10],[[[12,[11]],13,13,[15,[14]],16],17],[[[12,[11]],18,18,16],[[19,[11]]]],0,0,[[]],[[]],[[]],[[]],[[[4,[3]],7],[[20,[3]]]],[[[12,[11]]],7],[[],7],[[],7],[[],7],[[],7],0,[[]],[[]],[[]],[[]],[[15,15]],[[[6,[[21,[11]]]],22]],[3,[[4,[3]]]],[[3,7],[[4,[3]]]],[1,1],[[[19,[11]]]],[[[4,[3]]],[[6,[3]]]],0,0,0,[1,6],0,0,0,0,0,0,[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[21,22]],[[21,22],6],[25,25],[[]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[25,25],26],[[],26],[[25,9],10],[[]],[[]],[[]],[[[0,[27,28]],29],30],[[25,31]],[[],7],[[],7],[[],7],0,0,0,[[]],[[]],[[]],[25,26],[[],[[32,[11]]]],[[17,33],[[34,[11]]]],[[35,22],6],[[[32,[11]],[35,[11]],22],6],[[[34,[11]],[35,[11]],22],6],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[36,[11]]],[[36,[11]]]],[[]],[7],[7],[7],[[[36,[11]],[36,[11]]],26],[[],26],[[[36,[11]],9],10],[[]],[[[0,[27,28]],29],30],[[[36,[11]],31]],[[],7],[[]],[[]],[[],23],[[],23],[[],24],[[]],0,[[]],[[]],[7],[7],[7],[[[37,[11]],18,18,20,16],[[19,[11]]]],[[]],[[[37,[11]]],7],[[],7],[[]],[[[38,[[6,[[21,[11]]]]]],[6,[[21,[11]]]],22]],[[],23],[[],23],[[],24],[[]],0,0,0,0,[[[40,[[0,[39,2]]]],[40,[[0,[39,2]]]]],[[40,[[0,[39,2]]]]]],[[]],[[]],[[[40,[2]]],[[40,[2]]]],[[]],[7],[7],[7],[[[40,[41]],9],10],[[[40,[8]],9],10],[[]],[[],7],[[]],[[[40,[2]],42,42],[[40,[2]]]],[[[40,[[0,[43,2]]]],[40,[[0,[43,2]]]]],[[40,[[0,[43,2]]]]]],[[[40,[[0,[43,2]]]],[0,[43,2]]],[[40,[[0,[43,2]]]]]],[[[40,[[0,[44,2]]]],[40,[[0,[44,2]]]]],[[40,[[0,[44,2]]]]]],[[]],[[],45],[[],23],[[],23],[[],24],[[[40,[2,2]]],[[6,[2,2]]]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[46,46]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[47,[11]],[47,[11]]],[[47,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[46,46],[[[48,[11]]],[[48,[11]]]],[[[35,[11]]],[[35,[11]]]],[[[21,[11]]],[[21,[11]]]],[[[47,[11]]],[[47,[11]]]],[49,49],[[[50,[11]]],[[50,[11]]]],[[[51,[11]]],[[51,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[46,46],52],[[],[[51,[11]]]],[[],46],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[[47,[11]]],[[47,[11]]]],[7],[7],[7],[7],[7],[7],[7],[7],[[46,46],26],[[[48,[11]],[48,[11]]],26],[[[35,[11]],[35,[11]]],26],[[[21,[11]],[21,[11]]],26],[[[47,[11]],[47,[11]]],26],[[49,49],26],[[],26],[[],26],[[],26],0,[[[47,[11]]],[[54,[53]]]],[[[51,[11]]],[[21,[11]]]],[[46,9],10],[[[48,[11]],9],10],[[[35,[11]],9],10],[[[21,[11]],9],10],[[[47,[11]],9],10],[[49,9],10],[[[50,[[0,[8,11]]]],9],10],[[[51,[11]],9],10],[[[6,[[21,[11]]]]]],[[]],[[]],[[]],[55,[[35,[11]]]],[[[56,[55]]],[[35,[11]]]],[[[57,[[56,[55]]]]],[[21,[11]]]],[[]],[[[57,[55]]],[[21,[11]]]],[[[57,[[56,[[57,[55]]]]]]],[[21,[11]]]],[[]],[[]],[[]],[[]],[[[0,[27,28]],29],30],[[[0,[27,28]],29],30],[[46,31]],[[[47,[11]],31]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],26],[[[21,[11]],42],[[21,[11]]]],[[46,46]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[47,[11]],[47,[11]]],[[47,[11]]]],[[[50,[11]],[50,[11]]]],[49,49],[[[50,[11]]]],[[46,46],[[20,[52]]]],0,[[[21,[11]]],[[47,[11]]]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[47,[11]],[47,[11]]],[[47,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[21,[11]]],45],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[60,[[0,[2,58]],[0,[2,[59,[[0,[2,58]]]]]]]]],[[60,[[0,[2,58]],[0,[2,[59,[[0,[2,58]]]]]]]]]],[[[62,[[0,[2,58]],[0,[2,[61,[[0,[2,58]]]]]]]]],[[62,[[0,[2,58]],[0,[2,[61,[[0,[2,58]]]]]]]]]],[[[17,[[0,[2,58]],[0,[2,[61,[[0,[2,58]]]]]]]]],[[17,[[0,[2,58]],[0,[2,[61,[[0,[2,58]]]]]]]]]],[[[33,[[0,[2,58]],[0,[2,[59,[[0,[2,58]]]]]]]]],[[33,[[0,[2,58]],[0,[2,[59,[[0,[2,58]]]]]]]]]],[[]],[[]],[[]],[[]],[[]],[[[60,[58,[59,[58]]]],[60,[58,[59,[58]]]]],[[60,[58,[59,[58]]]]]],[[[62,[58,[61,[58]]]],[62,[58,[61,[58]]]]],[[62,[58,[61,[58]]]]]],[[[17,[58,[61,[58]]]],[17,[58,[61,[58]]]]],[[17,[58,[61,[58]]]]]],[[[33,[58,[59,[58]]]],[33,[58,[59,[58]]]]],[[33,[58,[59,[58]]]]]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],0,0,0,0,0,0,[[[60,[[0,[8,58]],[0,[8,[59,[[0,[8,58]]]]]]]],9],10],[[[33,[[0,[8,58]],[0,[8,[59,[[0,[8,58]]]]]]]],9],10],[[]],[[]],[[]],[[]],[[],4],[[[62,[58,[61,[58]]]]],4],[[]],[[[62,[58,[61,[58]]]]]],[[[33,[58,[59,[58]]]],7],[[20,[[63,[22]]]]]],[[[17,[58,[61,[58]]]],7],[[20,[[14,[58]]]]]],[[],7],[[],7],[[],7],[[],7],0,[[]],[[]],[[]],[[]],[[[60,[58,[59,[58]]]]],26],[[],17],[[[63,[22]]],33],[[[63,[22]]]],[[[63,[22]]],33],[[],17],[[[17,[58,[61,[58]]]]],[[17,[58,[61,[58]]]]]],[[[33,[58,[59,[58]]]],[63,[22]]],[[33,[58,[59,[58]]]]]],[[]],[[[62,[58,[61,[58]]]]]],[[[17,[58,[61,[58]]]]]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],0,[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[7],[7],[7],[7],[7],[7],0,0,[[]],[[]],[[],7],[[],7],[[]],[[]],0,[[[6,[[47,[11]]]]]],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[[68,[58,[0,[64,65,27]],66,[0,[2,[67,[[0,[64,65,27]]]]]],[0,[[61,[58]],67,2]],[0,[[59,[58]],2,[67,[[0,[64,65,27]]]],[67,[66]]]]]],1]],[[[70,[[0,[2,69]]]]],[[70,[[0,[2,69]]]]]],[[]],[[[68,[58,[0,[64,65,27]],66,[0,[2,[67,[[0,[64,65,27]]]]]],[0,[[61,[58]],67,2]],[0,[[59,[58]],2,[67,[[0,[64,65,27]]]],[67,[66]]]]]],[0,[64,65,27]],5,1],6],[[],[[70,[[0,[71,69]]]]]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[72,72],26],[[],26],[[72,9],10],[[]],[[]],[[]],[[[0,[27,28]],29],30],[[72,31]],[[[70,[69]]]],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[[15,[[0,[[61,[58]],67,2]]]],[15,[[0,[[59,[58]],2,[67,[[0,[64,65,27]]]],[67,[66]]]]]]],[[68,[58,[0,[64,65,27]],66,[0,[2,[67,[[0,[64,65,27]]]]]],[0,[[61,[58]],67,2]],[0,[[59,[58]],2,[67,[[0,[64,65,27]]]],[67,[66]]]]]]]],[[[68,[58,[0,[64,65,27]],66,[0,[2,[67,[[0,[64,65,27]]]]]],[0,[[61,[58]],67,2]],[0,[[59,[58]],2,[67,[[0,[64,65,27]]]],[67,[66]]]]]],66,1],6],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[]],[[]],[[]]],"c":[],"p":[[4,"Side"],[8,"Clone"],[8,"Field"],[4,"Alphas"],[4,"CurrOrNext"],[3,"Vec"],[15,"usize"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FoldingConfig"],[3,"FoldingScheme"],[8,"RelaxableInstance"],[3,"PolyComm"],[15,"array"],[8,"FqSponge"],[3,"RelaxedInstance"],[8,"RelaxablePair"],[3,"FoldingOutput"],[4,"Option"],[4,"FoldingCompatibleExpr"],[3,"Radix2EvaluationDomain"],[4,"Result"],[3,"TypeId"],[4,"Column"],[15,"bool"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[3,"Provider"],[3,"RelaxedWitness"],[3,"ExtendedProvider"],[4,"FoldingCompatibleExprInner"],[4,"ExtendedFoldingColumn"],[3,"DecomposableFoldingScheme"],[3,"BTreeMap"],[8,"Add"],[4,"EvalLeaf"],[8,"Display"],[8,"Fn"],[8,"Mul"],[8,"Sub"],[3,"String"],[4,"Degree"],[4,"FoldingExp"],[4,"ExpExtension"],[4,"Sign"],[3,"Term"],[3,"IntegratedFoldingExpr"],[4,"Ordering"],[8,"Iterator"],[3,"Box"],[4,"ConstantExprInner"],[4,"ExprInner"],[4,"Operations"],[8,"CommitmentCurve"],[8,"Witness"],[3,"ExtendedWitness"],[8,"Instance"],[3,"ExtendedInstance"],[3,"Evaluations"],[8,"FoldingColumnTrait"],[8,"Eq"],[8,"Copy"],[8,"Index"],[3,"Env"],[8,"KimchiCurve"],[3,"EmptyStructure"],[8,"Default"],[3,"StandardConfig"],[8,"FoldingEnv"],[8,"Checker"],[8,"Provide"],[8,"Foldable"],[8,"RelaxableWitness"],[3,"Quadraticized"],[3,"ExtendedWitnessGenerator"]]},\ +"folding":{"doc":"This library implements basic components to fold …","t":"EQQNQQCCIIDDCQNNCCNQEQQQCQLLLLLLLLKALLLLKALALLLLLLLLMLLLLAMAMLLLMMLLLLLLLLLLALLLLKLLLLLLAMMKMAMMMMLLLLLLLLLLLLLLLLLLMIEDIDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLKLLLLLLLLLLLLLLLMMNNNNENNNLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLNNENLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNENNNENNIEEEDNNNNNNNNENNNNDNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDIIIIIDDIMLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLMMMMMMLLLLLLKLKLLLLLLLMLLLLLKKKLLLLKLLLLLLLLLLLLLLLLLLMLLLLMDDLLLLLLLLLLMMLLLLLLMFLLLLLLLLDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["Alphas","Challenge","Column","Combinations","Curve","Env","ExpExtension","FoldingCompatibleExpr","FoldingConfig","FoldingEnv","FoldingOutput","FoldingScheme","Instance","Instance","Left","Powers","RelaxedInstance","RelaxedWitness","Right","Selector","Side","Srs","Structure","Structure","Witness","Witness","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","checker","clone","clone","clone_into","clone_into","col","columns","combine","decomposable_folding","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","domain","drop","drop","drop","drop","eval_leaf","expression","expressions","extended_witness_generator","fmt","fold_instance_pair","fold_instance_witness_pair","folded_instance","folded_witness","from","from","from","from","get","get_number_of_additional_columns","init","init","init","init","instance_witness","into","into","into","into","new","new","new","new_sized","other","pair","powers","quadraticization","relaxed_extended_left_instance","relaxed_extended_right_instance","selector","srs","standard_config","structure","t_0","t_1","to_absorb","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","zero_vec","Checker","Column","ExtendedProvider","Provide","Provider","Selector","X","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","check_rec","clone","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","get_hash","hash","init","init","init","inner_provider","instance","instance","into","into","into","is_witness","new","new","resolve","resolve","resolve","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","witness","witness","Alpha","Challenge","Constant","Error","ExtendedFoldingColumn","Inner","Selector","WitnessExtended","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","init","into","to_owned","try_from","try_into","type_id","vzip","DecomposableFoldingScheme","borrow","borrow_mut","deref","deref_mut","drop","fold_instance_witness_pair","from","get_number_of_additional_columns","init","into","new","try_from","try_into","type_id","vzip","Col","Const","EvalLeaf","Result","add","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","map","mul","mul","sub","to_owned","to_string","try_from","try_into","type_id","unwrap","vzip","Add","Add","Alpha","Atom","Atom","Cell","Challenge","Constant","Degree","Double","Double","Error","ExpExtension","ExtendedWitness","Extensions","FoldingColumnTrait","FoldingCompatibleExpr","FoldingCompatibleExprInner","FoldingExp","IntegratedFoldingExpr","Mul","Mul","Neg","One","Pos","Pow","Pow","Selector","Sign","Square","Square","Sub","Sub","Term","Two","U","Zero","add","add","add","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","default","degree","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","double","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","exp","extract_terms","final_expression","flatten_quad_columns","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","folding_expression","from","from","from","from","from","from","from","from","from","from","from","from","from","get_hash","get_hash","hash","hash","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","is_witness","map_variable","mul","mul","mul","mul","neg","neg","partial_cmp","sign","simplify","sub","sub","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","ExtendedInstance","ExtendedWitness","Foldable","Instance","RelaxableInstance","RelaxablePair","RelaxableWitness","RelaxedInstance","RelaxedWitness","Witness","blinder","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","combine","combine","combine","combine","combine","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","error_commitment","error_vec","extended","extended","extended_instance","extended_witness","fmt","fmt","from","from","from","from","get_alphas","get_alphas","get_blinder","get_blinder","get_extended_column","get_extended_column_commitment","init","init","init","init","instance","into","into","into","into","is_extended","relax","relax","relax","relax","relax","relax","relax","to_absorb","to_absorb","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","u","vzip","vzip","vzip","vzip","witness","ExtendedWitnessGenerator","Quadraticized","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","drop","drop","extended_witness_generator","extra_constraints","from","from","init","init","into","into","original_constraints","quadraticize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","EmptyStructure","Env","StandardConfig","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","challenge","clone","clone_into","col","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","get_hash","hash","index","init","init","init","into","into","into","new","selector","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip"],"q":[[0,"folding"],[117,"folding::checker"],[181,"folding::columns"],[209,"folding::decomposable_folding"],[225,"folding::eval_leaf"],[253,"folding::expressions"],[462,"folding::instance_witness"],[566,"folding::quadraticization"],[596,"folding::standard_config"]],"d":["Combinators that will be used to fold the constraints, …","The type of an abstract challenge that can be found in the …","","","The target curve used by the polynomial commitment","","","","","Describe a folding environment. The type parameters are:","Output of the folding prover","","","For Plonk, it will be the commitments to the polynomials …","","","","","","","This type refers to the two instances to be folded","The SRS used by the polynomial commitment. The SRS is used …","","Structure which could be storing useful information like …","","For PlonK, it will be the polynomials in evaluation form …","","","","","","","","","Obtains a given challenge from the expanded instance for …","Define the different structures required for the examples …","","","","","Returns the evaluations of a given column witness at omega …","This module contains description of the additional columns …","","This variant of folding is designed to efficiently handle …","","","","","","","","","","","","","","","","Implement a library to represent expressions/multivariate …","","","Fold two relaxable instances into a relaxed instance. It …","This is the main entry point to fold two instances and …","The folded instance, containing, in particular, the result …","Folded witness, containing, in particular, the result of …","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Return the number of additional columns added by …","","","","","This module defines a list of traits and structures that …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Creates a new environment storing the structure, instances …","","","","","","","A library to reduce constraints into degree 2.","The left relaxed instance, including the potential …","The right relaxed instance, including the potential …","similar to Self::col, but folding may ask for a dynamic …","","This module offers a standard implementation of …","","The error terms of degree 1, see the top-level …","The error terms of degree 2, see the top-level …","Elements to absorbed in IVC, in the same order as done in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","A list of randomizer to combine expressions","A challenge used by the PIOP or the folding scheme.","A constant value in our expression","The error term introduced in the “relaxed” instance.","Describes the additional columns. It is parametrized by a …","The variables of the initial circuit, without …","A “virtual” selector that can be used to …","For the extra columns added by the module quadraticization.","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","folding with a selector will assume that only the selector …","Returns the argument unchanged.","Return the number of additional columns added by …","","Calls U::from(self).","Creates a new folding scheme for decomposable circuits. It …","","","","","","","Result of a folding expression evaluation.","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","The random values α_{i} used to aggregate constraints","","","","","","Describe the degree of a constraint. As described in the …","","","The error term","Extra expressions that can be created by folding","Additional columns created by quadraticization","extra nodes created by folding, should not be passed to …","","Compatible folding expressions that can be used with …","Components to be used to convert multivariate polynomials …","Internal expression used for folding. A “folding” …","A value of type IntegratedFoldingExpr is the result of the …","","","","","","","","Represent a dynamic selector, in the case of using …","Used to encode the sign of a term in a polynomial.","","","","","A term of a polynomial For instance, in the polynomial …","","The variable u used to make the polynomial homogenous","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Return the degree of the column","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Combines constraints into single expression","Map all quad columns into regular witness columns.","","","","","","","","","Convert a list of folding compatible expression into the …","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Maps variable (column index) in expression using the mapper","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An extended instance is an instance that has been extended …","This structure represents a witness extended with extra …","","","","","Trait to make a witness relaxable/homogenizable","A relaxed instance is an instance that has been relaxed by …","","","Blinder used for the commitments to the cross terms","","","","","","","","","","","","","","","","","Combine two objects ‘a’ and ‘b’ into a new object …","","","Combine two relaxed instances into a new relaxed instance.","","","","","","","","","","","","","","The commitment to the error term, introduced when …","The error vector, introduced when homogenizing the …","Extra columns added by quadraticization to lower the …","Commitments to the extra columns added by quadraticization","The original instance, extended with the columns added by …","The original witness, extended with the columns added by …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the alphas values for the instance","","Return the blinder that can be used while committing to …","Returns the blinder value. It is the same as the one of …","Provides access to the extra columns added by …","Provides access to commitments to the extra columns added …","","","","","The original instance.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return true if the no extra columns are added by …","","","","This method takes a witness and a vector of evaluations to …","This method takes an Instance and a commitment to zero and …","","","This method returns the scalars and commitments that must …","Return the elements to be absorbed by the sponge","Returns the elements to be absorbed by the sponge","","","","","","","","","","","","","","","","","The scalar u that is used to homogenize the polynomials","","","","","This is the original witness, without quadraticization","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","Returns the constraints converted into degree 2 or less …","","","","","","","","","Default type for when you don’t need structure","A generic Index based environment","A standard folding config that supports: G: any curve Col: …","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","",""],"i":[0,11,11,4,11,11,0,0,0,0,0,0,0,11,1,4,0,0,1,11,0,11,11,74,0,11,12,19,1,4,12,19,1,4,74,0,1,4,1,4,74,0,4,0,12,19,1,4,12,19,1,4,12,12,19,1,4,0,12,0,12,4,12,12,19,19,12,19,1,4,4,12,12,19,1,4,0,12,19,1,4,74,12,4,4,1,19,4,0,19,19,74,12,0,12,19,19,19,1,4,12,19,1,4,12,19,1,4,12,19,1,4,12,19,1,4,12,0,0,0,0,0,26,26,33,35,26,33,35,26,75,75,26,26,33,35,26,33,35,26,33,35,26,26,26,26,33,35,26,26,26,33,35,26,35,33,35,33,35,26,26,33,35,76,33,35,26,33,35,26,33,35,26,33,35,26,33,35,26,33,35,37,37,37,37,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,41,41,0,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,41,21,48,49,21,48,36,36,36,0,21,48,49,0,49,36,0,0,0,0,0,21,48,50,47,50,21,48,49,0,21,48,21,48,0,47,49,47,47,21,48,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,47,52,65,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,48,47,49,36,21,48,50,51,52,47,49,36,21,48,50,47,48,50,51,0,52,21,47,49,36,21,48,50,51,52,0,47,49,36,36,36,21,21,21,21,48,50,51,52,47,48,47,48,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,65,21,47,21,48,51,50,51,47,51,21,21,48,47,49,36,21,48,50,51,52,21,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,47,49,36,21,48,50,51,52,0,0,0,0,0,0,0,0,0,0,17,61,63,17,34,61,63,17,34,61,63,17,34,61,63,17,34,77,61,63,17,34,61,63,17,34,61,63,17,34,61,63,17,34,17,34,61,63,17,34,61,34,61,63,17,34,62,63,62,63,34,17,61,63,17,34,63,61,63,17,34,61,13,78,18,61,63,17,34,62,63,17,61,63,17,34,61,63,17,34,61,63,17,34,61,63,17,34,17,61,63,17,34,61,0,0,79,80,79,80,79,80,79,80,79,80,79,79,79,80,79,80,79,80,79,0,79,80,79,80,79,80,79,80,0,0,0,69,71,73,69,71,73,69,71,71,69,71,69,71,73,69,71,73,69,71,73,73,73,73,69,71,73,73,73,71,69,71,73,69,71,73,69,69,71,69,71,73,69,71,73,69,71,73,69,71,73],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1],0,[1,1],[[[4,[[0,[2,3]]]]],[[4,[[0,[2,3]]]]]],[[]],[[]],[[5,1],6],0,[[[4,[3]],[4,[3]],3],[[4,[3]]]],0,[7],[7],[7],[7],[7],[7],[7],[7],0,[7],[7],[7],[7],0,0,0,0,[[[4,[[0,[8,3]]]],9],10],[[[12,[11]],13,13,[15,[14]],16],17],[[[12,[11]],18,18,16],[[19,[11]]]],0,0,[[]],[[]],[[]],[[]],[[[4,[3]],7],[[20,[3]]]],[[[12,[11]]],7],[[],7],[[],7],[[],7],[[],7],0,[[]],[[]],[[]],[[]],[[15,15]],[[[22,[[21,[11]]]],23]],[3,[[4,[3]]]],[[3,7],[[4,[3]]]],[1,1],[[[19,[11]]]],[[[4,[3]]],[[22,[3]]]],0,0,0,[1,6],0,0,0,0,0,0,[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[21,23]],[[21,23],22],[26,26],[[]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[26,26],27],[[],27],[[26,9],10],[[]],[[]],[[]],[[[0,[28,29]],30],31],[[26,32]],[[],7],[[],7],[[],7],0,0,0,[[]],[[]],[[]],[26,27],[[],[[33,[11]]]],[[17,34],[[35,[11]]]],[[36,23],22],[[[33,[11]],[36,[11]],23],22],[[[35,[11]],[36,[11]],23],22],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[37,[11]]],[[37,[11]]]],[[]],[7],[7],[7],[[[37,[11]],[37,[11]]],27],[[],27],[[[37,[11]],9],10],[[]],[[[0,[28,29]],30],31],[[[37,[11]],32]],[[],7],[[]],[[]],[[],24],[[],24],[[],25],[[]],0,[[]],[[]],[7],[7],[7],[[[38,[11]],18,18,20,16],[[19,[11]]]],[[]],[[[38,[11]]],7],[[],7],[[]],[[[39,[[22,[[21,[11]]]]]],[22,[[21,[11]]]],23]],[[],24],[[],24],[[],25],[[]],0,0,0,0,[[[41,[[0,[40,2]]]],[41,[[0,[40,2]]]]],[[41,[[0,[40,2]]]]]],[[]],[[]],[[[41,[2]]],[[41,[2]]]],[[]],[7],[7],[7],[[[41,[42]],9],10],[[[41,[8]],9],10],[[]],[[],7],[[]],[[[41,[2]],43,43],[[41,[2]]]],[[[41,[[0,[44,2]]]],[0,[44,2]]],[[41,[[0,[44,2]]]]]],[[[41,[[0,[44,2]]]],[41,[[0,[44,2]]]]],[[41,[[0,[44,2]]]]]],[[[41,[[0,[45,2]]]],[41,[[0,[45,2]]]]],[[41,[[0,[45,2]]]]]],[[]],[[],46],[[],24],[[],24],[[],25],[[[41,[2,2]]],[[22,[2,2]]]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[47,47]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[48,[11]],[48,[11]]],[[48,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[47,47],[[[49,[11]]],[[49,[11]]]],[[[36,[11]]],[[36,[11]]]],[[[21,[11]]],[[21,[11]]]],[[[48,[11]]],[[48,[11]]]],[50,50],[[[51,[11]]],[[51,[11]]]],[[[52,[11]]],[[52,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[47,47],53],[[],[[52,[11]]]],[[],47],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[[48,[11]]],[[48,[11]]]],[7],[7],[7],[7],[7],[7],[7],[7],[[47,47],27],[[[49,[11]],[49,[11]]],27],[[[36,[11]],[36,[11]]],27],[[[21,[11]],[21,[11]]],27],[[[48,[11]],[48,[11]]],27],[[50,50],27],[[],27],[[],27],[[],27],0,[[[48,[11]]],[[55,[54]]]],[[[52,[11]]],[[21,[11]]]],[[[21,[11]],43],[[21,[11]]]],[[47,9],10],[[[49,[11]],9],10],[[[36,[11]],9],10],[[[21,[11]],9],10],[[[48,[11]],9],10],[[50,9],10],[[[51,[[0,[8,11]]]],9],10],[[[52,[11]],9],10],[[[22,[[21,[11]]]]]],[[]],[[]],[[[57,[56]]],[[36,[11]]]],[56,[[36,[11]]]],[[]],[[]],[[[58,[56]]],[[21,[11]]]],[[[58,[[57,[56]]]]],[[21,[11]]]],[[[58,[[57,[[58,[56]]]]]]],[[21,[11]]]],[[]],[[]],[[]],[[]],[[[0,[28,29]],30],31],[[[0,[28,29]],30],31],[[47,32]],[[[48,[11]],32]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],27],[[[21,[11]],43],[[21,[11]]]],[[47,47]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[48,[11]],[48,[11]]],[[48,[11]]]],[[[51,[11]],[51,[11]]]],[50,50],[[[51,[11]]]],[[47,47],[[20,[53]]]],0,[[[21,[11]]],[[48,[11]]]],[[[21,[11]],[21,[11]]],[[21,[11]]]],[[[48,[11]],[48,[11]]],[[48,[11]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[21,[11]]],46],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[61,[[0,[2,59]],[0,[2,[60,[[0,[2,59]]]]]]]]],[[61,[[0,[2,59]],[0,[2,[60,[[0,[2,59]]]]]]]]]],[[[63,[[0,[2,59]],[0,[2,[62,[[0,[2,59]]]]]]]]],[[63,[[0,[2,59]],[0,[2,[62,[[0,[2,59]]]]]]]]]],[[[17,[[0,[2,59]],[0,[2,[62,[[0,[2,59]]]]]]]]],[[17,[[0,[2,59]],[0,[2,[62,[[0,[2,59]]]]]]]]]],[[[34,[[0,[2,59]],[0,[2,[60,[[0,[2,59]]]]]]]]],[[34,[[0,[2,59]],[0,[2,[60,[[0,[2,59]]]]]]]]]],[[]],[[]],[[]],[[]],[[]],[[[61,[59,[60,[59]]]],[61,[59,[60,[59]]]]],[[61,[59,[60,[59]]]]]],[[[63,[59,[62,[59]]]],[63,[59,[62,[59]]]]],[[63,[59,[62,[59]]]]]],[[[17,[59,[62,[59]]]],[17,[59,[62,[59]]]]],[[17,[59,[62,[59]]]]]],[[[34,[59,[60,[59]]]],[34,[59,[60,[59]]]]],[[34,[59,[60,[59]]]]]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],[7],0,0,0,0,0,0,[[[61,[[0,[8,59]],[0,[8,[60,[[0,[8,59]]]]]]]],9],10],[[[34,[[0,[8,59]],[0,[8,[60,[[0,[8,59]]]]]]]],9],10],[[]],[[]],[[]],[[]],[[],4],[[[63,[59,[62,[59]]]]],4],[[]],[[[63,[59,[62,[59]]]]]],[[[34,[59,[60,[59]]]],7],[[20,[[64,[23]]]]]],[[[17,[59,[62,[59]]]],7],[[20,[[14,[59]]]]]],[[],7],[[],7],[[],7],[[],7],0,[[]],[[]],[[]],[[]],[[[61,[59,[60,[59]]]]],27],[[],17],[[[64,[23]]],34],[[[64,[23]]]],[[[64,[23]]],34],[[],17],[[[17,[59,[62,[59]]]]],[[17,[59,[62,[59]]]]]],[[[34,[59,[60,[59]]]],[64,[23]]],[[34,[59,[60,[59]]]]]],[[]],[[[63,[59,[62,[59]]]]]],[[[17,[59,[62,[59]]]]]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],0,[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[7],[7],[7],[7],[7],[7],0,0,[[]],[[]],[[],7],[[],7],[[]],[[]],0,[[[22,[[48,[11]]]]]],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[[69,[59,[0,[65,66,28]],67,[0,[2,[68,[[0,[65,66,28]]]]]],[0,[[62,[59]],68,2]],[0,[[60,[59]],2,[68,[[0,[65,66,28]]]],[68,[67]]]]]],1]],[[[71,[[0,[2,70]]]]],[[71,[[0,[2,70]]]]]],[[]],[[[69,[59,[0,[65,66,28]],67,[0,[2,[68,[[0,[65,66,28]]]]]],[0,[[62,[59]],68,2]],[0,[[60,[59]],2,[68,[[0,[65,66,28]]]],[68,[67]]]]]],[0,[65,66,28]],5,1],6],[[],[[71,[[0,[72,70]]]]]],[7],[7],[7],[7],[7],[7],[7],[7],[7],[[73,73],27],[[],27],[[73,9],10],[[]],[[]],[[]],[[[0,[28,29]],30],31],[[73,32]],[[[71,[70]]]],[[],7],[[],7],[[],7],[[]],[[]],[[]],[[[15,[[0,[[62,[59]],68,2]]]],[15,[[0,[[60,[59]],2,[68,[[0,[65,66,28]]]],[68,[67]]]]]]],[[69,[59,[0,[65,66,28]],67,[0,[2,[68,[[0,[65,66,28]]]]]],[0,[[62,[59]],68,2]],[0,[[60,[59]],2,[68,[[0,[65,66,28]]]],[68,[67]]]]]]]],[[[69,[59,[0,[65,66,28]],67,[0,[2,[68,[[0,[65,66,28]]]]]],[0,[[62,[59]],68,2]],[0,[[60,[59]],2,[68,[[0,[65,66,28]]]],[68,[67]]]]]],67,1],6],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[]],[[]],[[]]],"c":[],"p":[[4,"Side"],[8,"Clone"],[8,"Field"],[4,"Alphas"],[4,"CurrOrNext"],[15,"slice"],[15,"usize"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"FoldingConfig"],[3,"FoldingScheme"],[8,"RelaxableInstance"],[3,"PolyComm"],[15,"array"],[8,"FqSponge"],[3,"RelaxedInstance"],[8,"RelaxablePair"],[3,"FoldingOutput"],[4,"Option"],[4,"FoldingCompatibleExpr"],[3,"Vec"],[3,"Radix2EvaluationDomain"],[4,"Result"],[3,"TypeId"],[4,"Column"],[15,"bool"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[3,"Provider"],[3,"RelaxedWitness"],[3,"ExtendedProvider"],[4,"FoldingCompatibleExprInner"],[4,"ExtendedFoldingColumn"],[3,"DecomposableFoldingScheme"],[3,"BTreeMap"],[8,"Add"],[4,"EvalLeaf"],[8,"Display"],[8,"Fn"],[8,"Mul"],[8,"Sub"],[3,"String"],[4,"Degree"],[4,"FoldingExp"],[4,"ExpExtension"],[4,"Sign"],[3,"Term"],[3,"IntegratedFoldingExpr"],[4,"Ordering"],[8,"Iterator"],[3,"Box"],[4,"ConstantExprInner"],[4,"ExprInner"],[4,"Operations"],[8,"CommitmentCurve"],[8,"Witness"],[3,"ExtendedWitness"],[8,"Instance"],[3,"ExtendedInstance"],[3,"Evaluations"],[8,"FoldingColumnTrait"],[8,"Eq"],[8,"Copy"],[8,"Index"],[3,"Env"],[8,"KimchiCurve"],[3,"EmptyStructure"],[8,"Default"],[3,"StandardConfig"],[8,"FoldingEnv"],[8,"Checker"],[8,"Provide"],[8,"Foldable"],[8,"RelaxableWitness"],[3,"Quadraticized"],[3,"ExtendedWitnessGenerator"]]},\ "groupmap":{"doc":"Follows approach of SvdW06 to construct a “near injection…","t":"DIKLLLLLLLLLFLLKLKLLLLLL","n":["BWParameters","GroupMap","batch_to_group_x","batch_to_group_x","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","get_y","init","into","setup","setup","to_group","to_group","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"groupmap"]],"d":["","","","","","","","","","","","Returns the argument unchanged.","returns the y-coordinate if x is a valid point on the …","","Calls U::from(self).","","","","","","","","",""],"i":[0,0,10,4,4,4,4,4,4,4,4,4,0,4,4,10,4,10,4,4,4,4,4,4],"f":[0,0,[1,[[1,[2]]]],[[[4,[3]],1],[[1,[2]]]],[[]],[[]],[[[4,[[0,[5,3]]]]],[[4,[[0,[5,3]]]]]],[[]],[6],[6],[6],[[]],[[],7],[[],6],[[]],[[]],[[],[[4,[3]]]],[[]],[[[4,[3]]]],[[]],[[],8],[[],8],[[],9],[[]]],"c":[],"p":[[3,"Vec"],[15,"array"],[8,"SWModelParameters"],[3,"BWParameters"],[8,"Clone"],[15,"usize"],[4,"Option"],[4,"Result"],[3,"TypeId"],[8,"GroupMap"]]},\ "internal_tracing":{"doc":"","t":"NNENNNNNNELLLLLLLLLLLLLLLOLLOLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLOFLFLLLLFLLLLLLLL","n":["Array","Bool","JsonValue","Microseconds","Null","Number","Object","String","SystemTime","TimeInput","as_array","as_array_mut","as_bool","as_f64","as_i64","as_null","as_number","as_object","as_object_mut","as_str","as_u64","borrow","borrow","borrow_mut","borrow_mut","checkpoint","clone","clone_into","decl_traces","default","deserialize","deserialize_any","deserialize_any","deserialize_bool","deserialize_bool","deserialize_byte_buf","deserialize_byte_buf","deserialize_bytes","deserialize_bytes","deserialize_char","deserialize_char","deserialize_enum","deserialize_enum","deserialize_f32","deserialize_f32","deserialize_f64","deserialize_f64","deserialize_i128","deserialize_i128","deserialize_i16","deserialize_i16","deserialize_i32","deserialize_i32","deserialize_i64","deserialize_i64","deserialize_i8","deserialize_i8","deserialize_identifier","deserialize_identifier","deserialize_ignored_any","deserialize_ignored_any","deserialize_map","deserialize_map","deserialize_newtype_struct","deserialize_newtype_struct","deserialize_option","deserialize_option","deserialize_seq","deserialize_seq","deserialize_str","deserialize_str","deserialize_string","deserialize_string","deserialize_struct","deserialize_struct","deserialize_tuple","deserialize_tuple","deserialize_tuple_struct","deserialize_tuple_struct","deserialize_u128","deserialize_u128","deserialize_u16","deserialize_u16","deserialize_u32","deserialize_u32","deserialize_u64","deserialize_u64","deserialize_u8","deserialize_u8","deserialize_unit","deserialize_unit","deserialize_unit_struct","deserialize_unit_struct","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_iter","from_iter","from_str","get","get_mut","index","index_mut","into","into","into_deserializer","into_deserializer","is_array","is_boolean","is_f64","is_i64","is_null","is_number","is_object","is_string","is_u64","json","json_to_writer","micros","now_micros","pointer","pointer_mut","serialize","take","time_to_micros","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"internal_tracing"]],"d":["Represents a JSON array.","Represents a JSON boolean.","Represents any valid JSON value.","","Represents a JSON null value.","Represents a JSON number, whether integer or floating …","Represents a JSON object.","Represents a JSON string.","","","If the Value is an Array, returns the associated vector. …","If the Value is an Array, returns the associated mutable …","If the Value is a Boolean, returns the associated bool. …","If the Value is a number, represent it as f64 if possible. …","If the Value is an integer, represent it as i64 if …","If the Value is a Null, returns (). Returns None otherwise.","If the Value is a Number, returns the associated Number. …","If the Value is an Object, returns the associated Map. …","If the Value is an Object, returns the associated mutable …","If the Value is a String, returns the associated str. …","If the Value is an integer, represent it as u64 if …","","","","","Capture the trace/checkpoint.","","","Declare traces group.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Display a JSON value as a string.","","","Returns the argument unchanged.","Convert 64-bit floating point number to Value::Number, or …","Convert () to Value::Null.","Convert String to Value::String.","Convert copy-on-write string to Value::String.","Convert 32-bit floating point number to Value::Number, or …","Convert string slice to Value::String.","Returns the argument unchanged.","","Convert a Vec to Value::Array.","","Convert map (with string keys) to Value::Object.","Convert boolean to Value::Bool.","","Convert Number to Value::Number.","","","","","","Convert a slice to Value::Array.","","","","Create a Value::Object by collecting an iterator of …","Create a Value::Array by collecting an iterator of array …","","Index into a JSON array or map. A string index can be used …","Mutably index into a JSON array or map. A string index can …","Index into a serde_json::Value using the syntax value[0] or","Write into a serde_json::Value using the syntax …","Calls U::from(self).","Calls U::from(self).","","","Returns true if the Value is an Array. Returns false …","Returns true if the Value is a Boolean. Returns false …","Returns true if the Value is a number that can be …","Returns true if the Value is an integer between i64::MIN …","Returns true if the Value is a Null. Returns false …","Returns true if the Value is a Number. Returns false …","Returns true if the Value is an Object. Returns false …","Returns true if the Value is a String. Returns false …","Returns true if the Value is an integer between zero and …","Construct a serde_json::Value from a JSON literal.","Serialize the given data structure as JSON into the I/O …","","","Looks up a value by a JSON Pointer.","Looks up a value by a JSON Pointer and returns a mutable …","","Takes the value out of the Value, leaving a Null in its …","","","","","","","","",""],"i":[1,1,0,30,1,1,1,1,30,0,1,1,1,1,1,1,1,1,1,1,1,30,1,30,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,30,30,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,30,1,1,1,1,1,1,1,1,1,1,1,1,0,0,30,0,1,1,1,1,0,1,1,30,1,30,1,30,1],"f":[0,0,0,0,0,0,0,0,0,0,[1,[[4,[[3,[1,2]]]]]],[1,[[4,[[3,[1,2]]]]]],[1,[[4,[5]]]],[1,[[4,[6]]]],[1,[[4,[7]]]],[1,4],[1,[[4,[8]]]],[1,[[4,[[10,[9,1]]]]]],[1,[[4,[[10,[9,1]]]]]],[1,[[4,[11]]]],[1,[[4,[12]]]],[[]],[[]],[[]],[[]],0,[1,1],[[]],0,[[],1],[13,[[14,[1]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,11,[17,[11]],15],[[14,[16]]]],[[1,11,[17,[11]],15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,11,15],[[14,[16]]]],[[1,11,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,11,[17,[11]],15],[[14,[16]]]],[[1,11,[17,[11]],15],[[14,[16]]]],[[1,18,15],[[14,[16]]]],[[1,18,15],[[14,[16]]]],[[1,11,18,15],[[14,[16]]]],[[1,11,18,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,15],[[14,[16]]]],[[1,11,15],[[14,[16]]]],[[1,11,15],[[14,[16]]]],[[1,19],5],[[1,11],5],[[1,5],5],[[1,6],5],[[1,12],5],[[1,20],5],[[1,7],5],[[1,21],5],[[1,22],5],[[1,23],5],[[1,21],5],[[1,18],5],[[1,24],5],[[1,25],5],[[1,24],5],[[1,20],5],[[1,26],5],[[1,23],5],[[1,7],5],[[1,12],5],[[1,22],5],[[1,19],5],[[1,26],5],[[1,24],5],[[1,25],5],[[1,11],5],[[1,7],5],[[1,5],5],[[1,26],5],[[1,5],5],[[1,1],5],[[1,19],5],[[1,23],5],[[1,12],5],[[1,9],5],[[1,18],5],[[1,18],5],[[1,6],5],[[1,22],5],[[1,21],5],[[1,6],5],[[1,25],5],[[1,20],5],[[],5],[[1,27],[[14,[28]]]],[[1,27],[[14,[28]]]],[29,30],[12,30],[[]],[6,1],[[],1],[9,1],[[[31,[11]]],1],[21,1],[11,1],[[]],[26,1],[[[3,[[32,[1]],2]]],1],[25,1],[[[10,[9,1]]],1],[5,1],[18,1],[8,1],[23,1],[[[4,[[32,[1]]]]],1],[22,1],[12,1],[20,1],[[[17,[[0,[33,[32,[1]]]]]]],1],[7,1],[24,1],[19,1],[34,1],[34,1],[11,[[14,[1,16]]]],[[1,35],[[4,[1]]]],[[1,35],[[4,[1]]]],[[1,35],1],[[1,35],1],[[]],[[]],[1],[1],[1,5],[1,5],[1,5],[1,5],[1,5],[1,5],[1,5],[1,5],[1,5],0,[[36,[0,[37,38]]],[[14,[16]]]],[30,12],[[],12],[[1,11],[[4,[1]]]],[[1,11],[[4,[1]]]],[[1,39],14],[1,1],[29,12],[[]],[[],9],[[],14],[[],14],[[],14],[[],14],[[],40],[[],40]],"c":[],"p":[[4,"JsonValue"],[3,"Global"],[3,"Vec"],[4,"Option"],[15,"bool"],[15,"f64"],[15,"i64"],[3,"Number"],[3,"String"],[3,"Map"],[15,"str"],[15,"u64"],[8,"Deserializer"],[4,"Result"],[8,"Visitor"],[3,"Error"],[15,"slice"],[15,"usize"],[15,"i16"],[15,"u32"],[15,"f32"],[15,"u16"],[15,"i8"],[15,"u8"],[15,"isize"],[15,"i32"],[3,"Formatter"],[3,"Error"],[3,"SystemTime"],[4,"TimeInput"],[4,"Cow"],[8,"Into"],[8,"Clone"],[8,"IntoIterator"],[8,"Index"],[8,"Write"],[8,"Serialize"],[8,"Sized"],[8,"Serializer"],[3,"TypeId"]]},\ -"ivc":{"doc":"This crate provides a circuit to achieve Incremental …","t":"AAAAAAADMLLMLLLMLLMLLLLLLLMLRRRRRAAAAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEDDRRFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLFFFFFFFFFFDLLFLLLLLLFFMMMMFFFFFFLLLLFFDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNEDDDMMLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMAANENNLLLLLLLLLLLLLLLLLLLLLIFKKFAANENNLLLLLLLLLLLLLLLLLLLLLIFKKFAAAGRRRRRRRDDRLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLNNNENLLLLLLLLLLLLLLLLLLLLLIFKKFDLLLLLLLLLLFLLLLL","n":["expr_eval","ivc","plonkish_lang","poseidon_55_0_7_3_2","poseidon_55_0_7_3_7","poseidon_8_56_5_3_2","poseidon_params_55_0_7_3","SimpleEvalEnv","alphas","borrow","borrow_mut","challenges","deref","deref_mut","drop","error_vec","eval_naive_fcompat","eval_naive_fexpr","ext_witness","from","init","into","process_extended_folding_column","try_from","try_into","type_id","u","vzip","LIMB_BITSIZE_XLARGE","N_ADDITIONAL_WIT_COL_QUAD","N_ALPHAS","N_CONSTRAINTS","N_LIMBS_XLARGE","columns","constraints","helpers","interpreter","lookups","Block1Input","Block1InputRepacked150","Block1InputRepacked75","Block2Hash","Block3ConstPhi","Block3ConstR","Block3PhiPow","Block3PhiPowLimbs","Block3PhiPowR","Block3PhiPowR2","Block3PhiPowR2Limbs","Block3PhiPowR3","Block3PhiPowR3Limbs","Block3PhiPowRLimbs","Block4Coeff","Block4ECAddInter","Block4Input1","Block4Input2","Block4Input2AccessTime","Block4OutputAccessTime","Block4OutputRaw","Block4OutputRepacked","Block5ChalLeft","Block5ChalOutput","Block5ChalRight","Block5ConstHr","Block5ConstR","Block6ConstR","Block6ULeft","Block6UOutput","BlockSel","FoldIteration","IVCColumn","IVCFECLens","IVCHashLens","N_BLOCKS","N_FSEL_IVC","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","init","init","init","into","into","into","partial_cmp","re_get","re_get","to_column","to_owned","total_height","traverse","traverse","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","constrain_challenges","constrain_ecadds","constrain_inputs","constrain_ivc","constrain_scalars","constrain_selectors","constrain_u","combine_large_to_full_field","combine_large_to_xlarge","combine_small_to_full","ScalarLimbs","borrow","borrow_mut","build_selectors","deref","deref_mut","drop","from","init","into","ivc_circuit","ivc_circuit_base_case","phi_limbs","phi_np1_r2_limbs","phi_np1_r3_limbs","phi_r_limbs","process_challenges","process_ecadds","process_hashes","process_inputs","process_scalars","process_u","try_from","try_into","type_id","vzip","write_inputs_row","write_scalars_row","IVCFECLookupLens","IVCLookupTable","SerLookupTable","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","equivalent","fmt","from","from","from_u32","get_hash","hash","init","init","into","into","is_fixed","ix_by_value","length","partial_cmp","re_get","to_owned","to_u32","traverse","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Beta","Gamma","JointCombiner","PlonkishChallenge","PlonkishChallengeIter","PlonkishInstance","PlonkishWitness","alphas","blinder","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","combine","combine","commitments","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","equivalent","equivalent","fixed_selectors","fmt","fmt","fmt","fmt","from","from","from","from","from","from_witness","get_alphas","get_blinder","get_hash","get_hash","hash","hash","index","index","index","init","init","init","init","into","into","into","into","into_iter","iter","len","next","next_back","nth","par_bridge","relax","relax","size_hint","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","witness","columns","interpreter","Input","PoseidonColumn","Round","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","columns","interpreter","Input","PoseidonColumn","Round","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","bn254","columns","interpreter","Column","MAX_DEGREE","NB_COLUMNS","NB_CONSTRAINTS","NB_FULL_ROUND","NB_PARTIAL_ROUND","NB_ROUND_CONSTANTS","NB_TOTAL_ROUND","PlonkSpongeConstantsIVC","PoseidonBN254Parameters","STATE_SIZE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","constants","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","mds","static_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","FullRound","Input","PartialRound","PoseidonColumn","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","PlonkSpongeConstantsIVC","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","init","into","static_params","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"ivc"],[7,"ivc::expr_eval"],[28,"ivc::ivc"],[38,"ivc::ivc::columns"],[126,"ivc::ivc::constraints"],[133,"ivc::ivc::helpers"],[136,"ivc::ivc::interpreter"],[164,"ivc::ivc::lookups"],[210,"ivc::plonkish_lang"],[315,"ivc::poseidon_55_0_7_3_2"],[317,"ivc::poseidon_55_0_7_3_2::columns"],[342,"ivc::poseidon_55_0_7_3_2::interpreter"],[347,"ivc::poseidon_55_0_7_3_7"],[349,"ivc::poseidon_55_0_7_3_7::columns"],[374,"ivc::poseidon_55_0_7_3_7::interpreter"],[379,"ivc::poseidon_8_56_5_3_2"],[382,"ivc::poseidon_8_56_5_3_2::bn254"],[423,"ivc::poseidon_8_56_5_3_2::columns"],[449,"ivc::poseidon_8_56_5_3_2::interpreter"],[454,"ivc::poseidon_params_55_0_7_3"]],"d":["","","","Poseidon hash function with 55 full rounds, 0 partial …","Poseidon hash function with 55 full rounds, 0 partial …","Poseidon hash function with 8 full rounds, 56 partial …","Poseidon parameters for 55 full rounds, 0 partial rounds, …","Minimal environment needed for evaluating constraints.","","","","","","","","","For FoldingCompatibleExp","Evaluates the expression in the provided side","","Returns the argument unchanged.","","Calls U::from(self).","","","","","The scalar u that is used to homogenize the polynomials","","The biggest packing variant for foreign field. Used for …","Number of additional columns that a reduction to degree 2 …","Number of alphas needed for the IVC circuit, equal is the …","Number of constraints used by the IVC circuit.","The biggest packing format, 2 limbs.","IVC circuit layout - Top level documentation outdated","","","","","2*17 15-bit limbs (two base field points)","2*2 150-bit limbs","2*4 75-bit limbs","1 hash per row","Constant phi","Constant r","Scalar coeff #1, powers of Phi, phi^i","17 15-bit limbs","Scalar coeff #2, r * phi^i","Scalar coeff #2, r^2 * phi^i","17 15-bit limbs","Scalar coeff #2, r^3 * phi^i","17 15-bit limbs","17 15-bit limbs","Coeffifient which is indexing a bucket. Used for both …","EC ADD intermediate wires","2*4 75-bit limbs","2*4 75-bit limbs","RAM lookup access time for input 1.","RAM lookup access time for output.","2*17 15-bit limbs","2*4 75-bit limbs","α_{L,i}","α_{O,i} = α_{L,i} + r·α_R^i","α_R^i, where α_R = h_R","Constant h_r","Constant r","Constant r","u_L","u_O = u_L + r","Selector for blocks. Inner usize is ∈ [0,#blocks). The …","A single column containing the folding iteration number, …","","","Lens used to convert between IVC columns and Poseidon …","Number of blocks in the circuit.","Number of fixed selectors for the IVC circuit.","Defines the height of each block in the IVC circuit. As …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","Returns total height of the IVC circuit.","","","","","","","","","","","","","","","","","Constraints for the inputs block.","This function generates constraints for the whole IVC …","","This function generates constraints for the whole IVC …","","Helper. Combines large limbs into one element. Computation …","Helper. Combines small limbs into big limbs.","Helper. Combines 17x15bit limbs into 1 native field …","Contains vectors of scalars in small limb representations. …","","","Builds selectors for the IVC circuit. The round constants …","","","","Returns the argument unchanged.","","Calls U::from(self).","Instantiates the IVC circuit for folding. L is relaxed …","Base case IVC circuit, completely turned off. For the base …","ϕ^i, i ∈ [N+1]","r^2·ϕ^{N+1}","r^3·ϕ^{N+1}","r·ϕ^i, i ∈ [N+1]","","","Instantiates the IVC circuit for folding. N_COL_TOTAL is …","comms is lefts, rights, and outs. Returns the packed …","Processes scalars. Returns a vector of limbs of (powers …","","","","","","","","","Enumeration of concrete lookup tables used in …","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","All tables are fixed tables.","Converts a value to its index in the fixed table.","","","","","","","","","","","","","","","","","","","An iterator over the variants of PlonkishChallenge","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Map a column alias to the corresponding witness column.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","This method takes a witness and a vector of evaluations to …","This method takes an Instance and a commitment to zero and …","","","","","","","","","","","","","","","","","","","","","","","","","Implement an interpreter for a specific instance of the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the whole permutation of Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","The column layout will be as follow, supposing a state …","Implement an interpreter for a specific instance of the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the whole permutation of Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","Poseidon parameters that can be used by …","","Implement an interpreter for a specific instance of the …","","The maximum degree of a constraint","The number of columns in the poseidon permutation","The number of constraints required by this gadget","Number of full rounds","Number of partial rounds","Number of round constants","Total number of rounds, including partial and full.","Constants used by the IVC circuit used by the folding …","","The number of field elements in the state","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the HADES-based Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","Constants used by the IVC circuit used by the folding …","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,17,18,11,17,18,11,11,11,11,17,18,11,17,18,11,17,18,11,11,11,11,17,18,11,17,18,11,17,18,11,11,17,18,11,11,0,17,18,17,18,11,17,18,11,17,18,11,17,18,11,0,0,0,0,0,0,0,0,0,0,0,32,32,0,32,32,32,32,32,32,0,0,32,32,32,32,0,0,0,0,0,0,32,32,32,32,0,0,0,0,22,22,45,22,45,22,22,22,22,45,22,45,22,45,22,22,22,22,22,45,22,22,22,22,45,22,45,22,22,22,22,22,45,22,22,45,45,22,45,22,45,22,45,22,49,49,49,0,0,0,0,48,48,47,48,49,50,47,48,49,50,48,47,48,49,50,47,48,49,50,47,48,48,47,48,49,50,47,48,49,50,47,48,49,50,47,49,47,49,47,47,48,49,50,47,48,49,49,50,48,48,48,47,49,47,49,47,47,48,47,48,49,50,47,48,49,50,50,49,50,50,50,50,50,47,48,50,48,47,48,49,50,47,48,49,50,47,48,49,50,47,48,49,50,47,48,49,50,47,0,0,61,0,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,0,0,62,62,0,0,0,63,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,0,64,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,65,66,65,65,65,66,66,65,66,65,66,65,66,65,66,65,66,65,66,0,65,66,65,66,65,66,65,66,65,69,69,69,0,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,69,0,0,30,30,0,0,70,70,70,70,70,70,70,70,70,70,0,70,70,70,70,70],"f":[0,0,0,0,0,0,0,0,0,[[]],[[]],0,[1],[1],[1],0,[[[3,[2]],[5,[4]]],6],[[[3,[2]],[7,[4]]],6],0,[[]],[[],1],[[]],[[[3,[2]],[8,[4]]],6],[[],9],[[],9],[[],10],0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,1],[[]],[[]],[[]],[[]],[[]],[[]],[11,11],[[]],[[11,11],12],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[11,11],13],[[],13],[[11,14],15],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[11,11],[[16,[12]]]],[17],[18],[11,19],[[]],[[],1],[17,16],[18,16],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[21,[20,11]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[0,[[21,[24,11]],[23,[24,11,[22,[20]]]],[25,[24,11]]]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[21,[20,11]]]],[[[21,[20,11]]]],[[[26,[20]]],20],[26,26],[26],0,[[]],[[]],[1,[[26,[[27,[24]]]]]],[1],[1],[1],[[]],[[],1],[[]],[[[0,[[28,[20,11]],[25,[20,11]],[23,[20,11,[22,[20]]]]]],1,[29,[26]],[29,[26]],[29,[26]],26,26,20,[29,[[26,[20]]]],[30,[20]],1]],[[[0,[[28,[20,11]],[25,[20,11]]]],1]],0,0,0,0,[[[31,[20,11]],1,20,[26,[20]],20]],[[[0,[[28,[20,11]],[23,[20,11,[22,[20]]]]]],1,[32,[20]],[26,[[26,[[26,[20]]]]]],26,26]],[[[0,[[31,[20,11]],[25,[20,11]]]],1,[30,[20]],[26,[[26,[[26,[20]]]]]]]],[[[0,[[31,[20,11]],[23,[20,11,[22,[20]]]]]],1,[26,[[29,[26]]]]]],[[[0,[[28,[20,11]],[23,[20,11,[22,[20]]]]]],1,20,20],[[32,[20]]]],[[[31,[20,11]],1,20,20]],[[],9],[[],9],[[],10],[[]],[[[33,[20,11]],26,1]],[[[33,[20,11]],20,20,20]],0,0,0,[[],[[27,[[22,[20]]]]]],[[]],[[]],[[]],[[]],[[[22,[34]]],[[22,[34]]]],[[]],[[[22,[35]],[22,[35]]],12],[1],[1],[1],[1],[1],[1],[[[22,[20]],36],[[27,[20]]]],[[[22,[37]],[22,[37]]],13],[[],13],[[[22,[38]],14],15],[[]],[[]],[39,[[22,[20]]]],[[[0,[40,41]],42],36],[[[22,[40]],43]],[[],1],[[],1],[[]],[[]],[[[22,[20]]],13],[[[22,[20]],20],1],[[[22,[20]]],1],[[[22,[44]],[22,[44]]],[[16,[12]]]],[45],[[]],[[[22,[20]]],39],[45,16],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[47,[[0,[34,46]]]]],[[47,[[0,[34,46]]]]]],[[[48,[[0,[34,2]]]]],[[48,[[0,[34,2]]]]]],[49,49],[50,50],[[]],[[]],[[]],[[]],[[[47,[46]],[47,[46]],46],[[47,[46]]]],[[[48,[2]],[48,[2]]],[[48,[2]]]],0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[[47,[[0,[37,46]]]],[47,[[0,[37,46]]]]],13],[[49,49],13],[[],13],[[],13],0,[[[47,[[0,[38,46]]]],14],15],[[[48,[[0,[38,2]]]],14],15],[[49,14],15],[[50,14],15],[[]],[[]],[[]],[51,49],[[]],[[[54,[[53,[52]]]],[55,[2]],[56,[2]],52],[[48,[2]]]],[[[48,[2]]],57],[[[48,[2]]]],[[[0,[40,41]],42],36],[[[0,[40,41]],42],36],[[[47,[[0,[40,46]]]],43]],[[49,43]],[[[47,[46]]]],[[[47,[46]],19]],[[[48,[2]],49]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[],50],[50,1],[50,16],[50,16],[[50,1],16],[[],58],[[[53,[52]]],59],[[],60],[50],[[[48,[2]]]],[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[61,61],[[]],[[61,61],12],[1],[1],[1],[[61,61],13],[[],13],[[61,14],15],[[]],[[],1],[[]],[[61,61],[[16,[12]]]],[61,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,61]],[25,[20,61]]]],[62,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,61]],[25,[20,61]]]],[62,[20]],26],26],0,0,0,0,0,0,[[]],[[]],[63,63],[[]],[[63,63],12],[1],[1],[1],[[63,63],13],[[],13],[[63,14],15],[[]],[[],1],[[]],[[63,63],[[16,[12]]]],[63,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,63]],[25,[20,63]]]],[64,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,63]],[25,[20,63]]]],[64,[20]],26],26],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[65,65],[[]],[66,[[26,[[26,[67]]]]]],[1],[1],[1],[1],[1],[1],[[]],[[]],[[],1],[[],1],[[]],[[]],[66,[[26,[[26,[67]]]]]],[[],[[68,[67]]]],[[]],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[]],[[]],0,0,0,0,0,[[]],[[]],[69,69],[[]],[[69,69],12],[1],[1],[1],[[69,69],13],[[],13],[[69,14],15],[[]],[[],1],[[]],[[69,69],[[16,[12]]]],[69,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,69]],[25,[20,69]]]],[30,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,69]],[25,[20,69]]]],[30,[20]],26],26],0,[[]],[[]],[70,70],[[]],[1],[1],[1],[[]],[[],1],[[]],[[],[[68,[67]]]],[[]],[[],9],[[],9],[[],10],[[]]],"c":[],"p":[[15,"usize"],[8,"KimchiCurve"],[3,"SimpleEvalEnv"],[8,"FoldingConfig"],[4,"FoldingCompatibleExpr"],[4,"EvalLeaf"],[4,"FoldingExp"],[4,"ExtendedFoldingColumn"],[4,"Result"],[3,"TypeId"],[4,"IVCColumn"],[4,"Ordering"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Option"],[3,"IVCHashLens"],[3,"IVCFECLens"],[4,"Column"],[8,"PrimeField"],[8,"ColAccessCap"],[4,"IVCLookupTable"],[8,"LookupCap"],[6,"Fp"],[8,"HybridCopyCap"],[15,"array"],[3,"Vec"],[8,"DirectWitnessCap"],[3,"Box"],[8,"PoseidonParams"],[8,"MultiRowReadCap"],[3,"ScalarLimbs"],[8,"ColWriteCap"],[8,"Clone"],[8,"Ord"],[15,"u64"],[8,"PartialEq"],[8,"Debug"],[15,"u32"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[8,"PartialOrd"],[3,"IVCFECLookupLens"],[8,"FftField"],[3,"PlonkishWitness"],[3,"PlonkishInstance"],[4,"PlonkishChallenge"],[3,"PlonkishChallengeIter"],[4,"ChallengeTerm"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"Witness"],[8,"FqSponge"],[3,"SRS"],[4,"Alphas"],[3,"IterBridge"],[3,"RelaxedWitness"],[3,"RelaxedInstance"],[4,"PoseidonColumn"],[8,"PoseidonParams"],[4,"PoseidonColumn"],[8,"PoseidonParams"],[3,"PlonkSpongeConstantsIVC"],[3,"PoseidonBN254Parameters"],[6,"Fr"],[3,"ArithmeticSpongeParams"],[4,"PoseidonColumn"],[3,"PlonkSpongeConstantsIVC"]]},\ +"ivc":{"doc":"This crate provides a circuit to achieve Incremental …","t":"AAAAAAADMLLMLLLMLLMLLLLLLLMLRRRRRAAAAANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNEDDRRFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLFFFFFFFFFFDLLFLLLLLLFFMMMMFFFFFFLLLLFFDENLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNINNEDDGDMMLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLLKKLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMAANENNLLLLLLLLLLLLLLLLLLLLLIFKKFAANENNLLLLLLLLLLLLLLLLLLLLLIFKKFAAAGRRRRRRRDDRLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLNNNENLLLLLLLLLLLLLLLLLLLLLIFKKFDLLLLLLLLLLFLLLLL","n":["expr_eval","ivc","plonkish_lang","poseidon_55_0_7_3_2","poseidon_55_0_7_3_7","poseidon_8_56_5_3_2","poseidon_params_55_0_7_3","SimpleEvalEnv","alphas","borrow","borrow_mut","challenges","deref","deref_mut","drop","error_vec","eval_naive_fcompat","eval_naive_fexpr","ext_witness","from","init","into","process_extended_folding_column","try_from","try_into","type_id","u","vzip","LIMB_BITSIZE_XLARGE","N_ADDITIONAL_WIT_COL_QUAD","N_ALPHAS","N_CONSTRAINTS","N_LIMBS_XLARGE","columns","constraints","helpers","interpreter","lookups","Block1Input","Block1InputRepacked150","Block1InputRepacked75","Block2Hash","Block3ConstPhi","Block3ConstR","Block3PhiPow","Block3PhiPowLimbs","Block3PhiPowR","Block3PhiPowR2","Block3PhiPowR2Limbs","Block3PhiPowR3","Block3PhiPowR3Limbs","Block3PhiPowRLimbs","Block4Coeff","Block4ECAddInter","Block4Input1","Block4Input2","Block4Input2AccessTime","Block4OutputAccessTime","Block4OutputRaw","Block4OutputRepacked","Block5ChalLeft","Block5ChalOutput","Block5ChalRight","Block5ConstHr","Block5ConstR","Block6ConstR","Block6ULeft","Block6UOutput","BlockSel","FoldIteration","IVCColumn","IVCFECLens","IVCHashLens","N_BLOCKS","N_FSEL_IVC","block_height","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","eq","equivalent","fmt","from","from","from","init","init","init","into","into","into","partial_cmp","re_get","re_get","to_column","to_owned","total_height","traverse","traverse","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","constrain_challenges","constrain_ecadds","constrain_inputs","constrain_ivc","constrain_scalars","constrain_selectors","constrain_u","combine_large_to_full_field","combine_large_to_xlarge","combine_small_to_full","ScalarLimbs","borrow","borrow_mut","build_selectors","deref","deref_mut","drop","from","init","into","ivc_circuit","ivc_circuit_base_case","phi_limbs","phi_np1_r2_limbs","phi_np1_r3_limbs","phi_r_limbs","process_challenges","process_ecadds","process_hashes","process_inputs","process_scalars","process_u","try_from","try_into","type_id","vzip","write_inputs_row","write_scalars_row","IVCFECLookupLens","IVCLookupTable","SerLookupTable","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","equivalent","fmt","from","from","from_u32","get_hash","hash","init","init","into","into","is_fixed","ix_by_value","length","partial_cmp","re_get","to_owned","to_u32","traverse","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Beta","CombinableEvals","Gamma","JointCombiner","PlonkishChallenge","PlonkishChallengeIter","PlonkishInstance","PlonkishWitness","PlonkishWitnessGeneric","alphas","blinder","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","combine","combine","commitments","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","e_as_mut_slice","e_as_slice","eq","eq","equivalent","equivalent","fixed_selectors","fmt","fmt","fmt","fmt","from","from","from","from","from","from_witness","get_alphas","get_blinder","get_hash","get_hash","hash","hash","index","index","index","init","init","init","init","into","into","into","into","into_iter","iter","len","next","next_back","nth","par_bridge","phantom","relax","relax","size_hint","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","witness","columns","interpreter","Input","PoseidonColumn","Round","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","columns","interpreter","Input","PoseidonColumn","Round","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","bn254","columns","interpreter","Column","MAX_DEGREE","NB_COLUMNS","NB_CONSTRAINTS","NB_FULL_ROUND","NB_PARTIAL_ROUND","NB_ROUND_CONSTANTS","NB_TOTAL_ROUND","PlonkSpongeConstantsIVC","PoseidonBN254Parameters","STATE_SIZE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","constants","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","mds","static_params","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","FullRound","Input","PartialRound","PoseidonColumn","RoundConstant","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","PoseidonParams","apply_permutation","constants","mds","poseidon_circuit","PlonkSpongeConstantsIVC","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","from","init","into","static_params","to_owned","try_from","try_into","type_id","vzip"],"q":[[0,"ivc"],[7,"ivc::expr_eval"],[28,"ivc::ivc"],[38,"ivc::ivc::columns"],[126,"ivc::ivc::constraints"],[133,"ivc::ivc::helpers"],[136,"ivc::ivc::interpreter"],[164,"ivc::ivc::lookups"],[210,"ivc::plonkish_lang"],[320,"ivc::poseidon_55_0_7_3_2"],[322,"ivc::poseidon_55_0_7_3_2::columns"],[347,"ivc::poseidon_55_0_7_3_2::interpreter"],[352,"ivc::poseidon_55_0_7_3_7"],[354,"ivc::poseidon_55_0_7_3_7::columns"],[379,"ivc::poseidon_55_0_7_3_7::interpreter"],[384,"ivc::poseidon_8_56_5_3_2"],[387,"ivc::poseidon_8_56_5_3_2::bn254"],[428,"ivc::poseidon_8_56_5_3_2::columns"],[454,"ivc::poseidon_8_56_5_3_2::interpreter"],[459,"ivc::poseidon_params_55_0_7_3"]],"d":["","","","Poseidon hash function with 55 full rounds, 0 partial …","Poseidon hash function with 55 full rounds, 0 partial …","Poseidon hash function with 8 full rounds, 56 partial …","Poseidon parameters for 55 full rounds, 0 partial rounds, …","Minimal environment needed for evaluating constraints.","","","","","","","","","For FoldingCompatibleExp","Evaluates the expression in the provided side","","Returns the argument unchanged.","","Calls U::from(self).","","","","","The scalar u that is used to homogenize the polynomials","","The biggest packing variant for foreign field. Used for …","Number of additional columns that a reduction to degree 2 …","Number of alphas needed for the IVC circuit, equal is the …","Number of constraints used by the IVC circuit.","The biggest packing format, 2 limbs.","IVC circuit layout - Top level documentation outdated","","","","","2*17 15-bit limbs (two base field points)","2*2 150-bit limbs","2*4 75-bit limbs","1 hash per row","Constant phi","Constant r","Scalar coeff #1, powers of Phi, phi^i","17 15-bit limbs","Scalar coeff #2, r * phi^i","Scalar coeff #2, r^2 * phi^i","17 15-bit limbs","Scalar coeff #2, r^3 * phi^i","17 15-bit limbs","17 15-bit limbs","Coeffifient which is indexing a bucket. Used for both …","EC ADD intermediate wires","2*4 75-bit limbs","2*4 75-bit limbs","RAM lookup access time for input 1.","RAM lookup access time for output.","2*17 15-bit limbs","2*4 75-bit limbs","α_{L,i}","α_{O,i} = α_{L,i} + r·α_R^i","α_R^i, where α_R = h_R","Constant h_r","Constant r","Constant r","u_L","u_O = u_L + r","Selector for blocks. Inner usize is ∈ [0,#blocks). The …","A single column containing the folding iteration number, …","","","Lens used to convert between IVC columns and Poseidon …","Number of blocks in the circuit.","Number of fixed selectors for the IVC circuit.","Defines the height of each block in the IVC circuit. As …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","Returns total height of the IVC circuit.","","","","","","","","","","","","","","","","","Constraints for the inputs block.","This function generates constraints for the whole IVC …","","This function generates constraints for the whole IVC …","","Helper. Combines large limbs into one element. Computation …","Helper. Combines small limbs into big limbs.","Helper. Combines 17x15bit limbs into 1 native field …","Contains vectors of scalars in small limb representations. …","","","Builds selectors for the IVC circuit. The round constants …","","","","Returns the argument unchanged.","","Calls U::from(self).","Instantiates the IVC circuit for folding. L is relaxed …","Base case IVC circuit, completely turned off. For the base …","ϕ^i, i ∈ [N+1]","r^2·ϕ^{N+1}","r^3·ϕ^{N+1}","r·ϕ^i, i ∈ [N+1]","","","Instantiates the IVC circuit for folding. N_COL_TOTAL is …","comms is lefts, rights, and outs. Returns the packed …","Processes scalars. Returns a vector of limbs of (powers …","","","","","","","","","Enumeration of concrete lookup tables used in …","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","All tables are fixed tables.","Converts a value to its index in the fixed table.","","","","","","","","","","","","","","","","Vector field over F. Something like a vector.","","","","An iterator over the variants of PlonkishChallenge","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Map a column alias to the corresponding witness column.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","This method takes a witness and a vector of evaluations to …","This method takes an Instance and a commitment to zero and …","","","","","","","","","","","","","","","","","","","","","","","","","Implement an interpreter for a specific instance of the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the whole permutation of Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","The column layout will be as follow, supposing a state …","Implement an interpreter for a specific instance of the …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the whole permutation of Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","Poseidon parameters that can be used by …","","Implement an interpreter for a specific instance of the …","","The maximum degree of a constraint","The number of columns in the poseidon permutation","The number of constraints required by this gadget","Number of full rounds","Number of partial rounds","Number of round constants","Total number of rounds, including partial and full.","Constants used by the IVC circuit used by the folding …","","The number of field elements in the state","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Represents the parameters of the instance of the Poseidon …","Apply the HADES-based Poseidon to the state. The …","","","Populates and checks one poseidon invocation.","Constants used by the IVC circuit used by the folding …","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,17,18,11,17,18,11,11,11,11,17,18,11,17,18,11,17,18,11,11,11,11,17,18,11,17,18,11,17,18,11,11,17,18,11,11,0,17,18,17,18,11,17,18,11,17,18,11,17,18,11,0,0,0,0,0,0,0,0,0,0,0,32,32,0,32,32,32,32,32,32,0,0,32,32,32,32,0,0,0,0,0,0,32,32,32,32,0,0,0,0,22,22,45,22,45,22,22,22,22,45,22,45,22,45,22,22,22,22,22,45,22,22,22,22,45,22,45,22,22,22,22,22,45,22,22,45,45,22,45,22,45,22,45,22,49,0,49,49,0,0,0,0,0,48,48,47,48,49,50,47,48,49,50,48,47,48,49,50,47,48,49,50,47,48,48,47,48,49,50,47,48,49,50,47,48,49,50,51,51,47,49,47,49,47,47,48,49,50,47,48,49,49,50,48,48,48,47,49,47,49,61,47,48,47,48,49,50,47,48,49,50,50,49,50,50,50,50,50,47,47,48,50,48,47,48,49,50,47,48,49,50,47,48,49,50,47,48,49,50,47,48,49,50,47,0,0,65,0,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,0,0,66,66,0,0,0,67,0,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,0,68,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,69,70,69,69,69,70,70,69,70,69,70,69,70,69,70,69,70,69,70,0,69,70,69,70,69,70,69,70,69,73,73,73,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,0,30,30,0,0,74,74,74,74,74,74,74,74,74,74,0,74,74,74,74,74],"f":[0,0,0,0,0,0,0,0,0,[[]],[[]],0,[1],[1],[1],0,[[[3,[2]],[5,[4]]],6],[[[3,[2]],[7,[4]]],6],0,[[]],[[],1],[[]],[[[3,[2]],[8,[4]]],6],[[],9],[[],9],[[],10],0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[1,1],[[]],[[]],[[]],[[]],[[]],[[]],[11,11],[[]],[[11,11],12],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[11,11],13],[[],13],[[11,14],15],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[11,11],[[16,[12]]]],[17],[18],[11,19],[[]],[[],1],[17,16],[18,16],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[[21,[20,11]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[0,[[21,[24,11]],[23,[24,11,[22,[20]]]],[25,[24,11]]]]]],[[[0,[[21,[20,11]],[23,[20,11,[22,[20]]]]]]]],[[[21,[20,11]]]],[[[21,[20,11]]]],[[[26,[20]]],20],[26,26],[26],0,[[]],[[]],[1,[[26,[[27,[24]]]]]],[1],[1],[1],[[]],[[],1],[[]],[[[0,[[28,[20,11]],[25,[20,11]],[23,[20,11,[22,[20]]]]]],1,[29,[26]],[29,[26]],[29,[26]],26,26,20,[29,[[26,[20]]]],[30,[20]],1]],[[[0,[[28,[20,11]],[25,[20,11]]]],1]],0,0,0,0,[[[31,[20,11]],1,20,[26,[20]],20]],[[[0,[[28,[20,11]],[23,[20,11,[22,[20]]]]]],1,[32,[20]],[26,[[26,[[26,[20]]]]]],26,26]],[[[0,[[31,[20,11]],[25,[20,11]]]],1,[30,[20]],[26,[[26,[[26,[20]]]]]]]],[[[0,[[31,[20,11]],[23,[20,11,[22,[20]]]]]],1,[26,[[29,[26]]]]]],[[[0,[[28,[20,11]],[23,[20,11,[22,[20]]]]]],1,20,20],[[32,[20]]]],[[[31,[20,11]],1,20,20]],[[],9],[[],9],[[],10],[[]],[[[33,[20,11]],26,1]],[[[33,[20,11]],20,20,20]],0,0,0,[[],[[27,[[22,[20]]]]]],[[]],[[]],[[]],[[]],[[[22,[34]]],[[22,[34]]]],[[]],[[[22,[35]],[22,[35]]],12],[1],[1],[1],[1],[1],[1],[[[22,[20]],36],[[27,[20]]]],[[[22,[37]],[22,[37]]],13],[[],13],[[[22,[38]],14],15],[[]],[[]],[39,[[22,[20]]]],[[[0,[40,41]],42],36],[[[22,[40]],43]],[[],1],[[],1],[[]],[[]],[[[22,[20]]],13],[[[22,[20]],20],1],[[[22,[20]]],1],[[[22,[44]],[22,[44]]],[[16,[12]]]],[45],[[]],[[[22,[20]]],39],[45,16],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[47,[[0,[34,46]],34]]],[[47,[[0,[34,46]],34]]]],[[[48,[[0,[34,2]]]]],[[48,[[0,[34,2]]]]]],[49,49],[50,50],[[]],[[]],[[]],[[]],[[[47,[46,[51,[46]]]],[47,[46,[51,[46]]]],46],[[47,[46,[51,[46]]]]]],[[[48,[2]],[48,[2]]],[[48,[2]]]],0,[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[],52],[[],52],[[[47,[[0,[37,46]],37]],[47,[[0,[37,46]],37]]],13],[[49,49],13],[[],13],[[],13],0,[[[47,[[0,[38,46]],38]],14],15],[[[48,[[0,[38,2]]]],14],15],[[49,14],15],[[50,14],15],[[]],[[]],[53,49],[[]],[[]],[[[56,[[55,[54]]]],[57,[2]],[58,[2]],54],[[48,[2]]]],[[[48,[2]]],59],[[[48,[2]]]],[[[0,[40,41]],42],36],[[[0,[40,41]],42],36],[[[47,[[0,[40,46]],40]],43]],[[49,43]],[[[61,[60]]]],[[[47,[60,[51,[60]]]],19]],[[[48,[2]],49]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[],50],[50,1],[50,16],[50,16],[[50,1],16],[[],62],0,[[[55,[54]]],63],[[],64],[50],[[[48,[2]]]],[[]],[[]],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[],10],[[],10],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[65,65],[[]],[[65,65],12],[1],[1],[1],[[65,65],13],[[],13],[[65,14],15],[[]],[[],1],[[]],[[65,65],[[16,[12]]]],[65,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,65]],[25,[20,65]]]],[66,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,65]],[25,[20,65]]]],[66,[20]],26],26],0,0,0,0,0,0,[[]],[[]],[67,67],[[]],[[67,67],12],[1],[1],[1],[[67,67],13],[[],13],[[67,14],15],[[]],[[],1],[[]],[[67,67],[[16,[12]]]],[67,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,67]],[25,[20,67]]]],[68,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,67]],[25,[20,67]]]],[68,[20]],26],26],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[69,69],[[]],[70,[[26,[[26,[71]]]]]],[1],[1],[1],[1],[1],[1],[[]],[[]],[[],1],[[],1],[[]],[[]],[70,[[26,[[26,[71]]]]]],[[],[[72,[71]]]],[[]],[[],9],[[],9],[[],9],[[],9],[[],10],[[],10],[[]],[[]],0,0,0,0,0,[[]],[[]],[73,73],[[]],[[73,73],12],[1],[1],[1],[[73,73],13],[[],13],[[73,14],15],[[]],[[],1],[[]],[[73,73],[[16,[12]]]],[73,19],[[]],[[],9],[[],9],[[],10],[[]],0,[[[0,[[21,[20,73]],[25,[20,73]]]],[30,[20]]],26],[[],[[26,[26]]]],[[],[[26,[26]]]],[[[0,[[33,[20,73]],[25,[20,73]]]],[30,[20]],26],26],0,[[]],[[]],[74,74],[[]],[1],[1],[1],[[]],[[],1],[[]],[[],[[72,[71]]]],[[]],[[],9],[[],9],[[],10],[[]]],"c":[],"p":[[15,"usize"],[8,"KimchiCurve"],[3,"SimpleEvalEnv"],[8,"FoldingConfig"],[4,"FoldingCompatibleExpr"],[4,"EvalLeaf"],[4,"FoldingExp"],[4,"ExtendedFoldingColumn"],[4,"Result"],[3,"TypeId"],[4,"IVCColumn"],[4,"Ordering"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Option"],[3,"IVCHashLens"],[3,"IVCFECLens"],[4,"Column"],[8,"PrimeField"],[8,"ColAccessCap"],[4,"IVCLookupTable"],[8,"LookupCap"],[6,"Fp"],[8,"HybridCopyCap"],[15,"array"],[3,"Vec"],[8,"DirectWitnessCap"],[3,"Box"],[8,"PoseidonParams"],[8,"MultiRowReadCap"],[3,"ScalarLimbs"],[8,"ColWriteCap"],[8,"Clone"],[8,"Ord"],[15,"u64"],[8,"PartialEq"],[8,"Debug"],[15,"u32"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[8,"Hasher"],[8,"PartialOrd"],[3,"IVCFECLookupLens"],[8,"Field"],[3,"PlonkishWitnessGeneric"],[3,"PlonkishInstance"],[4,"PlonkishChallenge"],[3,"PlonkishChallengeIter"],[8,"CombinableEvals"],[15,"slice"],[4,"ChallengeTerm"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"Witness"],[8,"FqSponge"],[3,"SRS"],[4,"Alphas"],[8,"FftField"],[6,"PlonkishWitness"],[3,"IterBridge"],[3,"RelaxedWitness"],[3,"RelaxedInstance"],[4,"PoseidonColumn"],[8,"PoseidonParams"],[4,"PoseidonColumn"],[8,"PoseidonParams"],[3,"PlonkSpongeConstantsIVC"],[3,"PoseidonBN254Parameters"],[6,"Fr"],[3,"ArithmeticSpongeParams"],[4,"PoseidonColumn"],[3,"PlonkSpongeConstantsIVC"]]},\ "kimchi":{"doc":"Kimchi","t":"AOOAAAAOOOCAAOCCCAACAAAAACOOAADDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMLLLLLAAAAAAAAAAAAAASIDDEDSINNNKLLLLLLLLMLLLLMKLLMKKLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLMLLLLNEGDNNDNNNNNNNNMLLLLLLMLLLFMLFMLLLLLLLMLLLLLLLLLLLLLLLFMLLLLLLLLMLMLLMMMLMMLLLLLLLLLLLLMLLLFMFFMDDDNNDDENLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMMLMLLLLLMMMMLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLMMLMLLLLMMMMLLMLMMMMMLLLMMLFLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMFMMDLLLLMMLLLLLLLLLMMMLLLLLMLDLLLLLMMMMLLLLLLLLLLLLLLNNNNNDNDNNNNEDQQIINNNGEEDNNNNENNNNGEEQNENNINNNDINNNNNNNNNNNNEENNNNNDNNNNNNNNINNNNDNLLMLKLLLLOOLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLMALLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLMFKKLLLLLLLLLKLLLLLLLLMLLLLKLLLLLLLLLMLLLLLFALMLLLLLLLLLLLKLLLLLLLLKLLLLKLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLMMMMIFKKKFKFKKKKKKKKKKCCCCCCCCNNNNDDEGNINNNENNNNNENNNNNNNNNNNNNNNLLLLLLLLLLALLLLLLLLLLMKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMMDLLMLLLLLLLLLLLLLLMLLLMAAAAARDFLLLLFLLLLMLLLLMLLFLLLLFLFNDEDNNNLLLLLLLLLLLLLMLLLLLLLLLLLLLMLLLLLLLLLLLLLLLMMMMLLMMMMLLMMLLLLLLLLLLLLLLLLMMMMNNDGGDNDDEDDENDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMLLMLMLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLAMDDDLLLLLLALLLLLLFMLLLLLLLLLLLMLLLLLLLLLLLMMMLLLLLLLLMLLLLLLLLLLLLLLLLLDDDLLLLLLMLLLLLLLLLMLLLLLLLLLMMMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLEDDRNRNLLLLLLALLLLLLFFMLLLLLLLLLLLLLLLLLLLLLLLLFLLLMLLLLLLLLLLLAMLLLLLLLLLLLLLLLLLLLAMDLLMLLLLLLMLLLLLLLLLLRRFRFCDDDDDDLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMAAAAAAAAAAAAAAAAAFFFDLLLLLLLLLLLLLLLLLDLLLLLLLLLLLFLLLLLLDDMLLLLLLLLLLLLLLLLLFLLLLMLLLLLLLLAAADLLLLLLLLLLLLLLLLLNENLLLLFLLLLLFLLLLLLLLLLRIIIIIIRGRRRRRKKKKKLKKKKKLKKKKKAAADLLLLFFFLLLLLLLLLLLLLRFFFFFFDLLLLLLLMMFFFLLLLLLLLLLMLLMMLLLLNRNRRRRDENNNLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLMMMMMFFDRRLLLALLALLLLLLLLALLLLLLLLLLLLLADDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRDDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFRDLLLLLFFLLLLFLLLLFLFRDRRRRLLLLLLLLLLLFLLFLLLLAAADDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRFFFFFFFFFFFFFFFFFFNNDELLLLLLLLLLLLLLLLLLLFLLLLLLLFLLLLLLLLLRDDDDLLLLLLLLLLLLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLALLLLLLLLLLLLLLLLAFFDDDMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLFDLLLLLLFLLLLFLLLFFLLLLDMMMLLALLLLLLLLLMLLMLLLLMMMMLMMDMMMLLLLLLLLMLLLMLLLLLMMLMMLMMRGRRIDLLALLMLLLLLLLLLLLLLLLLLLLLKLLLLLLLMLLLLLLLLLAKLLDLLMLLLLLLLLLLLMLLLLLDDDDDDDDILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFLLLLLLLLFFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLOOLLLLLLLLISKKKKKNNNNENNNNNNNNNNNNNNNNNNENNNENEENNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLFFFDMLLAMLLMLMLMLLMMMMLLLLMDLLFLLMLLLLLLMLLMMLLLLLIKKKKKKNRENDLLLLLLLLLLLLLLLLLLLLLLLLMFFFMLLLLMLLLLLLLLLLLDDDDDDMLLLLLLLLLLLLAMLLLLLLLLLLLLMLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLLLLLLLMMMLLLLLLLLLLLMMLLLLLLLLLLLLLLMMMMMLLLLMLLLLMMMMMMMMMMMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMDDLLLLMLLLLMMMLLLLLLMMMMMLLLLLMLLLLLLMMMMMLLLLMMMMMMMMLLLLLLLLLLLLMMMMAADDDDCMLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLMMRDLLMAMLLMMMMMMMLLLLMLLLMLLMMMMMLMFFLLLLLMLMDLLLLLLLLLLLLLLLLLLLDLLLLMLLMLLLLLLLLMMLLLMLMALLLLLMLMLLLFFFAAAAAAAAAAAAADQQQDQQIDDLLLLLLLLLKLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDMLLLLLLLMLLLLLMLLLLLNDENNDNNDNDDNQENNDNNDDINMMMLLMMMMMMMMLLLLLLLLLLLLLLLLLLLLMFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMLLLLLLLLLLLLLLLLMMMMMMMLLLMMMMKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMNNENGGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNDNEGEGEGNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIDKLLLLLLLLLLLFLLLLLCCCONENDILLLMLLLLLLLLLKLLLLLLLLLMLLLLLLLMLLLLLLMMLLLLKLLLLLMLLLLLLLLLQIQSIKLKKKLKKKKDLLLLLLLLLLLLLLLLLLLLLDGFLLLLLLLLLMMLLLMFLDDLLLLLLLLMMLLLLLLLMLLMMMLLMMLLLMLLLLMMMMMMMMLMMMMMMMMMLLMMLMMLLLLLLLLLLLLMMM","n":["alphas","auto_clone","auto_clone_array","bench","circuits","curve","error","from_quarters","from_shifts","grid","groupmap","lagrange_basis_evaluations","linearization","loc","mina_curves","mina_poseidon","o1_utils","oracles","plonk_sponge","poly_commitment","precomputed_srs","proof","prover","prover_index","snarky","turshi","variable_map","variables","verifier","verifier_index","Alphas","MustConsumeIterator","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","drop","fmt","fmt","fmt","from","from","get_alphas","get_exponents","init","init","instantiate","into","into","into_iter","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","multiunzip","next","register","serialize","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","BenchmarkCtx","batch_verification","borrow","borrow_mut","create_proof","deref","deref_mut","drop","from","init","into","new","num_gates","srs_size","try_from","try_into","type_id","vzip","argument","berkeley_columns","constraints","domain_constant_evaluation","domains","expr","gate","lookup","macros","polynomial","polynomials","scalars","wires","witness","ARGUMENT_TYPE","Argument","ArgumentData","ArgumentEnv","ArgumentType","ArgumentWitness","CONSTRAINTS","DynArgument","Gate","Lookup","Permutation","argument_type","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenges","clone","clone_into","coeff","coeff_chunk","coeffs","combined_constraints","combined_constraints","constant","constants","constraint_checks","constraints","constraints","create","curr","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","drop","endo_coefficient","eq","equivalent","fmt","from","from","from","from","get_hash","hash","index","init","init","init","init","into","into","into","into","mds","next","serialize","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","witness","witness","witness_curr","witness_curr_chunk","witness_next","witness_next_chunk","Coefficient","Column","E","Environment","Index","LookupAggreg","LookupEnvironment","LookupKindIndex","LookupRuntimeSelector","LookupRuntimeTable","LookupSorted","LookupTable","Permutation","Witness","Z","aggreg","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","challenges","clone","clone_into","cmp","coeff","coefficient","column_domain","constant","constants","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","domain","drop","drop","drop","eq","equivalent","fmt","from","from","from","get_challenges","get_column","get_constants","get_domain","get_hash","hash","index","index","init","init","init","into","into","into","is_alpha","l0_1","l0_1","latex","lookup","ocaml","partial_cmp","runtime_selector","runtime_table","selectors","serialize","sorted","table","text","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vanishes_on_zero_knowledge_and_previous_rows","vanishes_on_zero_knowledge_and_previous_rows","vzip","vzip","vzip","witness","witness","witness_curr","witness_next","z","Builder","ColumnEvaluations","ConstraintSystem","Custom","DisconnectedWires","EvaluatedColumnCoefficients","FeatureFlags","GateError","IncorrectPublic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","coefficients","coefficients8","complete_add_selector4","create","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","describe","describe_vector","deserialize","deserialize","deserialize","deserialize","disable_gates_checks","disable_gates_checks","domain","drop","drop","drop","drop","drop","drop","emul_selector8","endo","endomul_scalar_selector8","evaluate","feature_flags","fmt","fmt","fmt","fmt","fmt","foreign_field_add","foreign_field_add_selector8","foreign_field_mul","foreign_field_mul_selector8","from","from","from","from","from","from","from_abi","from_gates","from_gates_and_lookup_features","from_value","gates","generic_selector","generic_selector4","init","init","init","init","init","init","into","into","into","into","into","into","into_abi","into_value","is_none","long_ref_from_abi","lookup","lookup_constraint_system","lookup_features","max_poly_size","mul_selector8","none","ocaml_binding","ocaml_desc","perm_scalars","permutation_coefficients","permutation_coefficients8","poseidon_selector","poseidon_selector8","precomputations","prev_challenges","prev_challenges","public","public","range_check0","range_check0_selector8","range_check1","range_check1_selector8","ref_from_abi","ref_mut_from_abi","return_abi","rot","rot_selector8","runtime","selector_polynomial","serialize","serialize","serialize","serialize","set_precomputations","shared_precomputations","shift","sid","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from_js_value","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unique_id","vector_from_abi","vector_into_abi","vzip","vzip","vzip","vzip","vzip","vzip","xor","xor_selector8","zk_rows","zk_rows_strict_lower_bound","err","row","DomainConstantEvaluations","borrow","borrow_mut","clone","clone_into","constant_1_d4","constant_1_d8","create","deref","deref_mut","deserialize","drop","fmt","from","init","into","permutation_vanishing_polynomial_l","permutation_vanishing_polynomial_m","poly_x_d1","serialize","to_owned","try_from","try_into","type_id","vanishes_on_zero_knowledge_and_previous_rows","vzip","EvaluationDomains","borrow","borrow_mut","clone","clone_into","create","d1","d2","d4","d8","deref","deref_mut","deserialize","drop","fmt","from","init","into","serialize","to_owned","try_from","try_into","type_id","vzip","Add","Add","Alpha","Atom","Beta","Cache","Cache","CacheId","Cell","Cell","Challenge","Challenge","ChallengeTerm","Challenges","Column","Column","ColumnEnvironment","ColumnEvaluations","Constant","Constant","Constant","ConstantExpr","ConstantExprInner","ConstantTerm","Constants","D1","D2","D4","D8","Domain","Double","Dup","EmptyStack","EndoCoefficient","Expr","ExprError","ExprInner","F","FailedLinearization","FeatureFlag","ForeignFieldAdd","ForeignFieldMul","FormattedOutput","Gamma","IfFeature","JointCombiner","Linearization","Literal","Literal","Load","LookupPattern","LookupShouldNotBeUsed","LookupTables","LookupsPerRow","Mds","MissingEvaluation","MissingIndexEvaluation","MissingRuntime","Mul","Mul","Operations","PolishToken","Pow","Pow","RangeCheck0","RangeCheck1","Rot","RowOffset","RuntimeLookupTables","SkipIf","SkipIfNot","Square","Store","Sub","Sub","TableWidth","ToPolish","UnnormalizedLagrangeBasis","UnnormalizedLagrangeBasis","VanishesOnZeroKnowledgeAndPreviousRows","VanishesOnZeroKnowledgeAndPreviousRows","Variable","Xor","add","add_assign","alpha","apply_feature_flags","as_literal","as_literal","as_literal","as_literal","as_literal","auto_clone","auto_clone_array","beta","beta","beta","boolean","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cache","cache","cell","cell","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","coeff","col","column_domain","combine_constraints","combine_constraints","constant","constant","constant","constant_term","constraints","crumb","default","default","degree","degree","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","double","double","double","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","endo_coefficient","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","evaluate","evaluate","evaluate","evaluate","evaluate","evaluate","evaluate_","evaluate_","evaluate_constants","evaluate_constants","evaluate_constants","evaluations","evaluations","evaluations","evaluations","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from_i64","from_u64","from_value","gamma","get_challenges","get_column","get_constants","get_domain","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","index_terms","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into_value","is_alpha","is_alpha","is_alpha","is_alpha","is_alpha","is_one","is_zero","joint_combiner","l0_1","l0_1","latex","latex","latex","latex","latex","latex","latex_str","latex_str","linearize","linearize","literal","literal","literal","literal","literal","literal","literal","literal","map","mds","mul","mul","mul_assign","neg","ocaml","ocaml","ocaml","ocaml","ocaml","ocaml","ocaml_binding","ocaml_desc","ocaml_str","ocaml_str","offset","one","partial_cmp","partial_cmp","pow","pow","pows","prologue","provide","row","serialize","serialize","serialize","serialize","serialize","serialize","serialize","square","square","square","sub","text","text","text","text","text","text","text_str","text_str","to_i64","to_literal","to_literal","to_literal","to_literal","to_literal","to_literal_ref","to_literal_ref","to_literal_ref","to_literal_ref","to_literal_ref","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_polish","to_polish","to_polish","to_polish","to_polish","to_polynomial","to_polynomial","to_string","to_string","to_u64","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","two_pow","two_to_2limb","two_to_3limb","two_to_limb","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unique_id","value","value","vanishes_on_zero_knowledge_and_previous_rows","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","witness","zero","zk_rows","zk_rows","col","row","ExprOps","boolean","boolean","cache","coeff","compact_limb","constant","crumb","crumb","double","literal","pow","square","two_pow","two_to_2limb","two_to_3limb","two_to_limb","witness","E","FeatureFlag","coeff","constant","index","witness","witness_curr","witness_next","CairoClaim","CairoFlags","CairoInstruction","CairoTransition","Circuit","CircuitGate","CircuitGateError","CircuitGateResult","CompleteAdd","Connect","Constraint","CopyConstraint","Curr","CurrOrNext","EndoMul","EndoMulScalar","FailedToGetWitnessForRow","ForeignFieldAdd","ForeignFieldMul","GateType","Generic","InvalidConstraint","InvalidLookupConstraint","KeccakRound","KeccakSponge","Lookup","Next","Poseidon","RangeCheck0","RangeCheck1","Rot64","VarBaseMul","WireColumn","Xor16","Zero","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","caml","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","coeffs","connect_64bit","connect_cell_pair","connect_ffadd_range_checks","create_cairo_claim","create_cairo_flags","create_cairo_gadget","create_cairo_instruction","create_cairo_transition","create_chain_ffadd","create_compact_multi_range_check","create_endomul","create_foreign_field_mul","create_generic","create_generic_gadget","create_multi_range_check","create_poseidon","create_poseidon_gadget","create_range_check","create_rot","create_rot64","create_single_ffadd","create_vbmul","create_xor_gadget","default","default","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","describe","describe","describe_vector","describe_vector","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","endomul","eq","eq","eq","equivalent","equivalent","equivalent","extend_and","extend_chain_ffadd","extend_compact_multi_range_check","extend_foreign_field_mul","extend_generic","extend_high_bounds","extend_keccak","extend_multi_range_check","extend_not_gadget_checked_length","extend_not_gadget_unchecked_length","extend_range_check","extend_rot","extend_single_ffadd","extend_xor_gadget","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from_abi","from_abi","from_i64","from_u64","from_value","from_value","gates","generate_asm","get_hash","get_hash","hash","hash","init","init","init","init","init","into","into","into","into","into","into_abi","into_abi","into_value","into_value","is_none","is_none","lookup_kinds","new","new","none","none","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","partial_cmp","partial_cmp","provide","ps","public_input_size","rc","return_abi","return_abi","serialize","serialize","serialize","serialize","shift","to_i64","to_owned","to_owned","to_owned","to_owned","to_string","to_u64","try_from","try_from","try_from","try_from","try_from","try_from_js_value","try_from_js_value","try_into","try_into","try_into","try_into","try_into","typ","type_id","type_id","type_id","type_id","type_id","unique_id","unique_id","vbmul","vector_from_abi","vector_from_abi","vector_into_abi","vector_into_abi","verify","verify_cairo_gate","verify_complete_add","verify_endomul","verify_endomul_scalar","verify_generic","verify_poseidon","verify_vbmul","verify_witness","vzip","vzip","vzip","vzip","vzip","wires","write","zero","dst","src","typ","CamlCircuitGate","borrow","borrow_mut","coeffs","deref","deref_mut","drop","from","from","from","from_value","init","into","into_value","ocaml_binding","ocaml_desc","try_from","try_into","typ","type_id","unique_id","vzip","wires","constraints","index","lookups","runtime_tables","tables","CONSTRAINTS","LookupConfiguration","aggregation","borrow","borrow_mut","clone","clone_into","constraints","deref","deref_mut","deserialize","drop","dummy_lookup","fmt","from","init","into","lookup_info","new","serialize","sorted","to_owned","try_from","try_into","type_id","verify","vzip","zk_patch","InconsistentTableLength","LookupConstraintSystem","LookupError","LookupSelectors","LookupTableIdCollision","LookupTableTooLong","TableIDZeroMustHaveZeroEntry","as_ref","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","configuration","create","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","ffmul","fmt","fmt","fmt","fmt","from","from","from","index","index_mut","init","init","init","into","into","into","lookup","lookup_selectors","lookup_table","lookup_table8","map","provide","range_check","runtime_selector","runtime_table_offset","runtime_tables","serialize","serialize","table_ids","table_ids8","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","xor","collision_type","length","maximum_allowed","Constant","ForeignFieldMul","JointLookup","JointLookupSpec","JointLookupValue","LocalPosition","Lookup","LookupFeatures","LookupInfo","LookupPattern","LookupPatternIter","LookupPatterns","LookupTableID","RangeCheck","SingleLookup","WitnessColumn","Xor","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","by_row","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","column","create","create_from_gates","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","describe","describe","describe","describe_vector","describe_vector","describe_vector","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize_as","drop","drop","drop","drop","drop","drop","drop","drop","drop","entry","eq","eq","eq","equivalent","equivalent","equivalent","evaluate","evaluate","evaluate","evaluate","features","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","foreign_field_mul","from","from","from","from","from","from","from","from","from","from_abi","from_abi","from_abi","from_gate","from_gates","from_gates","from_value","from_value","from_value","get_hash","hash","index","index_mut","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into_abi","into_abi","into_abi","into_iter","into_iter","into_value","into_value","into_value","is_none","is_none","is_none","iter","joint_lookup_used","joint_lookups_used","len","long_ref_from_abi","long_ref_from_abi","long_ref_from_abi","lookup","lookups","max_joint_size","max_joint_size","max_lookups_per_row","max_per_row","new","new","new","next","next_back","none","none","none","nth","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","ocaml_desc","par_bridge","partial_cmp","patterns","range_check","reduce","ref_from_abi","ref_from_abi","ref_from_abi","ref_mut_from_abi","ref_mut_from_abi","ref_mut_from_abi","return_abi","return_abi","return_abi","row","selector_polynomials_and_tables","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize_as","size_hint","table","table_id","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from_js_value","try_from_js_value","try_from_js_value","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unique_id","unique_id","unique_id","uses_runtime_tables","value","vector_from_abi","vector_from_abi","vector_from_abi","vector_into_abi","vector_into_abi","vector_into_abi","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wasm","xor","RuntimeTable","RuntimeTableCfg","RuntimeTableSpec","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","caml","clone","clone","clone","clone_into","clone_into","clone_into","constraints","data","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","first_column","fmt","fmt","fmt","from","from","from","from","from","from","from","id","id","id","id","init","init","init","into","into","into","is_empty","len","len","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CamlRuntimeTable","CamlRuntimeTableCfg","CamlRuntimeTableSpec","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","data","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","first_column","from","from","from","from","from","from","from_value","from_value","from_value","id","id","id","init","init","init","into","into","into","into_value","into_value","into_value","len","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","ocaml_desc","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unique_id","unique_id","unique_id","vzip","vzip","vzip","GateLookupTable","GateLookupTables","LookupTable","RANGE_CHECK_TABLE_ID","RangeCheck","XOR_TABLE_ID","Xor","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","caml","clone","clone","clone","clone_into","clone_into","clone_into","combine_table","combine_table_entry","data","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","deserialize","drop","drop","drop","eq","eq","equivalent","equivalent","fmt","fmt","fmt","from","from","from","from","get_hash","get_hash","get_table","has_zero_entry","hash","hash","id","index","index_mut","init","init","init","into","into","into","into_iter","is_empty","len","range_check","range_check","serialize","serialize","table_size","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","width","xor","xor","CamlLookupTable","borrow","borrow_mut","data","deref","deref_mut","drop","from","from","from_value","id","init","into","into_value","ocaml_binding","ocaml_desc","try_from","try_into","type_id","unique_id","vzip","RANGE_CHECK_UPPERBOUND","TABLE_SIZE","range_check_table","TABLE_SIZE","xor_table","COLUMNS","LookupEvals","LookupPolys","LookupShifts","WitnessEvals","WitnessOverDomains","WitnessShifts","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","d4","d8","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","from","from","from","from","from","from","h1","h1","h2","h2","init","init","init","init","init","init","into","into","into","into","into","into","l","l","lw","lw","next","next","this","this","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","w","z","and","complete_add","endomul_scalar","endosclmul","foreign_field_add","foreign_field_common","foreign_field_mul","generic","keccak","not","permutation","poseidon","range_check","rot","turshi","varbasemul","xor","create_and_witness","extend_and_witness","lookup_table","CompleteAdd","argument_type","borrow","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref_mut","drop","from","init","into","try_from","try_into","type_id","vzip","EndomulScalar","argument_type","borrow","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref_mut","drop","from","gen_witness","init","into","try_from","try_into","type_id","vzip","EndoMulResult","EndosclMul","acc","argument_type","borrow","borrow","borrow_mut","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref","deref_mut","deref_mut","drop","drop","from","from","gen_witness","init","init","into","into","n","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","circuitgates","gadget","witness","ForeignFieldAdd","argument_type","borrow","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref_mut","drop","from","init","into","try_from","try_into","type_id","vzip","Add","FFOps","Sub","borrow","borrow_mut","clone","clone_into","create_chain","deref","deref_mut","drop","eq","equivalent","extend_witness_bound_addition","fmt","from","init","into","sign","to_owned","try_from","try_into","type_id","vzip","BINARY_MODULUS_EXP","BigUintArrayCompose","BigUintArrayFieldHelpers","BigUintForeignFieldHelpers","FieldArrayBigUintHelpers","FieldArrayCompact","FieldArrayCompose","HI","KimchiForeignElement","LIMB_BITS","LIMB_COUNT","LO","MI","TWO_TO_LIMB","binary_modulus","compose","compose","max_foreign_field_modulus","negate","to_biguints","to_compact_field_limbs","to_compact_limbs","to_compact_limbs","to_field_limbs","to_field_limbs","to_fields","to_limbs","to_limbs","two","two_to_2limb","two_to_limb","circuitgates","gadget","witness","ForeignFieldMul","argument_type","borrow","borrow_mut","combined_constraints","compose_carry","compute_intermediate_products","compute_native_modulus_values","constraint_checks","constraints","default","deref","deref_mut","drop","from","init","into","try_from","try_into","type_id","vzip","GATE_COUNT","circuit_gate_constraint_count","circuit_gate_constraints","circuit_gate_selector_index","circuit_gates","combined_constraints","lookup_table","ExternalChecks","add_bound_check","add_compact_multi_range_check","add_high_bound_computation","add_limb_check","add_multi_range_check","borrow","borrow_mut","bounds","compact_multi_ranges","compute_bound","compute_high_bound","create","default","deref","deref_mut","drop","extend_witness_bound_addition","extend_witness_compact_multi_range_checks","extend_witness_high_bounds_computation","extend_witness_limb_checks","extend_witness_multi_range_checks","from","high_bounds","init","into","limb_ranges","multi_ranges","try_from","try_into","type_id","vzip","Add","CONSTRAINTS","Const","DOUBLE_GENERIC_COEFFS","DOUBLE_GENERIC_REGISTERS","GENERIC_COEFFS","GENERIC_REGISTERS","Generic","GenericGateSpec","Mul","Plus","Pub","argument_type","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","combined_constraints","constraint_checks","constraints","default","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","testing","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","left_coeff","mul_coeff","output_coeff","output_coeff","right_coeff","create_circuit","fill_in_witness","Keccak","OFF","RC","borrow","borrow_mut","bytestring","circuitgates","collapse","compose","constants","decompose","deref","deref_mut","drop","expand","expand_state","expand_word","from","gadget","init","into","num_blocks","pad","padded_length","quarters","reset","shift","sparse","try_from","try_into","type_id","vzip","witness","KeccakRound","KeccakSponge","argument_type","argument_type","borrow","borrow","borrow_mut","borrow_mut","combined_constraints","combined_constraints","constraint_checks","constraint_checks","constraints","constraints","default","default","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CAPACITY_IN_BYTES","CHI_SHIFTS_B_LEN","CHI_SHIFTS_B_OFF","CHI_SHIFTS_SUM_LEN","CHI_SHIFTS_SUM_OFF","DIM","IOTA_STATE_G_LEN","IOTA_STATE_G_OFF","KECCAK_COLS","PIRHO_DENSE_E_LEN","PIRHO_DENSE_E_OFF","PIRHO_DENSE_ROT_E_LEN","PIRHO_DENSE_ROT_E_OFF","PIRHO_EXPAND_ROT_E_LEN","PIRHO_EXPAND_ROT_E_OFF","PIRHO_QUOTIENT_E_LEN","PIRHO_QUOTIENT_E_OFF","PIRHO_REMAINDER_E_LEN","PIRHO_REMAINDER_E_OFF","PIRHO_SHIFTS_E_LEN","PIRHO_SHIFTS_E_OFF","QUARTERS","RATE_IN_BYTES","ROUNDS","SHIFTS","SHIFTS_LEN","SPONGE_BYTES_LEN","SPONGE_BYTES_OFF","SPONGE_COLS","SPONGE_NEW_BLOCK_LEN","SPONGE_NEW_BLOCK_OFF","SPONGE_NEW_STATE_LEN","SPONGE_NEW_STATE_OFF","SPONGE_OLD_STATE_LEN","SPONGE_OLD_STATE_OFF","SPONGE_SHIFTS_LEN","SPONGE_SHIFTS_OFF","SPONGE_XOR_STATE_LEN","SPONGE_XOR_STATE_OFF","SPONGE_ZEROS_LEN","SPONGE_ZEROS_OFF","STATE_LEN","THETA_DENSE_C_LEN","THETA_DENSE_C_OFF","THETA_DENSE_ROT_C_LEN","THETA_DENSE_ROT_C_OFF","THETA_EXPAND_ROT_C_LEN","THETA_EXPAND_ROT_C_OFF","THETA_QUOTIENT_C_LEN","THETA_QUOTIENT_C_OFF","THETA_REMAINDER_C_LEN","THETA_REMAINDER_C_OFF","THETA_SHIFTS_C_LEN","THETA_SHIFTS_C_OFF","THETA_STATE_A_LEN","THETA_STATE_A_OFF","Chi","Iota","PiRho","Rotation","Theta","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create","create","create","create","dense_c","dense_e","dense_rot_c","dense_rot_e","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","expand_rot_c","expand_rot_e","extend_keccak_witness","from","from","from","from","from","init","init","init","init","init","into","into","into","into","into","quotient_c","quotient_e","remainder_c","remainder_e","round_constants","shifts_b","shifts_c","shifts_e","shifts_sum","state_b","state_e","state_f","state_g","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","extend_not_witness_checked_length","extend_not_witness_unchecked_length","CONSTRAINTS","Shifts","borrow","borrow_mut","deref","deref_mut","drop","eval_permutation_vanishing_polynomial","eval_vanishes_on_last_n_rows","from","init","into","new","permutation_vanishing_polynomial","shifts","try_from","try_into","type_id","vanishes_on_last_n_rows","vzip","zk_w","POS_ROWS_PER_HASH","Poseidon","ROUNDS_PER_HASH","ROUNDS_PER_ROW","SPONGE_WIDTH","STATE_ORDER","argument_type","borrow","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref_mut","drop","from","generate_witness","init","into","round_to_cols","try_from","try_into","type_id","vzip","circuitgates","gadget","witness","RangeCheck0","RangeCheck1","argument_type","argument_type","borrow","borrow","borrow_mut","borrow_mut","combined_constraints","combined_constraints","constraint_checks","constraint_checks","constraints","constraints","default","default","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","GATE_COUNT","circuit_gate_constraint_count","circuit_gate_constraints","circuit_gates","combined_constraints","lookup_table","create","create_multi","create_multi_compact","create_multi_compact_limbs","create_multi_limbs","extend","extend_multi","extend_multi_compact","extend_multi_compact_limbs","extend_multi_from_fe","extend_multi_limbs","extend_single","range_check_0_row","Left","Right","Rot64","RotMode","argument_type","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","combined_constraints","constraint_checks","constraints","default","deref","deref","deref_mut","deref_mut","drop","drop","eq","equivalent","extend_rot","fmt","from","from","init","init","into","into","lookup_table","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","CIRCUIT_GATE_COUNT","Claim","Flags","Instruction","Transition","argument_type","argument_type","argument_type","argument_type","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit_gate_combined_constraints","combined_constraints","combined_constraints","combined_constraints","combined_constraints","constraint_checks","constraint_checks","constraint_checks","constraint_checks","constraints","constraints","constraints","constraints","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","from","from","from","from","init","init","init","init","into","into","into","into","testing","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","witness","ensure_cairo_gate","cairo_witness","Layout","VarbaseMul","VarbaseMulResult","acc","argument_type","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","combined_constraints","constraint_checks","constraints","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","init","init","init","into","into","into","n","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","witness","Xor16","argument_type","borrow","borrow_mut","combined_constraints","constraint_checks","constraints","create_xor_witness","default","deref","deref_mut","drop","extend_xor_witness","from","init","into","lookup_table","num_xors","try_from","try_into","type_id","vzip","RandomOracles","alpha","alpha_chal","beta","borrow","borrow_mut","caml","clone","clone_into","default","deref","deref_mut","drop","fmt","from","from","gamma","init","into","joint_combiner","to_owned","try_from","try_into","type_id","u","u_chal","v","v_chal","vzip","zeta","zeta_chal","CamlRandomOracles","alpha","alpha_chal","beta","borrow","borrow_mut","deref","deref_mut","drop","from","from","from_value","gamma","init","into","into_value","joint_combiner","ocaml_binding","ocaml_desc","try_from","try_into","type_id","u","u_chal","unique_id","v","v_chal","vzip","zeta","zeta_chal","COLUMNS","GateWires","PERMUTS","WIRES","Wirable","Wire","borrow","borrow_mut","caml","clone","clone_into","col","create","default","deref","deref_mut","describe","describe_vector","deserialize","drop","eq","equivalent","fmt","for_row","from","from","from_abi","init","into","into_abi","is_none","long_ref_from_abi","new","new","new","none","read","ref_from_abi","ref_mut_from_abi","return_abi","row","serialize","to_owned","try_from","try_from_js_value","try_into","type_id","vector_from_abi","vector_into_abi","vzip","wasm","wire","wire","write","CamlWire","borrow","borrow_mut","col","deref","deref_mut","drop","from","from","from_value","init","into","into_value","ocaml_binding","ocaml_desc","row","try_from","try_into","type_id","unique_id","vzip","ConstantCell","CopyBitsCell","CopyCell","CopyShiftCell","IndexCell","VariableBitsCell","VariableCell","Variables","WitnessCell","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","create","create","create","create","create","create","create","create","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","drop","from","from","from","from","from","from","from","from","index","index_mut","init","init","init","init","init","init","init","init","init","init_cell","init_row","insert","into","into","into","into","into","into","into","into","length","length","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","value","value","value","value","value","value","value","value","variable_map","variables","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","KimchiCurve","NAME","endos","other_curve_endo","other_curve_prime_subgroup_generator","other_curve_sponge_params","sponge_params","ConstraintSystem","DifferentSRS","DomainConstructionFailed","DomainCreation","DomainCreationError","DomainSizeFailed","IncorrectCommitmentLength","IncorrectEvaluationsLength","IncorrectPrevChallengesLength","IncorrectPubicInputLength","IncorrectRuntimeProof","LookupCommitmentMissing","LookupCreation","LookupEvalsMissing","MissingCommitment","MissingEvaluation","MissingPublicInputEvaluation","NoRoomForZkInWitness","NotZeroKnowledge","OpenProof","Permutation","ProofInconsistentLookup","Prover","ProverError","RuntimeTablesInconsistent","SRSHasBeenSet","SRSTooSmall","SetupError","ValueNotInTable","VerifierIndexError","VerifyError","WitnessCsInconsistent","WrongBlinders","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","init","init","init","init","init","into","into","into","into","into","provide","provide","provide","provide","provide","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","LagrangeBasisEvaluations","borrow","borrow_mut","deref","deref_mut","drop","evaluate","evaluate_boolean","from","init","into","new","try_from","try_into","type_id","vzip","constraints_expr","expr_linearization","linearization_columns","OraclesResult","all_alphas","borrow","borrow_mut","caml","combined_inner_product","deref","deref_mut","digest","drop","fq_sponge","from","ft_eval0","init","into","oracles","polys","powers_of_eval_points_for_chunks","public_evals","try_from","try_into","type_id","vzip","zeta1","CamlOracles","borrow","borrow_mut","create_caml_oracles","deref","deref_mut","digest_before_evaluations","drop","from","from_value","init","into","into_value","o","ocaml_binding","ocaml_desc","opening_prechallenges","public_evals","try_from","try_into","type_id","unique_id","vzip","FrSponge","absorb","absorb_evaluations","absorb_multiple","challenge","digest","new","Prod","SERIALIZED_SRS_SIZE","StoredSRSType","Test","TestSRS","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","default","deref","deref","deref_mut","deref_mut","deserialize","drop","drop","eq","eq","equivalent","equivalent","fmt","from","from","from","g","get_srs","get_srs_generic","get_srs_test","h","init","init","into","into","lagrange_bases","serialize","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","LookupCommitments","PointEvaluations","ProofEvaluations","ProverCommitments","ProverProof","RecursionChallenge","aggreg","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","caml","chals","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","coefficients","combine","comm","commitments","complete_add_selector","create","create_recursive","default","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","dummy_with_witness_evaluations","emul_selector","endomul_scalar_selector","evals","evals","evaluate","fmt","fmt","fmt","fmt","fmt","fmt","foreign_field_add_selector","foreign_field_mul_lookup_selector","foreign_field_mul_selector","from","from","from","from","from","from","from","from","from","from","from_value","ft_eval1","generic_selector","get_column","init","init","init","init","init","init","into","into","into","into","into","into","into_value","lookup","lookup_aggregation","lookup_gate_lookup_selector","lookup_sorted","lookup_table","map","map","map_ref","map_ref","mul_selector","new","ocaml_binding","ocaml_desc","oracles","poseidon_selector","prev_challenges","proof","public","range_check0_selector","range_check1_selector","range_check_lookup_selector","rot_selector","runtime","runtime_lookup_table","runtime_lookup_table_selector","s","serialize","serialize","serialize","serialize","serialize","serialize","sorted","t_comm","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","unique_id","vzip","vzip","vzip","vzip","vzip","vzip","w","w_comm","xor_lookup_selector","xor_selector","z","z_comm","zeta","zeta_omega","CamlProofEvaluations","CamlRecursionChallenge","borrow","borrow","borrow_mut","borrow_mut","chals","clone","clone","clone_into","clone_into","coefficients","comm","complete_add_selector","deref","deref","deref_mut","deref_mut","drop","drop","emul_selector","endomul_scalar_selector","foreign_field_add_selector","foreign_field_mul_lookup_selector","foreign_field_mul_selector","from","from","from","from_value","from_value","generic_selector","init","init","into","into","into_value","into_value","lookup_aggregation","lookup_gate_lookup_selector","lookup_sorted","lookup_table","mul_selector","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","poseidon_selector","range_check0_selector","range_check1_selector","range_check_lookup_selector","rot_selector","runtime_lookup_table","runtime_lookup_table_selector","s","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_id","unique_id","vzip","vzip","w","xor_lookup_selector","xor_selector","z","caml","internal_traces","CamlLookupCommitments","CamlProofWithPublic","CamlProverCommitments","CamlProverProof","CamlProverTraces","aggreg","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commitments","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","evals","from","from","from","from","from","from","from","from_value","from_value","from_value","from_value","ft_eval1","init","init","init","init","into","into","into","into","into_value","into_value","into_value","into_value","lookup","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","prev_challenges","proof","proof","public","public_evals","runtime","sorted","t_comm","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unique_id","unique_id","unique_id","unique_id","vzip","vzip","vzip","vzip","w_comm","z_comm","TRACES","Traces","borrow","borrow_mut","build_polynomials","caml","chunk_eval_zeta_omega_poly","clone","clone_into","commit_to_witness_columns","compute_ft_poly","compute_index_evals","compute_quotient_poly","create_aggregated_evaluation_proof","create_recursive","create_recursive_done","default","deref","deref_mut","drop","eval_witness_polynomials_over_domains","fmt","fmt","from","ft_eval_zeta_omega","init","into","lagrange_basis_eval_zeta_omega_poly","lagrange_basis_eval_zeta_poly","pad_witness","pasta_fp_plonk_proof_create","pasta_fq_plonk_proof_create","serialize","set_up_fq_sponge","start_tracing","take_traces","to_owned","to_string","try_from","try_into","type_id","use_lookup","vzip","z_permutation_aggregation_polynomial","CamlTraces","borrow","borrow_mut","deref","deref_mut","drop","fmt","from","from","from_value","init","into","into_value","ocaml_binding","ocaml_desc","try_from","try_into","type_id","unique_id","vzip","ProverIndex","borrow","borrow_mut","clone","clone_into","column_evaluations","compute_verifier_index_digest","create","cs","deref","deref_mut","deserialize","drop","fmt","from","init","into","linearization","max_poly_size","perm_aggreg","perm_lnrz","perm_quot","powers_of_alpha","serialize","srs","testing","to_owned","try_from","try_into","type_id","verifier_index","verifier_index","verifier_index_digest","verifier_index_digest","verify","verify_generic","vzip","new_index_for_test","new_index_for_test_with_lookups","new_index_for_test_with_lookups_and_custom_srs","api","asm","boolean","constants","constraint_system","cvar","errors","folding","poseidon","prelude","runner","snarky_type","union_find","CompiledCircuit","Curve","PrivateInput","Proof","ProverIndexWrapper","PublicInput","PublicOutput","SnarkyCircuit","VerifierIndexWrapper","Witness","asm","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","circuit","compile_to_indexes","debug","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","from","from","from","from","gates","init","init","init","init","into","into","into","into","prove","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","verify","vzip","vzip","vzip","vzip","OrderedHashSet","borrow","borrow_mut","default","deref","deref_mut","drop","from","init","insert","into","is_empty","iter","len","pos","try_from","try_into","type_id","vzip","Boolean","all","and","any","borrow","borrow_mut","check","clone","clone_into","constraint_system_auxiliary","create_unsafe","deref","deref_mut","drop","false_","fmt","from","from_cvars_unsafe","init","into","not","or","to_constant","to_cvars","to_field_var","to_owned","true_","try_from","try_into","type_id","value_of_field_elements","value_to_field_elements","vzip","xor","Constants","base","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","endo","fmt","from","init","into","new","poseidon","to_owned","try_from","try_into","type_id","vzip","Basic","BasicInput","BasicSnarkyConstraint","Boolean","EcAddComplete","EcAddCompleteInput","EcEndoscalar","EcEndoscale","EcEndoscaleInput","EcScale","EndoscaleRound","EndoscaleScalarRound","Equal","Field","KimchiConstraint","Poseidon","Poseidon2","PoseidonInput","R1CS","RangeCheck","ScaleRound","SnarkyConstraintSystem","SnarkyCvar","Square","a0","a8","accs","add_basic_snarky_constraint","add_constraint","b0","b1","b2","b3","b4","b8","base","bits","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","c","canonicalize","check_constraint","check_constraint","clone","clone_into","compute_witness","compute_witness_for_ocaml","create","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","digest","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","finalize","finalize_and_get_gates","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_value","from_value","from_value","from_value","from_value","from_value","from_value","from_value","get_prev_challenges","get_primary_input_size","get_rows_len","inf","inf_z","init","init","init","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into","into","into","into_value","into_value","into_value","into_value","into_value","into_value","into_value","into_value","l","last","m","n0","n8","n_acc","n_acc","n_next","n_prev","o","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","ocaml_desc","p1","p2","p3","r","s1","s3","same_x","set_prev_challenges","set_primary_input_size","set_public_input_size","slope","ss","state","states","to_constant_and_terms","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","unique_id","unique_id","unique_id","unique_id","unique_id","unique_id","unique_id","unique_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","x0","x1","x2","x21_inv","x3","x4","x5","x6","x7","xp","xr","xs","xt","yp","yr","ys","yt","Add","Constant","FieldVar","Scale","ScaledCVar","Term","Var","add","add","add","add","assert_equals","borrow","borrow_mut","check","clone","clone_into","constant","constraint_system_auxiliary","deref","deref_mut","drop","equal","eval","fmt","from","from_cvars_unsafe","init","into","linear_combination","mul","neg","neg","scale","seal","sub","sub","sub","sub","sum","to_constant_and_terms","to_constant_and_terms","to_cvars","to_owned","try_from","try_into","type_id","value_of_field_elements","value_to_field_elements","vzip","zero","CircuitReturnVar","CompilationError","ConstantAssertEquals","PubInputMismatch","RealSnarkyError","RuntimeError","SnarkyCompilationError","SnarkyCompileResult","SnarkyError","SnarkyResult","SnarkyRuntimeError","SnarkyRuntimeResult","UnsatisfiedBooleanConstraint","UnsatisfiedEqualConstraint","UnsatisfiedGenericConstraint","UnsatisfiedR1CSConstraint","UnsatisfiedSquareConstraint","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","label_stack","loc","new","new_with_ctx","provide","provide","provide","provide","source","source","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","ForeignElement","FullChallenge","Private","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","check","clone","clone","clone_into","clone_into","constraint_system_auxiliary","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","fmt","fmt","from","from","from","from_cvars_unsafe","init","init","init","into","into","into","to_cvars","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","value_of_field_elements","value_to_field_elements","vzip","vzip","vzip","CircuitAbsorb","DuplexState","absorb","absorb","borrow","borrow_mut","default","deref","deref_mut","drop","from","init","into","new","poseidon","squeeze","try_from","try_into","type_id","vzip","FieldVar","RunState","SnarkyResult","loc","BasicSnarkyConstraint","Constraint","KimchiConstraint","RunState","WitnessGeneration","add_constraint","add_label","alloc_var","as_prover","assert_eq","assert_r1cs","borrow","borrow","borrow_mut","borrow_mut","check_constraint","compilation_error","compute","constraints_counter","constraints_counter","constraints_counter","deref","deref","deref_mut","deref_mut","drop","drop","error","eval_constraints","fmt","fmt","from","from","generate_witness","generate_witness_init","get_private_inputs","has_witness","if_","init","init","into","into","new","next_var","num_public_inputs","pop_label","poseidon","public_input","range_check","read_var","read_var","read_var","read_var_idx","runtime_error","store_field_elt","system","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","with_label","Auxiliary","CircuitAndValue","OutOfCircuit","SIZE_IN_FIELD_ELEMENTS","SnarkyType","check","compute","constraint_system_auxiliary","from_cvars_unsafe","from_value","read","to_cvars","to_value","value_of_field_elements","value_to_field_elements","DisjointSet","borrow","borrow_mut","clone","clone_into","default","deref","deref_mut","drop","find","fmt","from","init","into","make_set","new","to_owned","try_from","try_into","type_id","union","vzip","Context","Result","batch_verify","borrow","borrow_mut","deref","deref_mut","drop","from","get_column","init","into","proof","public_input","try_from","try_into","type_id","verifier_index","verify","vzip","LookupVerifierIndex","VerifierIndex","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","coefficients_comm","complete_add_comm","deref","deref","deref_mut","deref_mut","deserialize","deserialize","digest","domain","drop","drop","emul_comm","endo","endomul_scalar_comm","fmt","fmt","foreign_field_add_comm","foreign_field_mul_comm","from","from","from_file","generic_comm","init","init","into","into","joint_lookup_used","linearization","lookup_index","lookup_info","lookup_selectors","lookup_table","max_poly_size","mul_comm","permutation_vanishing_polynomial_m","permutation_vanishing_polynomial_m","powers_of_alpha","prev_challenges","psm_comm","public","range_check0_comm","range_check1_comm","rot_comm","runtime_tables_selector","serialize","serialize","shift","sigma_comm","srs","srs","table_ids","to_file","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","w","w","xor_comm","zk_rows"],"q":[[0,"kimchi"],[30,"kimchi::alphas"],[86,"kimchi::bench"],[104,"kimchi::circuits"],[118,"kimchi::circuits::argument"],[212,"kimchi::circuits::berkeley_columns"],[308,"kimchi::circuits::constraints"],[485,"kimchi::circuits::constraints::GateError"],[487,"kimchi::circuits::domain_constant_evaluation"],[513,"kimchi::circuits::domains"],[537,"kimchi::circuits::expr"],[1083,"kimchi::circuits::expr::ConstantTerm"],[1085,"kimchi::circuits::expr::constraints"],[1103,"kimchi::circuits::expr::prologue"],[1111,"kimchi::circuits::gate"],[1347,"kimchi::circuits::gate::CircuitGateError"],[1350,"kimchi::circuits::gate::caml"],[1373,"kimchi::circuits::lookup"],[1378,"kimchi::circuits::lookup::constraints"],[1406,"kimchi::circuits::lookup::index"],[1487,"kimchi::circuits::lookup::index::LookupError"],[1490,"kimchi::circuits::lookup::lookups"],[1781,"kimchi::circuits::lookup::runtime_tables"],[1851,"kimchi::circuits::lookup::runtime_tables::caml"],[1914,"kimchi::circuits::lookup::tables"],[2000,"kimchi::circuits::lookup::tables::caml"],[2021,"kimchi::circuits::lookup::tables::range_check"],[2024,"kimchi::circuits::lookup::tables::xor"],[2026,"kimchi::circuits::polynomial"],[2139,"kimchi::circuits::polynomials"],[2156,"kimchi::circuits::polynomials::and"],[2159,"kimchi::circuits::polynomials::complete_add"],[2177,"kimchi::circuits::polynomials::endomul_scalar"],[2196,"kimchi::circuits::polynomials::endosclmul"],[2230,"kimchi::circuits::polynomials::foreign_field_add"],[2233,"kimchi::circuits::polynomials::foreign_field_add::circuitgates"],[2251,"kimchi::circuits::polynomials::foreign_field_add::witness"],[2275,"kimchi::circuits::polynomials::foreign_field_common"],[2306,"kimchi::circuits::polynomials::foreign_field_mul"],[2309,"kimchi::circuits::polynomials::foreign_field_mul::circuitgates"],[2330,"kimchi::circuits::polynomials::foreign_field_mul::gadget"],[2337,"kimchi::circuits::polynomials::foreign_field_mul::witness"],[2369,"kimchi::circuits::polynomials::generic"],[2414,"kimchi::circuits::polynomials::generic::GenericGateSpec"],[2419,"kimchi::circuits::polynomials::generic::testing"],[2421,"kimchi::circuits::polynomials::keccak"],[2454,"kimchi::circuits::polynomials::keccak::circuitgates"],[2490,"kimchi::circuits::polynomials::keccak::constants"],[2546,"kimchi::circuits::polynomials::keccak::witness"],[2635,"kimchi::circuits::polynomials::not"],[2637,"kimchi::circuits::polynomials::permutation"],[2658,"kimchi::circuits::polynomials::poseidon"],[2683,"kimchi::circuits::polynomials::range_check"],[2686,"kimchi::circuits::polynomials::range_check::circuitgates"],[2722,"kimchi::circuits::polynomials::range_check::gadget"],[2728,"kimchi::circuits::polynomials::range_check::witness"],[2741,"kimchi::circuits::polynomials::rot"],[2782,"kimchi::circuits::polynomials::turshi"],[2854,"kimchi::circuits::polynomials::turshi::testing"],[2855,"kimchi::circuits::polynomials::turshi::witness"],[2856,"kimchi::circuits::polynomials::varbasemul"],[2903,"kimchi::circuits::polynomials::xor"],[2925,"kimchi::circuits::scalars"],[2956,"kimchi::circuits::scalars::caml"],[2986,"kimchi::circuits::wires"],[3040,"kimchi::circuits::wires::caml"],[3061,"kimchi::circuits::witness"],[3192,"kimchi::curve"],[3199,"kimchi::error"],[3327,"kimchi::lagrange_basis_evaluations"],[3343,"kimchi::linearization"],[3346,"kimchi::oracles"],[3370,"kimchi::oracles::caml"],[3393,"kimchi::plonk_sponge"],[3400,"kimchi::precomputed_srs"],[3450,"kimchi::proof"],[3630,"kimchi::proof::caml"],[3700,"kimchi::prover"],[3702,"kimchi::prover::caml"],[3799,"kimchi::prover::internal_traces"],[3843,"kimchi::prover::internal_traces::caml"],[3863,"kimchi::prover_index"],[3900,"kimchi::prover_index::testing"],[3903,"kimchi::snarky"],[3916,"kimchi::snarky::api"],[3982,"kimchi::snarky::asm"],[4001,"kimchi::snarky::boolean"],[4035,"kimchi::snarky::constants"],[4056,"kimchi::snarky::constraint_system"],[4323,"kimchi::snarky::cvar"],[4374,"kimchi::snarky::errors"],[4470,"kimchi::snarky::folding"],[4523,"kimchi::snarky::poseidon"],[4543,"kimchi::snarky::prelude"],[4547,"kimchi::snarky::runner"],[4612,"kimchi::snarky::snarky_type"],[4627,"kimchi::snarky::union_find"],[4649,"kimchi::verifier"],[4669,"kimchi::verifier_index"]],"d":["This module implements an abstraction to keep track of the …","Auto clone macro - Helps make constraints more readable by …","","","","This module contains a useful trait for recursion: …","This module implements the ProverError type.","","","","","","This module implements the linearization.","Handy macro to return the filename and line number of a …","","","","This type and logic only exists for the OCaml side. As we …","","","To prover and verify proofs you need a Structured …","This module implements the data structures of a proof.","This module implements prover’s zk-proof primitive.","This module implements the prover index as ProverIndex.","Snarky is the front end to kimchi, allowing users to write …","","Macro to simplify creation of layout map","Macro to simplify mapping of layout variable","This module implements zk-proof batch verifier …","This module implements the verifier index as VerifierIndex.","This type can be used to create a mapping between powers …","Wrapper around an iterator that warns you if not consumed …","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","This function allows us to retrieve the powers of alpha, …","Returns a range of exponents, for a given ArgumentType, …","","","Instantiates the ranges with an actual field element alpha.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Registers a new ArgumentType, associating it with a number …","","","","","","","","","","","","","","","","Produces a proof","","","","Returns the argument unchanged.","","Calls U::from(self).","This will create a context that allows for benchmarks of …","","","","","","","An argument is simply a number of constraints, which we …","","This module implements Plonk circuit constraint primitive.","This contains the DomainConstantEvaluations which is used …","","","This module implements Plonk constraint gate primitive.","This module implement the lookup argument. See …","","This module implements Plonk prover polynomials primitive.","","This module implements Plonk prover polynomial evaluations …","This module implements Plonk circuit gate wires primitive.","","The type of constraints that this will produce. This is …","The interface for a minimal argument implementation.","Argument environment data for constraints of field elements","The argument environment is used to specify how the …","A constraint type represents a polynomial that will be …","Witness data for a argument","The number of constraints created by the argument.","","Gates in the PLONK constraint system. As gates are …","The lookup argument","The permutation argument","","","","","","","","","","","","","Coefficient value at index idx","Chunk of consecutive coefficients in an interval [from, to)","Gate coefficients","","Returns constraints safely combined via the passed …","Constant value (see ConstantExpr for supported constants)","Constants","Constraints for this argument","","Returns the set of constraints required to prove this …","Initialize the environment for creating constraints of …","Witness for current row","Initialize the environment for creating Expr constraints …","","","","","","","","","","","","","","Helper to access endomorphism coefficient constant","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Helper to access maximum distance separable matrix …","Witness for next row","","","","","","","","","","","","","","","","","","","Witness cell (row, col)","Witness rows","Witness cell on current row","Witness cells in current row in an interval [from, to)","Witness cell on next row","Witness cells in next row in an interval [from, to)","","A type representing one of the polynomials involved in the …","An alias for the intended usage of the expression type in …","The collection of polynomials (all in evaluation form) and …","","","The polynomials specific to the lookup argument.","","","","","","","","","The lookup aggregation polynomials.","","","","","","","Challenges from the IOP.","","","","","The coefficient column polynomials","","Convenience function to create a constant as Expr.","Constant values required","","","","","","","","The domains used in the PLONK argument.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Handy function to quickly create an expression for a gate.","The index selector polynomials.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","The value prod_{j != 1} (1 - omega^j), used for efficiently","","Lookup specific polynomials","","","The evaluations of the optional runtime selector …","The evaluations of the optional runtime table.","The lookup-type selector polynomials.","","The sorted lookup table polynomials.","The evaluations of the combined lookup table polynomial.","","","","","","","","","","","","","The polynomial that vanishes on the zero-knowledge rows …","","","","Helper function to quickly create an expression for a …","The witness column polynomials","Same as witness but for the current row.","Same as witness but for the next row.","The permutation aggregation polynomial.","","The polynomials representing columns, in evaluation form. …","","A specific gate did not verify correctly","Some connected wires have different values","The polynomials representing evaluated columns, in …","Flags for optional features in the constraint system","Represents an error found when verifying a witness with a …","A public gate was incorrectly connected","","","","","","","","","","","","","Build the ConstraintSystem from a Builder.","","","","","","","","","gate coefficients","coefficients over domain d8","EC point addition selector over domain d4","Initializes the ConstraintSystem<F> on input gates and …","","","","","","","","","","","","","","","","","","","Disable gates checks (for testing; only enables with …","Disable gates checks (for testing; only enables with …","evaluation domains","","","","","","","endoscalar multiplication selector over domain d8","coefficient for the group endomorphism","EC point addition selector over domain d8","evaluate witness polynomials over domains","flags for optional features","","","","","","Foreign field addition gate","Foreign field addition gate selector over domain d8","Foreign field multiplication gate","Foreign field multiplication gate selector over domain d8","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","circuit gates","generic gate selector","generic selector over domain d4","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","Set up the lookup tables. If not invoked, it is vec![] by …","lookup constraint system","Lookup features","","scalar multiplication selector over domain d8","","","","","permutation coefficients","permutation coefficients over domain d8","poseidon gate selector","poseidon selector over domain d8","","Set up the number of previous challenges, used for …","number of previous evaluation challenges, for recursive …","Set up the number of public inputs. If not invoked, it …","number of public inputs","RangeCheck0 gate","RangeCheck0 gate selector over domain d8","RangeCheck1 gate","RangeCheck1 gate selector over domain d8","","","","ROT gate","Rot gate selector over domain d8","Set up the runtime tables. If not invoked, it is None by …","Create selector polynomial for a circuit gate","","","","","","Set up the shared precomputations. If not invoked, it is …","wire coordinate shifts","SID polynomial","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","XOR gate","Xor gate selector over domain d8","","","","","pre-computed polynomials that depend only on the chosen …","","","","","0-th Lagrange evaluated over domain.d4","0-th Lagrange evaluated over domain.d8","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","zero-knowledge polynomial over domain.d8","","1-st Lagrange evaluated over domain.d8","","","","","","the polynomial that vanishes on the zero-knowledge rows …","","","","","","","Creates 4 evaluation domains d1 (of size n), d2 (of size 2n…","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","A cache","","A key for a cached value","","","","","Define challenges the verifier coins during the …","","The generic type of column the environment can use. In …","","","","","","","","","Define the constant terms an expression can use. It can be …","The collection of constants required to evaluate an Expr.","","","","","","","","","","An multi-variate polynomial over the base ring C with …","","","","","The feature flags that can be used to enable or disable …","","","","","","","A “linearization”, which is linear combination with E …","","","","","","","Enabled if the number of lookups per row is at least the …","","","","","","","","For efficiency of evaluation, we compile expressions to …","","","","","","","","Skip the given number of tokens if the feature is enabled.","Skip the given number of tokens if the feature is disabled.","","","","","Enabled if the table width is at least the given number","","UnnormalizedLagrangeBasis(i) is (x^n - 1) / (x - omega^i)","","","","A type representing a variable which can appear in a …","","","","The challenge alpha from the PLONK IOP.","","Obtains the representation of some constants as a literal. …","","","","","Auto clone macro - Helps make constraints more readable by …","","The expression beta.","The expression beta.","The challenge beta from the PLONK IOP.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Convenience function for constructing cell variables.","Convenience function for constructing cell variables.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The column of this variable","Defines the domain over which the column is evaluated","Combines multiple constraints [c0, ..., cn] into a single …","Combines multiple constraints [c0, ..., cn] into a single …","Convenience function for constructing constant expressions.","","Convenience function for constructing constant expressions.","","A number of useful constraints","","","","Return the degree of the expression. The degree of a cell …","Return the degree of the expression. The degree of a cell …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The endomorphism coefficient","","","","","","","","","","","","","","","","","","","","","Evaluate an expression as a field element against an …","Evaluate an expression into a field element.","Evaluate an expression into a field element.","Evaluate an expression as a field element against an …","Evaluate an RPN expression to a field element.","Evaluate an expression as a field element against the …","Evaluate an expression as a field element against the …","Evaluate the constant expressions in this expression down …","Evaluate the constant expressions in this expression down …","Evaluate the constants in a linearization with …","Compute the polynomial corresponding to this expression, …","Compute the polynomial corresponding to this expression, …","Compute the polynomial corresponding to this expression, …","Compute the polynomial corresponding to this expression, …","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","The challenge gamma from the PLONK IOP.","Return the challenges, coined by the verifier.","Return the evaluation of the given column, over the domain.","Return the constants parameters that the expression might …","","","","","","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","The challenge joint_combiner which is used to combine …","Computes prod_{j != n} (1 - omega^j) Assure we don’t …","Return the value prod_{j != 1} (1 - omega^j), used for …","","","","","","","Converts the expression in LaTeX","Converts the expression in LaTeX","There is an optimization in PLONK called “linearization…","There is an optimization in PLONK called “linearization…","","","Convenience function for constructing expressions from …","","","","Convenience function for constructing expressions from …","","Apply a function to all the coefficients in the …","The MDS matrix","","","","","","","","","","","","","Converts the expression in OCaml code","Converts the expression in OCaml code","","","","","","Exponentiate a constant expression.","Compute the powers of x, x^0, ..., x^{n - 1}","You can import this module like …","","The row (Curr of Next) of this variable","","","","","","","","","","","","","","","","","","Converts the expression to a text string","Converts the expression to a text string","","","","","","","","","","","","","","","","","","","","","","","","","","Compile an expression to an RPN expression.","","","Compile an expression to an RPN expression.","Given a linearization and an environment, compute the …","Given a linearization and an environment, compute the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Evaluate the given constant expression to a field element.","Evaluate the given constant expression to a field element.","","","","","","","","","","","","","","","","","","","","The number of zero-knowledge rows","","","","This trait defines a common arithmetic operations interface","Creates a constraint to enforce that b is either 0 or 1.","Constrain to boolean","Cache item","Coefficient","lo + mi * 2^{LIMB_BITS}","Create a constant","Crumb constraint for 2-bit value x","Constrain to crumb (i.e. two bits)","Double the value","Create a literal","Raise the value to the given power","Compute the square of this value","2^pow","2^{2 * LIMB_BITS}","2^{3 * LIMB_BITS}","2^{LIMB_BITS}","","","","","","","","","","Cairo","","","","A circuit is specified as a public input size and a list …","A single gate in a circuit.","Gate error","Gate result","Complete EC addition in Affine form","Trait to connect a pair of cells in a circuit","Invalid constraint with number","Disconnected wires","","A row accessible from a given row, corresponds to the fact …","EC variable base scalar multiplication with group …","Gate for computing the scalar corresponding to an …","Failed to get witness for row","","","The different types of gates the system supports. Note …","Generic arithmetic gate","Invalid constraint","Invalid lookup","","","","","Poseidon permutation gate","Range check","","","EC variable base scalar multiplication","Invalid wire column","","Zero gate","","","","","","","","","","","","","","","","","","","","","","public selector polynomials that can used as handy …","Connects a generic gate cell with zeros to a given row for …","Connect the pair of cells specified by the cell1 and cell2 …","Connects the wires of the range checks in a single foreign …","This function creates a CairoClaim gate","This function creates a CairoFlags gate","Gadget generator of the whole cairo circuits from an …","This function creates a CairoInstruction gate","This function creates a CairoTransition gate","Create foreign field addition gate chain without range …","Create range check gate for constraining compact limbs. …","","Create foreign field multiplication gate Inputs the …","This allows you to create two generic gates that will fit …","This allows you to create two generic gates by passing the …","Create range check gate for constraining three 88-bit …","","…","Create single range check gate Inputs the starting row …","Create one rotation Right now it only creates a Generic …","Creates a Rot64 gadget to rotate a word It will need:","Create a single foreign field addition gate. This is used …","","Creates a XOR gadget for bits length Includes:","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extends an AND gadget for bytes length. The full operation …","Extend a chain of foreign field addition gates. It already …","Create foreign field muti-range-check gadget by extending …","Create foreign field multiplication gate by extending the …","","","Extends a Keccak circuit to hash one message Note: …","Create foreign field muti-range-check gadget by extending …","Extends a NOT gadget for bits length using Xor gates. It …","Extends a bitwise negation gadget with n NOT components of …","Create foreign field range-check gate by extending the …","Extend one rotation Right now it only creates a Generic …","Extend a single foreign field addition gate followed by a …","Extends a XOR gadget for bits length to a circuit Includes:","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","Which lookup-patterns should be applied on which rows.","","","","","","","","","","","","","","round constant that are relevant for this specific gate","","","","","","","Compute the offset corresponding to the CurrOrNext value.","","","","","","","","","","","","","","","","","","","","type of the gate","","","","","","","","","","","","","This function verifies the consistency of the wire …","verifies that the Cairo gate constraints are solved by the …","Check the correctness of witness values for a complete-add …","Verify the EndoMul gate.","Verify the EndoMulscalar gate.","verifies that the generic gate constraints are solved by …","Checks if a witness verifies a poseidon gate","Verify the GateType::VarBaseMul(TODO)","Verify the witness against the constraints","","","","","","gate wiring (for each cell, what cell it is wired to)","","this function creates “empty” circuit gate","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","Runtime tables are tables (or arrays) that can be produced …","","Number of constraints produced by the argument.","Configuration for the lookup constraint. These values are …","Computes the aggregation polynomial for maximum n lookups …","","","","","Specifies the lookup constraints as expressions.","","","","","A placeholder value that is known to appear in the lookup …","","Returns the argument unchanged.","","Calls U::from(self).","Information about the specific lookups used","","","Computes the sorted lookup tables required by the lookup …","","","","","Checks that all the lookup constraints are satisfied.","","Pad with zeroes and then add 3 random elements in the last …","","","Represents an error found when computing the lookup …","Lookup selectors","","","","","","","","","","","","","","","","","Configuration for the lookup constraint.","Create the LookupConstraintSystem.","","","","","","","","","","","","","Foreign field multiplication pattern lookup selector","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Lookup pattern lookup selector","Lookup selectors: For each kind of lookup-pattern, we have …","Lookup tables","","","","Range check pattern lookup selector","An optional runtime table selector. It is 0 everywhere, …","The offset of the runtime table within the concatenated …","Optional runtime tables, listed as tuples (length, id).","","","Table IDs for the lookup values. This may be None if all …","","","","","","","","","","","","","","","","","","XOR pattern lookup selector","","","","Look up the value from the given fixed table ID","","A spec for checking that the given vector belongs to a …","A spec for checking that the given vector belongs to a …","A concrete value or representation of a lookup.","A position in the circuit relative to a given row.","","","Describes the desired lookup configuration.","","An iterator over the variants of LookupPattern","Flags for each of the hard-coded lookup patterns.","The table ID associated with a particular lookup","","Look up a single value in a lookup table. The value may be …","Look up the value in the table with ID given by the value …","","","","","","","","","","","","","","","","","","","","For each row in the circuit, which lookup-constraints …","","","","","","","","","","","","","","","","","","","","","Create the default lookup configuration.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Evaluate the combined value of a joint-lookup.","Evaluate the linear combination specifying the lookup …","Evaluate the combined value of a joint-lookup.","Evaluate the combined value of a joint-lookup, resolving …","The features enabled for this lookup configuration","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Returns the lookup pattern used by a GateType on a given …","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","Whether joint lookups are used","Check what kind of lookups, if any, are used by this …","","","","","","Returns the layout of the lookups used by this pattern.","Returns the maximum number of values that are used in any …","The maximum joint size of any joint lookup in a constraint …","Returns the maximum number of lookups per row that are …","The maximum length of an element of kinds. This can be …","","","","","","","","","","","","","","","","","","A single lookup constraint is a vector of lookup …","","Reduce linear combinations in the lookup entries to a …","","","","","","","","","","","Each entry in kinds has a corresponding selector …","","","","","","","","","","","Returns the lookup table used by the pattern, or None if …","The ID for the table associated with this lookup. Positive …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","True if runtime lookup tables are used.","Linear combination of local-positions","","","","","","","","","","","","","","","","","","A runtime table. Runtime tables must match the …","Use this type at setup time, to list all the runtime …","The specification of a runtime table.","","","","","","","","","","","","","","Returns the constraints related to the runtime tables.","A single column.","","","","","","","","","","","","The content of the first column of the runtime table.","","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the ID of the runtime table.","The table ID.","The table ID.","The table id.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if the runtime table is empty.","Returns the length of the runtime table.","The number of entries contained in the runtime table.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Enumerates the different ‘fixed’ lookup tables used by …","Enumerates the different ‘fixed’ lookup tables used by …","A table of values that can be used for a lookup, along …","The range check table ID.","","The table ID associated with the XOR lookup table.","","","","","","","","","","","","","","","Same as combine_table_entry, but for an entire table. The …","Let’s say we want to do a lookup in a “vector-valued”…","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the lookup table associated to a GateLookupTable.","Return true if the table has an entry (row) containing all …","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Returns true if the lookup table is empty, false otherwise.","Returns the length of the table.","Range check table","","","","Returns the lookup table associated to a GateLookupTable.","","","","","","","","","","","","","","","","Returns the number of columns, i.e. the width of the table.","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","The range check will be performed on 12-bit values, i.e. …","","A single-column table containing the numbers from 0 to …","","Returns the XOR lookup table","","","","","Evaluations of the wires and permutation","","","","","","","","","","","","","","","","","","","","","","","","","","","evaluations over domain d4","evaluations over domain d8","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","lookup multiset","lookup multiset","lookup multiset","lookup multiset","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","aggregation","aggregation","lookup witness","lookup witness","next wire evaluations","next wire evaluations","this wire evaluations","this wire evaluations","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","wire evaluations","permutation evaluations","This module includes the AND gadget implementation and the …","This module implements a complete EC addition gate.","Implementation of the EndomulScalar gate for the endomul …","This module implements short Weierstrass curve …","Foreign Field Addition module","Common parameters and functions for kimchi’s foreign …","Foreign field multiplication module","This module implements the double generic gate.","Keccak hash module","This module includes the definition of the NOT gadget and …","This module implements permutation constraint polynomials.","This module implements the Poseidon constraint polynomials.","Range check gate module","","This implements the constraints of the Cairo gates","This module implements short Weierstrass curve variable …","This module includes the definition of the XOR gadget for …","Create a And for inputs as field elements starting at row 0","Extends an AND witness to the whole witness Input: first …","Get the AND lookup table","Implementation of the CompleteAdd gate It uses the …","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Generate the witness","","Calls U::from(self).","","","","","The result of performing an endoscaling: the accumulated …","Implementation of the EndosclMul gate.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Generates the witness_curr values for a series of …","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Foreign field addition gate.","This module obtains the gates of a foreign field addition …","This module computes the witness of a foreign field …","Implementation of the foreign field addition gate","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","Addition","All foreign field operations allowed","Subtraction","","","","","Creates a FFAdd witness (including ForeignFieldAdd rows, …","","","","","","Create witness for bound computation addition gate","","Returns the argument unchanged.","","Calls U::from(self).","Returns the sign of the operation as a field element","","","","","","Exponent of binary modulus (i.e. t)","BigUint array compose helper","BigUint array PrimeField helpers","Foreign field helpers","PrimeField array BigUint helpers","PrimeField array compact limbs","PrimeField array compose BigUint","Index of high limb (in 3-limb foreign elements)","","Limb length for foreign field elements","Number of desired limbs for foreign field elements","Index of low limb (in 3-limb foreign elements)","Index of middle limb (in 3-limb foreign elements)","Two to the power of the limb length","2^t","Compose field limbs into BigUint","Compose limbs into BigUint","2^259 (see foreign field multiplication RFC)","Negate: 2^T - self","Alias for to_limbs","Convert to 2 PrimeField limbs of 2 * LIMB_BITS each. The …","Convert to 2 limbs of 2 * LIMB_BITS each. The compressed …","Compose field limbs into BigUint","Convert to 3 PrimeField limbs of LIMB_BITS each","Convert limbs from BigUint to field element","Alias for to_field_limbs","Convert to 3 limbs of LIMB_BITS each","Convert limbs from field elements to BigUint","2","2^{2 * LIMB_BITS}","2^{LIMB_BITS}","Foreign field multiplication","This module obtains the gates of a foreign field addition …","Foreign field multiplication witness computation","This gate operates on the Curr and Next rowsIt uses copy, …","","","","","Composes the 91-bit carry1 value from its parts","Compute non-zero intermediate products","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","Number of gates in this gadget","Number of constraints for a given foreign field mul …","Get combined constraints for a given foreign field …","","Get vector of foreign field multiplication circuit gate …","Get the combined constraints for all foreign field …","Get the foreign field multiplication lookup table","Track external check witness data","Track a bound check","Track a compact-multi-range-check","Track a high bound computation","Track a limb-range-check","Track a multi-range-check","","","","","Perform integer bound addition for all limbs x’ = x + f…","Perform integer bound computation for high limb x’2 = x2 …","Create a foreign field multiplication witness Input: …","","","","","Extend the witness with external bound addition as foreign …","Extend the witness with external compact multi range_checks","Extend the witness with external high bounds additions as …","Extend the witness with external compact multi range_checks","Extend the witness with external multi range_checks","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","Add two values.","Number of constraints produced by the gate.","A constant, the constructor contains the constant itself","The double generic gate actually contains two generic …","Number of generic of registers by a double generic gate.","Number of coefficients used by a single generic gate Three …","Number of generic of registers by a single generic gate","Implementation of the Generic gate","The different type of computation that are possible with a …","Multiplication of two values","Sum a value to a constant","A public gate","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Optional coefficient that can be multiplied with the left …","Optional coefficient that can be multiplied with the …","Optional coefficient that can be multiplied with the …","Optional coefficient that can be multiplied with the …","Optional coefficient that can be multiplied with the right …","Create a generic circuit","Fill in a witness created via create_circuit","Naive Keccak structure","Creates the 5x5 table of rotation bits for Keccak modulo 64","Contains the 24 round constants for Keccak","","","On input a vector of 16-bit dense quarters, outputs a …","Keccak gadget","From a canonical expanded state, obtain the corresponding …","Composes a vector of 4 dense quarters into the dense full …","","Takes a dense u64 word and decomposes it into a vector of …","","","","Expands a quarter of a word into the sparse representation …","On input a 200-byte vector, generates a vector of 100 …","Expands a u64 word into a vector of 4 sparse u64 quarters","Returns the argument unchanged.","Keccak gadget","","Calls U::from(self).","Number of blocks to be absorbed on input a given preimage …","Pads the message with the 10*1 rule until reaching a …","On input a length, returns the smallest multiple of …","Outputs the state into dense quarters of 16-bits each in …","From a vector of shifts, resets the underlying value …","From each quarter in sparse representation, it computes …","Returns the expansion of the 4 dense decomposed quarters …","","","","","Keccak witness computation","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","The number of bytes used as a capacity in the sponge.","","","","","Constants for each witness’ index offsets and lengths …","","","The number of columns the Keccak circuit uses.","","","","","","","","","","","","","An element of the Keccak state is 64 bits. However, we …","The number of bytes that can be processed by the Keccak …","The number of rounds in the Keccak permutation","","","","","The number of columns the Sponge circuit uses.","","","","","","","","","","","","","The number of field elements used to represent the whole …","","","","","","","","","","","","","","","Values involved in Chi permutation step","Values involved in Iota permutation step","Values involved in PiRho permutation step","","Values involved in Theta permutation step","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a witness for the Keccak hash function Input:","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Extend a NOT witness for less than 255 bits (native field) …","Extends negation witnesses from generic gate, assuming the …","Number of constraints produced by the argument.","Shifts represent the shifts required in the permutation …","","","","","","Evaluates the polynomial (x - w^{n - zk_rows}) * (x - w^{n …","Evaluates the polynomial (x - w^{n - i}) * (x - w^{n - i + …","Returns the argument unchanged.","","Calls U::from(self).","Generates the shifts for a given domain","The polynomial (x - w^{n - zk_rows}) * (x - w^{n - zk_rows …","retrieve the shifts","","","","The polynomial (x - w^{n - i}) * (x - w^{n - i + 1}) * … …","","Returns the end of the circuit, which is used for …","Number of PLONK rows required to implement Poseidon","Implementation of the Poseidon gate Poseidon quotient poly …","Number of rounds","Number of rows","Width of the sponge","The order in a row in which we store states before and …","","","","","","","","","","","Returns the argument unchanged.","generate_witness(row, params, witness_cols, input) uses a …","","Calls U::from(self).","Given a Poseidon round from 0 to 4 (inclusive), returns …","","","","","","Range check gate","Range check witness computation","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Number of constraints for a given range check circuit gate …","Get combined constraints for a given range check circuit …","Get vector of range check circuit gate types","Get the combined constraints for all range check circuit …","Get the range check lookup table","Create a single range check witness Input: 88-bit value v0","Create a multi range check witness from three 88-bit …","Create a multi range check witness from two limbs: v01 …","Create a multi range check witness from compact limbs","Create a multi range check witness from limbs","Extend an existing witness with a single range check …","Extend an existing witness with a multi-range-check gadget …","Extend and existing witness with a multi range check …","Extend an existing witness with a multi-range-check gadget …","Extend an existing witness with a multi-range-check gadget …","Extend an existing witness with a multi-range-check gadget …","Extend an existing witness with a single-range-check gate …","The row layout for RangeCheck0","","","","","","","","","","","","","","","","","","","","","","","","Extends the rot rows to the full witness Input","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Get the rot lookup table","","","","","","","","","","","","","","","","","","","","","","","","","","","Combines the constraints for the Cairo gates depending on …","","","","","Generates the constraints for the Cairo initial claim and …","Generates the constraints for the Cairo instruction …","Generates the constraints for the Cairo flags Accesses …","Generates the constraints for the Cairo transition …","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","verifies that the Cairo gate constraints are solved by the …","Returns the witness of an execution of a Cairo program in …","","Implementation of the VarbaseMul gate","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","Apply the witness value.","","","","","","","","Create a Xor for up to the native length starting at row 0 …","","","","","Extends the Xor rows to the full witness Panics if the …","Returns the argument unchanged.","","Calls U::from(self).","Get the xor lookup table","Returns the number of XOR rows needed for inputs of usize …","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","Number of registers","GateWires document the wiring of a gate. More …","Number of registers that can be wired (participating in …","index of all registers","Since we don’t have a specific type for the wires of a …","Wire documents the other cell that is wired to this one. …","","","","","","","","","","","","","","","","","","Creates a new set of wires for a given row.","Returns the argument unchanged.","","","","Calls U::from(self).","","","","Creates a new set of wires for a given row.","","Creates a new Wire.","","","","","","","","","","","","","","","","","Wire the cell at col to another cell (to).","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","Witness cell with constant value","Witness cell copied from bits of another witness cell","Witness cell copied from another witness cell","Witness cell copied from another cell and shifted","Witness cell assigned from an indexable variable See …","Witness cell assigned from bits of a variable See Variables…","Witness cell assigned from a variable See Variables for …","Layout variables mapping - these values are substituted …","Witness cell interface. By default, the witness cell is a …","","","","","","","","","","","","","","","","","Create witness cell with constant value","Create witness cell copied from bits [start, end) of the …","Create a witness cell copied from the witness cell at …","Create witness cell copied from the witness cell at …","Create witness cell assigned from a variable name a length","Create witness cell assigned from the bits [start, end) of …","Create witness cell assigned from a variable name","Create a layout variable map","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Initialize a witness based on layout and computed variables","","","","","","","","","Initialize a witness cell based on layout and computed …","Initialize a witness row based on layout and computed …","Insert a variable and corresponding value into the …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Macro to simplify creation of layout map","Macro to simplify mapping of layout variable","","","","","","","","","Represents additional information that a curve needs in …","A human readable name.","Provides the coefficients for the curve endomorphism, …","Provides the coefficient for the curve endomorphism over …","Accessor for the other curve’s prime subgroup generator, …","Provides the sponge params to be used with the other curve.","Provides the sponge params to be used with this curve.","","","","","Errors that can arise when preparing the setup","","","","","","","","","","","","","","","","","","","Errors that can arise when creating a proof","","","","Errors that can arise when preparing the setup","","Errors that can arise when creating a verifier index","Errors that can arise when verifying a proof","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","The evaluations of all normalized lagrange basis …","","","","","","Given the evaluations form of a polynomial, directly …","Given the evaluations form of a polynomial, directly …","Returns the argument unchanged.","","Calls U::from(self).","","","","","","Get the expresion of constraints.","Linearize the expr.","Adds the polynomials that are evaluated as part of the …","The result of running the oracle protocol","the computed powers of alpha","","","","Used by the OCaml side","","","the last evaluation of the Fq-Sponge in this protocol","","A sponge that acts on the base field of a curve","Returns the argument unchanged.","The evaluation f(zeta) - t(zeta) * Z_H(zeta)","","Calls U::from(self).","the challenges produced in the protocol","recursion data","zeta^n and (zeta * omega)^n","public polynomial evaluations","","","","","pre-computed zeta^n","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","Abstracts a sponge that operates on the scalar field of an …","Absorbs the field element into the sponge.","Absorbs the given evaluations into the sponge.","Absorbs a slice of field elements into the sponge.","Creates a ScalarChallenge by squeezing the sponge.","Consumes the sponge and returns the current digest, by …","Creates a new Fr-Sponge.","","The size of the SRS that we serialize.","We store several different types of SRS objects. This enum …","","A clone of the SRS that is serialized in a test-optimised …","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","The vector of group elements for committing to polynomials …","Obtains an SRS for a specific curve from disk. Panics if …","Generic SRS getter fuction.","Obtains a Test SRS for a specific curve from disk. Panics …","A group element used for blinding commitments","","","Calls U::from(self).","Calls U::from(self).","Commitments to Lagrange bases, per domain size","","","","","","","","","","","","Commitments linked to the lookup feature","Evaluations of a polynomial at 2 points","Polynomial evaluations contained in a ProverProof.","All the commitments that the prover creates as part of the …","The proof that the prover creates from a ProverIndex and a …","A struct to store the challenges inside a ProverProof","Commitment to the lookup aggregation polynomial","","","","","","","","","","","","","","Vector of scalar field elements","","","","","","","","","","","","","coefficient polynomials","","Polynomial commitment","All the polynomial commitments required in the proof","evaluation of the elliptic curve addition selector …","This function constructs prover’s zk-proof from the …","This function constructs prover’s recursive zk-proof …","","","","","","","","","","","","","","","","","","","","","","","","","","","evaluation of the endoscalar multiplication selector …","evaluation of the endoscalar multiplication scalar …","","Two evaluations over a number of committed polynomials","","","","","","","","evaluation of the ForeignFieldAdd selector polynomial","evaluation of the ForeignFieldMul range check pattern …","evaluation of the ForeignFieldMul selector polynomial","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","Required evaluation for Maller’s optimization","evaluation of the generic selector polynomial","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Commitments related to the lookup argument","evaluation of lookup aggregation polynomial","evaluation of the Lookup range check pattern selector …","evaluation of lookup sorted polynomials","evaluation of lookup table polynomial","","","","","evaluation of the elliptic curve variable base scalar …","","","","This function runs the random oracle argument","evaluation of the poseidon selector polynomial","The challenges underlying the optional polynomials folded …","batched commitment opening proof","public input polynomials","evaluation of the RangeCheck0 selector polynomial","evaluation of the RangeCheck1 selector polynomial","evaluation of the RangeCheck range check pattern selector …","evaluation of the Rot selector polynomial","Optional commitment to concatenated runtime tables","evaluation of runtime lookup table polynomial","evaluation of the runtime lookup table selector polynomial","permutation polynomials (PERMUTS-1 evaluations because the …","","","","","","","Commitments to the sorted lookup table polynomial (may …","The commitment to the quotient polynomial","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","witness polynomials","The commitments to the witness (execution trace)","evaluation of the Xor range check pattern selector …","evaluation of the Xor selector polynomial","permutation polynomial","The commitment to the permutation polynomial","Evaluation at the challenge point zeta.","Evaluation at zeta . omega, the product of the challenge …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","Clean up old traces and start fresh.","Take captured traces.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","The index used by the prover","","","","","","Retrieve or compute the digest for the corresponding …","this function compiles the index from constraints","constraints system polynomials","","","","","","Returns the argument unchanged.","","Calls U::from(self).","The symbolic linearization of our circuit, which can …","maximal size of polynomial section","permutation aggregation polynomial computation","permutation linearization poly contribution computation","permutation quotient poly contribution computation","The mapping between powers of alpha and constraints","","polynomial commitment keys","","","","","","Produces the VerifierIndex from the prover’s ProverIndex.","The verifier index corresponding to this prover index","Retrieve or compute the digest for the corresponding …","The verifier index digest corresponding to this prover …","This function verifies the consistency of the wire …","Function to verify the generic polynomials with a witness.","","","Create new index for lookups.","","The main interface to using Snarky.","An ASM-like language to print a human-friendly version of …","The Boolean type is a snarky type that represents a …","Constants used for poseidon.","The backend used by Snarky, gluing snarky to kimchi. This …","","","","Functions associated to the Poseidon hash function.","A handy module that you can import the content of to …","The circuit-generation and witness-generation logic.","The SnarkyType trait is a useful trait that allows us to …","","A compiled circuit.","A circuit must be defined for a specific field, as it …","The private input used by the circuit.","","A prover index.","The public input used by the circuit.","The public output returned by the circuit.","The main trait. Implement this on your circuit to get …","A verifier index.","A witness represents the execution trace of a circuit.","Produces an assembly-like encoding of the circuit.","","","","","","","","","The circuit. It takes:","Compiles the circuit to a prover index (ProverIndexWrapper…","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","The gates obtained after compilation.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Produces a proof for the given public input.","","","","","","","","","","","","","Verify a proof for a given public input and public output.","","","","","Very dumb way to write an ordered hash set.","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","A boolean variable.","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","A PLONK constraint (or gate) can be Basic, Poseidon, …","","","","","","","The constraint system. ","","","","","","Applies the basic SnarkyConstraint. Simply, place the …","Applies the KimchiConstraint(s) to the circuit.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Compute the witness, given the constraint system sys and a …","","","","","","","","","","","","","","","","","","","","","","","Produces a digest of the constraint system.","","","","","","","","","","","Fill the gate values(input and output), and finalize the …","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Returns the number of public inputs.","Returns the number of rows in the constraint system. Note: …","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Sets the number of public-input. It must and can only be …","Sets the number of public-input. It should only be called …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Addition of two FieldVars.","A constant (a field element).","A circuit variable represents a field element in the …","Multiplication of a FieldVar by a constant.","","","A variable, tracked by a counter.","","","","","","","","","","","Converts a field element c into a FieldVar.","","","","","","Evaluate the field element associated to a variable (used …","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","Seals the value of a variable.","","","","","","","","","","","","","","","","Returns the zero constant.","","","","","","","Errors that can occur during compilation of a circuit.","A result type for Snarky compilation errors.","Snarky errors can come from either a compilation or …","A result type for Snarky errors.","Errors that can occur during runtime (proving).","A result type for Snarky runtime errors.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","A stack of labels, where each label represents an …","A location string, usually a file name and line number. …","Creates a new RealSnarkyError.","Creates a new RealSnarkyError.","","","","","","The actual error.","","","","","","","","","","","","","","","","","","","","","","","","Represents an element of the other curve’s field. As the …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","A duplex construction allows one to absorb and squeeze …","","Absorb.","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Creates a new sponge.","","Squeeze.","","","","","","","","Handy macro to return the filename and line number of a …","Old R1CS-like constraints.","An enum that wraps either a BasicSnarkyConstraint or a […","Custom gates in kimchi.","The state used when compiling a circuit in snarky, or used …","A witness generation environment. This is passed to any …","Adds a list of Constraint to the circuit.","This adds a label in the stack of labels. Every error from …","Allocates a new var representing a private input.","Indication that we’re running in prover mode. In this …","Creates a constraint for assert_eq!(x, y);","Creates a constraint for assert_eq!(a * b, c).","","","","","In witness generation, this checks if the constraint is …","Crates a compilation error.","Creates a new non-deterministic variable associated to a …","","","","","","","","","","Creates an RealSnarkyError using the current context.","If set, the witness generation will check if the …","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the public output generated after running the …","","Getter for the OCaml side.","Indication that we’re running the witness generation. …","Adds a constraint that returns then_ if b is true, else_ …","","","Calls U::from(self).","Calls U::from(self).","Creates a new Self based on the size of the public input, …","A counter used to track variables (this includes public …","The size of the public input part. This contains the …","This removes a label from any error that could come up …","","Returns the public input snarky variable.","constrains the 3 provided values to fit in 88 bits","Allows the caller to obtain the value behind a circuit …","","","Used internaly to evaluate variables. Can panic if used …","Creates a runtime error.","Stores a field element as an unconstrained private input.","The constraint system used to build the circuit. If not …","","","","","","","","","A wrapper around code that needs to be labeled (for better …","Some ‘out-of-circuit’ data, which is carried as part …","A trait to convert between a snarky type and its …","The equivalent “out-of-circuit” type. For example, the …","The number of field elements that this type takes.","A snarky type is a type that can be used in a circuit. It …","Checks that the circuit variables behind this type are …","","The “default” value of Self::Auxiliary. This is passed …","Creates a new instance of this type from the given circuit …","","","Returns the circuit variables (and auxiliary data) behind …","","","Converts an out-of-circuit value","Tarjan’s Union-Find Data structure","","","","","","","","","Returns Some(num), num is the tag of subset in which x is. …","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Union the subsets to which x and y belong. If it returns …","","","The result of a proof verification.","This function verifies the batch of zk-proofs proofs: …","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","The proof to verify","The public input used in the creation of the proof","","","","The VerifierIndex associated to the proof","Verify a proof ProverProof using a VerifierIndex and a …","","","","","","","","","","","","coefficient commitment array","EC addition selector polynomial commitment","","","","","","","Compute the digest of the VerifierIndex, which can be used …","evaluation domain","","","endoscalar multiplication selector polynomial commitment","endoscalar coefficient","endoscalar multiplication scalar computation selector …","","","Foreign field addition gates polynomial commitments","Foreign field multiplication gates polynomial commitments","Returns the argument unchanged.","Returns the argument unchanged.","Deserializes a VerifierIndex from a file, given a pointer …","coefficient commitment array","","","Calls U::from(self).","Calls U::from(self).","","","","Information about the specific lookups used","","","maximal size of polynomial section","EC variable base scalar multiplication selector polynomial …","Gets permutation_vanishing_polynomial_m from VerifierIndex …","zero-knowledge polynomial","The mapping between powers of alpha and constraints","number of previous evaluation challenges, for recursive …","poseidon constraint selector polynomial commitment","number of public inputs","RangeCheck0 polynomial commitments","RangeCheck1 polynomial commitments","Rot commitments","An optional selector polynomial for runtime tables","","","wire coordinate shifts","permutation commitment array","Gets srs from VerifierIndex lazily","polynomial commitment keys","Table IDs for the lookup values. This may be None if all …","Writes a VerifierIndex to a file, potentially appending it …","","","","","","","","","","","Gets w from VerifierIndex lazily","domain offset for zero-knowledge","Xor commitments","the number of randomized rows to achieve zero knowledge"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,10,2,10,2,2,2,2,10,2,10,2,2,10,10,2,2,10,2,10,2,2,2,10,2,2,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,2,2,2,2,2,10,2,10,2,10,2,10,0,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,281,0,0,0,0,0,281,0,15,15,15,282,30,100,35,15,30,100,35,15,100,15,15,30,30,100,282,281,30,100,281,282,281,30,35,30,30,100,35,15,30,100,35,15,15,30,100,35,15,30,15,15,15,30,100,35,15,15,15,35,30,100,35,15,30,100,35,15,30,35,15,15,30,100,35,15,30,100,35,15,30,100,35,15,30,100,35,15,30,100,30,30,30,30,45,0,0,0,45,45,0,45,45,45,45,45,45,45,45,283,283,48,45,283,48,45,48,45,45,45,0,48,48,0,48,283,48,45,283,48,45,45,48,283,48,45,45,45,45,283,48,45,48,48,48,48,45,45,0,48,283,48,45,283,48,45,45,48,48,45,48,45,45,283,283,283,45,283,283,45,45,283,48,45,283,48,45,283,48,45,48,48,283,48,45,0,48,0,0,48,0,0,0,67,67,0,0,0,67,57,60,61,62,58,67,57,60,61,62,58,67,57,60,61,62,58,60,61,62,58,61,62,62,58,57,60,61,62,58,67,57,60,61,62,58,67,60,60,60,61,62,58,57,58,58,57,60,61,62,58,67,62,58,62,58,58,60,61,62,58,67,60,62,60,62,57,60,61,62,58,67,60,60,60,60,58,61,62,57,60,61,62,58,67,57,60,61,62,58,67,60,60,60,60,57,58,60,57,62,60,60,60,58,61,62,61,62,58,57,58,57,58,60,62,60,62,60,60,60,60,62,57,0,60,61,62,58,58,57,58,58,60,61,62,58,57,60,61,62,58,67,60,57,60,61,62,58,67,57,60,61,62,58,67,60,60,60,57,60,61,62,58,67,60,62,58,0,284,284,0,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,0,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,85,97,94,85,94,0,85,0,91,97,90,97,0,0,103,102,0,0,90,91,97,0,0,0,0,49,49,49,49,0,85,97,101,89,0,0,0,84,101,0,95,95,0,94,85,94,0,0,89,97,95,101,95,95,89,101,101,101,85,97,0,0,85,97,95,95,95,0,95,97,97,85,97,85,97,95,0,91,97,91,97,0,95,85,87,37,85,84,89,90,85,91,0,0,87,85,37,87,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,87,32,87,85,36,93,94,89,90,85,53,95,96,91,97,49,98,36,93,94,89,90,85,53,95,96,91,97,49,98,93,53,87,93,103,87,85,87,87,85,98,0,87,32,98,87,85,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,93,94,89,95,96,97,98,87,87,85,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,36,93,94,89,90,85,53,95,96,91,97,49,93,94,89,85,53,95,96,97,102,87,87,85,85,97,87,85,87,85,98,87,87,85,85,87,101,101,93,94,89,90,85,53,95,96,91,97,49,98,37,34,34,34,87,87,87,87,87,101,36,93,94,89,90,90,90,85,85,85,53,32,95,96,91,97,49,98,49,49,95,37,103,103,103,103,93,85,53,95,93,85,53,95,98,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,95,104,94,89,90,85,85,85,37,0,103,104,93,94,89,90,85,87,85,87,85,84,87,87,89,90,85,85,91,98,36,87,85,87,85,104,93,94,89,90,85,95,95,87,85,96,85,93,53,87,85,0,0,101,93,93,94,89,95,96,97,98,87,87,85,85,104,93,94,89,90,85,87,85,49,84,89,90,85,91,84,89,90,85,91,36,93,94,89,90,85,53,95,96,91,97,49,98,113,87,90,85,85,98,98,101,85,49,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,87,87,87,87,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,95,34,85,103,37,101,36,93,94,89,90,85,53,32,95,96,91,97,49,98,87,85,36,96,285,285,0,0,29,29,29,0,29,0,29,29,29,29,29,29,29,29,29,29,0,0,0,0,0,0,0,0,52,52,52,52,0,0,0,0,52,0,114,114,44,0,52,52,114,52,52,0,52,114,114,52,52,52,44,52,52,52,52,52,114,52,52,44,52,114,63,122,44,52,114,63,122,0,44,52,114,63,44,52,114,63,44,52,63,286,286,286,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,52,63,44,52,114,63,122,44,52,114,63,122,44,52,44,52,44,52,63,44,52,114,63,122,63,44,52,114,44,52,114,63,63,63,63,63,63,63,63,63,63,63,63,63,63,44,52,114,114,63,44,52,114,63,63,122,122,44,52,52,52,44,52,122,122,44,52,44,52,44,52,114,63,122,44,52,114,63,122,44,52,44,52,44,52,52,63,122,44,52,44,52,44,52,44,52,114,63,122,63,44,52,44,52,63,122,44,52,44,52,114,63,114,52,44,52,114,63,122,44,52,44,52,114,63,122,63,44,52,114,63,122,44,52,63,44,52,44,52,63,63,63,63,63,63,63,63,63,44,52,114,63,122,63,63,63,287,287,287,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,0,0,0,135,135,135,135,0,135,135,135,135,135,135,135,135,135,135,135,135,0,135,135,135,135,0,135,0,139,0,0,0,139,139,139,138,139,138,140,139,138,140,139,138,140,139,138,140,140,140,138,139,138,140,139,138,140,138,140,139,138,140,138,139,139,138,140,139,138,140,138,138,139,138,140,139,138,140,138,140,140,140,138,139,138,140,140,140,138,140,140,140,139,138,140,139,139,138,140,139,138,140,139,138,140,139,138,140,138,288,289,289,145,123,0,0,0,0,123,0,0,0,0,0,0,123,0,145,123,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,133,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,123,143,133,133,142,68,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,142,68,133,142,68,133,142,68,133,143,144,145,146,123,148,142,68,133,143,144,145,146,147,123,146,142,68,123,142,68,123,148,144,146,146,133,142,68,133,143,145,146,147,123,142,142,68,133,143,144,145,146,147,123,142,68,133,123,142,68,142,68,123,123,123,142,142,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,142,68,133,142,147,142,68,123,142,68,133,123,68,142,147,142,68,133,142,123,123,133,123,133,142,68,133,147,147,142,68,133,147,142,68,123,142,68,123,147,123,68,142,146,142,68,133,142,68,133,142,68,133,143,133,142,68,133,143,144,145,146,123,148,147,123,146,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,142,68,133,142,68,133,143,144,145,146,147,123,142,68,133,143,144,145,146,147,123,142,68,123,68,144,142,68,133,142,68,133,142,68,133,143,144,145,146,147,123,0,142,0,0,0,152,78,153,152,78,153,0,152,78,153,152,78,153,0,153,152,78,153,152,78,153,152,78,152,78,153,78,152,78,153,152,152,152,78,78,153,153,78,152,78,153,152,78,153,152,78,153,78,78,152,152,78,152,78,153,152,78,153,152,78,153,152,78,153,152,78,153,0,0,0,157,154,156,157,154,156,157,157,154,156,157,154,156,157,154,156,156,157,157,154,154,156,156,157,154,156,157,154,156,157,154,156,157,154,156,157,154,156,154,157,154,156,157,154,156,157,154,156,157,154,156,157,154,156,157,154,156,157,154,156,0,0,0,0,151,0,151,151,159,71,151,159,71,0,151,159,71,151,159,71,0,0,71,151,159,71,151,159,71,151,159,151,159,71,151,159,151,159,151,159,71,151,159,71,71,151,159,0,71,151,159,71,159,159,151,159,71,151,159,71,159,71,71,0,159,151,159,151,151,159,71,151,159,71,151,159,71,151,159,71,151,159,71,71,0,159,0,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,163,0,0,0,0,0,0,0,0,0,0,0,0,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,66,66,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,166,168,166,168,164,165,66,166,167,168,164,165,66,166,167,168,166,168,166,168,165,167,165,167,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,164,165,66,166,167,168,164,164,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,170,0,171,171,171,171,171,171,171,171,171,171,171,0,171,171,171,171,171,171,0,0,173,172,173,172,173,172,172,172,172,172,173,172,173,172,173,172,173,172,0,173,172,173,172,173,173,172,173,172,173,172,173,172,0,0,0,0,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,174,116,0,116,116,116,116,116,0,116,116,116,116,116,0,116,116,116,116,116,116,116,116,116,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,291,292,290,290,293,290,290,294,290,295,295,290,293,290,290,290,0,0,0,0,175,175,175,175,0,0,0,175,175,175,175,175,175,175,175,175,175,175,175,175,0,0,0,0,0,0,0,0,176,176,176,176,176,176,176,176,176,0,0,0,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,176,118,0,118,0,0,0,0,0,0,118,118,118,177,177,118,177,118,118,118,177,177,177,177,177,118,177,118,177,118,177,118,177,118,177,118,0,118,177,118,177,118,177,118,177,118,296,297,296,297,296,0,0,0,0,0,298,298,298,0,298,298,0,298,298,298,298,298,298,298,298,0,298,298,298,298,298,298,298,298,298,298,298,298,298,0,0,0,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,179,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,299,181,182,183,184,299,181,182,183,184,181,182,183,184,181,182,181,182,299,181,182,183,184,299,181,182,183,184,299,181,182,183,184,181,182,0,299,181,182,183,184,299,181,182,183,184,299,181,182,183,184,181,182,181,182,184,183,181,182,183,182,181,183,184,299,181,182,183,184,299,181,182,183,184,299,181,182,183,184,299,181,182,183,184,0,0,0,0,185,185,185,185,185,0,0,185,185,185,185,0,185,185,185,185,0,185,0,0,0,0,0,0,0,186,186,186,186,186,186,186,186,186,186,186,0,186,186,0,186,186,186,186,0,0,0,0,0,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,188,189,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,0,0,192,119,192,119,192,119,119,192,192,192,192,119,192,119,192,119,192,119,119,0,119,119,192,119,192,119,192,0,119,119,192,119,192,119,192,119,192,0,0,0,0,0,300,301,302,303,300,301,302,303,300,301,302,303,0,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,0,300,301,302,303,300,301,302,303,300,301,302,303,300,301,302,303,0,0,0,0,0,0,195,194,304,195,194,304,195,194,194,194,194,194,304,195,194,304,195,194,304,195,194,304,195,194,304,195,194,304,195,194,195,304,195,194,304,195,194,304,195,194,304,195,194,0,0,196,196,196,196,196,196,0,196,196,196,196,0,196,196,196,0,0,196,196,196,196,0,197,197,197,197,197,0,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,0,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,198,0,0,0,0,0,0,199,199,0,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,305,115,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,199,0,305,115,199,0,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,0,0,0,0,0,0,0,0,0,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,209,209,0,202,203,204,205,206,207,208,209,0,0,209,202,203,204,205,206,207,208,209,206,191,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,202,203,204,205,206,207,208,209,191,202,203,204,205,206,207,208,0,0,202,203,204,205,206,207,208,209,0,124,124,124,124,124,124,59,210,83,59,0,83,210,210,210,210,210,210,59,210,210,210,210,134,134,210,134,210,134,0,134,211,210,0,134,0,0,134,134,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,134,210,210,83,83,59,59,211,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,134,210,83,59,211,0,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,0,0,0,0,230,230,230,0,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,230,0,217,217,0,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,217,0,306,306,306,306,306,306,219,0,0,219,0,219,220,219,220,219,220,219,220,220,219,220,219,220,220,219,220,219,220,219,220,220,219,220,220,220,0,0,0,220,219,220,219,220,220,220,219,220,219,220,219,220,219,220,219,220,0,0,0,0,0,0,223,74,75,223,224,216,225,74,75,223,224,216,225,0,225,74,75,223,224,216,225,74,75,223,224,216,225,75,75,225,216,75,216,216,74,74,75,223,224,216,225,74,75,223,224,216,225,74,75,223,224,216,225,74,75,223,224,216,225,75,75,75,225,216,75,74,75,223,224,216,225,75,75,75,74,75,75,223,223,224,224,216,225,225,74,216,75,75,74,75,223,224,216,225,74,75,223,224,216,225,74,224,75,75,75,75,74,75,74,75,75,225,74,74,216,75,216,216,75,75,75,75,75,223,75,75,75,74,75,223,224,216,225,223,224,74,75,223,224,216,225,74,75,223,224,216,225,74,75,223,224,216,225,74,75,223,224,216,225,74,74,75,223,224,216,225,75,224,75,75,75,224,74,74,0,0,228,232,228,232,228,228,232,228,232,232,228,232,228,232,228,232,228,232,232,232,232,232,232,228,228,232,228,232,232,228,232,228,232,228,232,232,232,232,232,232,228,232,228,232,232,232,232,232,232,232,232,232,228,232,228,232,228,232,228,232,228,232,228,232,232,232,232,232,0,0,0,0,0,0,0,226,233,234,226,227,233,234,226,227,226,227,226,227,234,233,234,226,227,233,234,226,227,233,234,226,227,234,233,233,234,226,226,227,227,233,234,226,227,234,233,234,226,227,233,234,226,227,233,234,226,227,227,233,234,226,227,233,234,226,227,234,233,234,234,233,226,226,227,226,227,233,234,226,227,233,234,226,227,233,234,226,227,233,234,226,227,233,234,226,227,227,227,0,0,235,235,235,0,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,235,0,0,235,235,235,235,235,235,235,235,0,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,236,0,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,126,0,126,126,126,126,126,126,126,126,126,126,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,240,240,0,240,240,0,0,0,241,241,245,307,244,241,245,307,244,240,240,244,241,245,307,244,241,245,307,244,241,245,307,244,244,241,245,307,244,307,241,245,307,244,241,245,307,244,241,241,245,307,244,241,245,307,244,241,245,307,244,245,241,245,307,244,0,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,246,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,0,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,251,255,0,0,254,255,0,255,255,0,255,0,0,254,253,0,255,255,0,254,255,0,0,0,254,260,260,258,252,252,260,259,259,259,259,260,258,258,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,261,0,254,255,252,252,252,252,252,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,252,258,259,260,254,261,262,263,264,255,252,252,252,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,258,259,260,261,262,263,264,255,252,252,252,263,263,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,258,259,260,261,262,263,264,255,261,262,261,260,260,259,264,258,258,261,258,259,260,261,262,263,264,255,258,259,260,261,262,263,264,255,263,263,263,261,259,259,263,252,252,252,263,258,264,262,253,252,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,258,259,260,254,261,262,263,264,255,252,258,259,260,261,262,263,264,255,258,259,260,254,261,262,263,264,255,252,260,260,260,263,260,260,260,260,260,259,259,264,259,259,259,264,259,250,250,0,250,0,0,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,257,266,267,257,0,266,0,0,0,0,0,0,257,257,257,257,257,268,266,267,257,268,266,267,257,266,267,257,266,267,257,268,266,267,257,268,266,267,257,268,266,267,257,268,268,266,266,267,267,257,257,268,266,267,257,268,266,267,257,268,266,267,257,268,268,268,268,268,266,267,257,268,268,266,267,257,268,266,267,257,268,266,267,257,268,266,267,257,268,266,267,257,268,266,267,257,0,0,0,308,271,270,308,271,270,270,271,270,271,270,270,308,271,270,308,271,270,308,271,270,271,270,308,271,270,270,308,271,270,308,271,270,270,271,270,308,271,270,308,271,270,308,271,270,270,270,308,271,270,0,0,309,272,272,272,272,272,272,272,272,272,272,272,0,272,272,272,272,272,0,0,0,0,273,0,273,0,0,242,242,242,242,242,242,273,242,273,242,273,242,242,256,256,242,273,242,273,242,273,242,242,242,273,242,273,242,242,242,242,242,242,273,242,273,242,242,242,242,242,242,242,242,256,256,242,242,242,242,242,273,242,273,242,273,242,273,242,242,276,0,276,276,0,276,276,276,276,310,276,276,310,276,276,0,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,277,0,0,0,278,278,278,278,278,278,278,278,278,278,278,278,278,278,278,0,278,0,0,279,215,279,215,279,215,279,215,215,215,279,215,279,215,279,215,215,215,279,215,215,215,215,279,215,215,215,279,215,215,215,279,215,279,215,279,215,215,279,279,279,215,215,215,215,215,215,215,215,215,215,215,279,279,215,215,215,215,215,279,215,279,215,279,215,279,215,279,215,279,215,215,215,215,215],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[2,[1]]],[[2,[1]]]],[[]],[[],[[2,[3]]]],[4],[4],[4],[4],[5,[[7,[[2,[6]]]]]],[4],[[[10,[8,9]]]],[4],[[2,11],12],[[[2,[13]],11],12],[[[10,[[0,[8,13]],[0,[9,13]]]],11],12],[[]],[[]],[[[2,[14]],15,16],[[10,[[20,[[19,[[18,[[17,[14]]]]]]]],14]]]],[[[2,[14]],15,16],[[10,[[21,[16]],16]]]],[[],4],[[],4],[[[2,[14]],14]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[10,[8,9]]],22],[[[2,[14]],15,16]],[[[2,[23]],24],7],[[]],[[],25],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,[[27,28]],[[]],[[]],[27],[4],[4],[4],[[]],[[],4],[[]],[16,27],0,[27,4],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],15],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[15,15],[[]],[[[30,[14,[29,[14]]]],4],[[29,[14]]]],[[[30,[14,[29,[14]]]],4,4],[[31,[[29,[14]]]]]],0,[[2,32],33],[[2,32],33],[[[30,[14,[29,[14]]]],[34,[14]]],[[29,[14]]]],0,[[[30,[29]],32],[[31,[29]]]],[32,[[31,[33]]]],[32,[[31,[33]]]],[[[35,[14]],[31,[14]],[36,[14]],[37,[14]]],[[30,[14,[29,[14]]]]]],0,[[],30],[4],[4],[4],[4],[4],[4],[4],[4],[5,[[7,[15]]]],[4],[4],[4],[4],[[[30,[14,[29,[14]]]]],[[29,[14]]]],[[15,15],38],[[],38],[[15,11],12],[[]],[[]],[[]],[[]],[[[0,[39,40]],41],42],[[15,43]],[35],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[[30,[14,[29,[14]]]],4,4],[[29,[14]]]],0,[[15,24],7],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[[30,[14,[29,[14]]]],44,4],[[29,[14]]]],0,[[[30,[14,[29,[14]]]],4],[[29,[14]]]],[[[30,[14,[29,[14]]]],4,4],[[31,[[29,[14]]]]]],[[[30,[14,[29,[14]]]],4],[[29,[14]]]],[[[30,[14,[29,[14]]]],4,4],[[31,[[29,[14]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[45,45],[[]],[[45,45],46],[4,33],0,[[[48,[47]]],49],[[],33],0,[4],[4],[4],[4],[4],[4],[5,[[7,[45]]]],0,[4],[4],[4],[[45,45],38],[[],38],[[45,11],12],[[]],[[]],[[]],[[[48,[47]]],[[37,[47]]]],[[[48,[47]]],[[22,[[51,[47,[50,[47]]]]]]]],[[[48,[47]]],[[36,[47]]]],[[[48,[47]],49],[[50,[47]]]],[[[0,[39,40]],41],42],[[45,43]],[52,33],0,[[],4],[[],4],[[],4],[[]],[[]],[[]],[45,38],[[[48,[47]]],47],0,[[45,[54,[53,45]]],25],0,[[45,[54,[53,45]]],25],[[45,45],[[22,[46]]]],0,0,0,[[45,24],7],0,0,[[45,[54,[53,45]]],25],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[[48,[47]]],[[51,[47,[50,[47]]]]]],0,[[]],[[]],[[]],[[4,44],33],0,[4,33],[4,33],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[57,[[0,[55,56]]]]],[[7,[[58,[[0,[55,56]]]],59]]]],[60,60],[[[61,[[0,[1,55]]]]],[[61,[[0,[1,55]]]]]],[[[62,[[0,[1,55]]]]],[[62,[[0,[1,55]]]]]],[[[58,[[0,[1,55]]]]],[[58,[[0,[1,55]]]]]],[[]],[[]],[[]],[[]],0,0,0,[[[31,[[63,[55]]]]],[[57,[55]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[5,[[7,[60]]]],[5,[[7,[[61,[55]]]]]],[5,[[7,[[62,[[0,[3,55]]]]]]]],[5,[[7,[[58,[[0,[3,55]]]]]]]],[[[57,[[0,[55,56]]]],38],[[57,[[0,[55,56]]]]]],0,0,[4],[4],[4],[4],[4],[4],0,0,0,[[[58,[[0,[55,56]]]],[65,[[64,[[0,[55,56]]]]]],[64,[[0,[55,56]]]]],[[66,[[0,[55,56]]]]]],0,[[60,11],12],[[[61,[[0,[13,55]]]],11],12],[[[62,[[0,[13,55]]]],11],12],[[[58,[[0,[13,55]]]],11],12],[[67,11],12],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[16,60],[[[28,[[63,[55]]]],38],60],[[[28,[[63,[55]]]],68],60],[69,60],0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[60,16],[[60,70],69],[[],38],[[]],[[[57,[[0,[55,56]]]],[31,[[71,[[0,[55,56]]]]]]],[[57,[[0,[55,56]]]]]],0,0,[[[57,[[0,[55,56]]]],[22,[4]]],[[57,[[0,[55,56]]]]]],0,[[]],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[[75,[[74,[55]]]],55,55,8,55],55],0,0,0,0,[[[58,[55]]],[[77,[[76,[55]]]]]],[[[57,[[0,[55,56]]]],4],[[57,[[0,[55,56]]]]]],0,[[[57,[[0,[55,56]]]],4],[[57,[[0,[55,56]]]]]],0,0,0,0,0,[[]],[[]],[[]],0,0,[[[57,[[0,[55,56]]]],[22,[[31,[[78,[[0,[55,56]]]]]]]]],[[57,[[0,[55,56]]]]]],[[52,[28,[[63,[55]]]],[79,[55]],[50,[55]],38],[[51,[55,[50,[55]]]]]],[[60,24],7],[[[61,[55]],24],7],[[[62,[55]],24],7],[[[58,[55]],24],7],[[[58,[55]],[77,[[76,[55]]]]]],[[[57,[[0,[55,56]]]],[77,[[76,[[0,[55,56]]]]]]],[[57,[[0,[55,56]]]]]],0,0,[[]],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[80,[[7,[60]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[],[[82,[[28,[60]]]]]],[[[82,[[28,[60]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[4,4],0,0,0,[[]],[[]],[[[76,[[0,[1,47]]]]],[[76,[[0,[1,47]]]]]],[[]],0,0,[[[79,[47]],42],[[22,[[76,[47]]]]]],[4],[4],[5,[[7,[[76,[47]]]]]],[4],[[[76,[[0,[13,47]]]],11],12],[[]],[[],4],[[]],0,0,0,[[[76,[47]],24],7],[[]],[[],7],[[],7],[[],26],0,[[]],0,[[]],[[]],[[[79,[[0,[1,47]]]]],[[79,[[0,[1,47]]]]]],[[]],[4,[[7,[[79,[47]],83]]]],0,0,0,0,[4],[4],[5,[[7,[[79,[47]]]]]],[4],[[[79,[[0,[13,47]]]],11],12],[[]],[[],4],[[]],[[[79,[47]],24],7],[[]],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[85,[84]],[85,[84]]],[[85,[84]]]],[[[87,[[0,[86,1]],1]],[87,[[0,[86,1]],1]]]],0,[[[85,[[0,[84,88]]]],60],[[85,[[0,[84,88]]]]]],[36],[[[89,[1]],36],[[89,[1]]]],[[[90,[1]],36],[[90,[1]]]],[[[85,[[0,[84,1]]]],36],[[85,[[0,[84,1]]]]]],[[[91,[84,1]],36],[[91,[84,1]]]],0,0,[[],[[87,[[34,[47]],92]]]],[[],[[85,[[91,[[85,[[90,[47]]]],92]]]]]],0,[[[87,[[34,[55]],45]]],[[87,[[34,[55]],45]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[87,[[34,[55]],45]],32],[[87,[[34,[55]],45]]]],[[32,[29,[14]]],[[29,[14]]]],[44,87],[44,87],[[[36,[1]]],[[36,[1]]]],[[[93,[1]]],[[93,[1]]]],[94,94],[[[89,[1]]],[[89,[1]]]],[[[90,[1]]],[[90,[1]]]],[[[85,[1]]],[[85,[1]]]],[53,53],[95,95],[96,96],[[[91,[1,1]]],[[91,[1,1]]]],[[[97,[1,1]]],[[97,[1,1]]]],[49,49],[[[98,[1,1]]],[[98,[1,1]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[93,[99]],[93,[99]]],46],[[53,53],46],[[4,[22,[[100,[55]]]]],[[87,[[34,[55]],45]]]],0,[[],49],[[8,[31,[[87,[[34,[14]],[0,[88,92]]]]]]],[[87,[[34,[14]],[0,[88,92]]]]]],[[8,[31,[[85,[[91,[[85,[[90,[14]]]],[0,[88,92]]]]]]]]],[[85,[[91,[[85,[[90,[14]]]],[0,[88,92]]]]]]]],[[],87],[[[34,[55]],[22,[[100,[55]]]]],[[87,[[34,[55]],45]]]],[[],87],0,0,[[[87,[[34,[55]],45]]],[[87,[[34,[55]],45]]]],[[],32],[[],[[98,[3]]]],[[87,42,42],42],[[[85,[91]],42,42],42],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[5,[[7,[[93,[6]]]]]],[5,[[7,[94]]]],[5,[[7,[[89,[6]]]]]],[5,[[7,[95]]]],[5,[[7,[96]]]],[5,[[7,[[97,[6,6]]]]]],[5,[[7,[[98,[6,6]]]]]],[[[87,[[34,[55]],45]]],[[87,[[34,[55]],45]]]],[87,87],[[[85,[91]]],[[85,[91]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],0,[[[93,[88]],[93,[88]]],38],[[94,94],38],[[[89,[88]],[89,[88]]],38],[[[90,[88]],[90,[88]]],38],[[[85,[88]],[85,[88]]],38],[[53,53],38],[[95,95],38],[[96,96],38],[[[91,[88,88]],[91,[88,88]]],38],[[[97,[88,88]],[97,[88,88]]],38],[[49,49],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],38],[[],[[7,[74,101]]]],[[[87,[[34,[47]],[0,[88,92]]]],[50,[47]],47,[102,[47]],[103,[47]]],[[7,[47,[101,[[0,[88,92]]]]]]]],[[[87,[47,92]],[50,[47]],47,42,[102,[47]]],[[7,[47,[101,[92]]]]]],[[[85,[[91,[47,92]]]],[50,[47]],47,42,[102,[47]]],[[7,[47,[101,[92]]]]]],[[[85,[[91,[[85,[[90,[47]]]],[0,[88,92]]]]]],[50,[47]],47,[102,[47]],[103,[47]]],[[7,[47,[101,[[0,[88,92]]]]]]]],[[[28,[[97,[47,92]]]],[50,[47]],47,[102,[47]],[36,[47]],[37,[47]]],[[7,[47,[101,[92]]]]]],[[[87,[[34,[47]],[0,[88,92]]]],[50,[47]],47,[102,[47]],[36,[47]],[37,[47]]],[[7,[47,[101,[[0,[88,92]]]]]]]],[[[85,[[91,[[85,[[90,[47]]]],[0,[88,92]]]]]],[50,[47]],47,[102,[47]],[36,[47]],[37,[47]]],[[7,[47,[101,[[0,[88,92]]]]]]]],[[[87,[[34,[47]],[0,[88,92]]]],[103,[47]]],[[87,[47,[0,[88,92]]]]]],[[[85,[[91,[[85,[[90,[47]]]],[0,[88,92]]]]]],[103,[47]]],[[87,[47,[0,[88,92]]]]]],[[[98,[[87,[[34,[47]],[0,[88,92]]]],[0,[88,92]]]],[103,[47]]],[[98,[[87,[47,[0,[88,92]]]],[0,[88,92]]]]]],[[[87,[47,92]],[103,[47]]],[[51,[47,[50,[47]]]]]],[[[87,[[34,[47]],[0,[88,92]]]],[103,[47]]],[[51,[47,[50,[47]]]]]],[[[85,[[91,[[85,[[90,[47]]]],[0,[88,92]]]]]],[103,[47]]],[[51,[47,[50,[47]]]]]],[[[85,[[91,[47,92]]]],[103,[47]]],[[51,[47,[50,[47]]]]]],[[[87,[[34,[55]],[0,[104,13,1]]]],11],12],[[[101,[13]],11],12],[[[101,[13]],11],12],[[[93,[13]],11],12],[[94,11],12],[[[89,[13]],11],12],[[[90,[13]],11],12],[[[85,[13]],11],12],[[53,11],12],[[95,11],12],[[96,11],12],[[[91,[13,13]],11],12],[[[97,[13,13]],11],12],[[49,11],12],[[[98,[13,13]],11],12],[[]],[94,34],[42,[[34,[14]]]],[89,34],[89,[[87,[34]]]],[94,[[87,[34]]]],[42,[[87,[[34,[14]]]]]],[42,[[87,[14]]]],[34,[[87,[34]]]],[[]],[[]],[[]],[[]],[[]],[89,90],[[]],[94,90],[[]],[105],[[],85],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[106,[[22,[49]]]],[42,[[22,[49]]]],[69,95],0,[[],37],[[],[[22,[[51,[50]]]]]],[[],36],[49,50],[[[0,[39,40]],41],42],[[[0,[39,40]],41],42],[[[0,[39,40]],41],42],[[[0,[39,40]],41],42],[[[93,[39]],43]],[[[85,[39]],43]],[[53,43]],[[95,43]],0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[95,70],69],[[],38],[94,38],[[[89,[55]]],38],[[[90,[55]]],38],[[[85,[[0,[104,1]]]]],38],[[[85,[[0,[84,88]]]]],38],[[[85,[84]]],38],0,[[[50,[47]]],47],[[]],[[[54,[53]]],25],[[[93,[[0,[104,13]]]]],25],[[94,[54,[53,94]]],25],[[[89,[55]],[54,[53,[89,[55]]]]],25],[[[90,[55]],[54,[53,[90,[55]]]]],25],[[[85,[[0,[104,1]]]],[54,[53,[85,[[0,[104,1]]]]]]],25],[[[87,[[34,[55]],[0,[104,13,1]]]]],[[31,[25]]]],[[[85,[[91,[[85,[[90,[55]]]],[0,[104,13,1]]]]]]],[[31,[25]]]],[[[87,[[0,[107,1,108,86,88]],[0,[99,92,39]]]],[109,[[0,[99,92,39]]]]],[[7,[[98,[[87,[[0,[107,1,108,86,88]],[0,[99,92,39]]]],[0,[99,92,39]]]],[101,[[0,[99,92,39]]]]]]]],[[[85,[[91,[[0,[107,1,108,86,88]],[0,[99,92,39]]]]]],[109,[[0,[99,92,39]]]]],[[7,[[98,[[87,[[0,[107,1,108,86,88]],[0,[99,92,39]]]],[0,[99,92,39]]]],[101,[[0,[99,92,39]]]]]]]],[[]],[55,[[87,[[34,[55]],45]]]],[14,[[87,[[34,[14]],[0,[88,92]]]]]],[[],[[89,[1]]]],[[],[[90,[1]]]],[[],[[85,[[0,[84,1]]]]]],[14,[[85,[[91,[[85,[[90,[14]]]],[0,[88,92]]]]]]]],[[],[[91,[84,1]]]],[[[98,[92]],110],[[98,[92]]]],0,[[[87,[[34,[14]],[0,[88,92]]]],14]],[[[85,[[0,[84,88]]]],[85,[[0,[84,88]]]]],[[85,[[0,[84,88]]]]]],[[[87,[[0,[86,108,88,1]],[0,[88,1]]]],[87,[[0,[86,108,88,1]],[0,[88,1]]]]]],[[[85,[84]]],[[85,[84]]]],[[[54,[53]]],25],[[[93,[[0,[104,13]]]]],25],[[94,[54,[53,94]]],25],[[[89,[55]],[54,[53,[89,[55]]]]],25],[[[90,[55]],[54,[53,[90,[55]]]]],25],[[[85,[[0,[104,1]]]],[54,[53,[85,[[0,[104,1]]]]]]],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[[87,[[34,[55]],[0,[104,13,1]]]]],25],[[[85,[[91,[[85,[[90,[55]]]],[0,[104,13,1]]]]]]],25],0,[[],[[85,[[0,[84,88]]]]]],[[[93,[111]],[93,[111]]],[[22,[46]]]],[[53,53],[[22,[46]]]],[[[87,[[34,[55]],45]],42],[[87,[[34,[55]],45]]]],[[[85,[84]],42],[[85,[84]]]],[[14,4],[[31,[14]]]],0,[112],0,[[[93,[23]],24],7],[[94,24],7],[[[89,[23]],24],7],[[95,24],7],[[96,24],7],[[[97,[23,23]],24],7],[[[98,[23,23]],24],7],[[[87,[[34,[55]],45]]],[[87,[[34,[55]],45]]]],[87,87],[[[85,[91]]],[[85,[91]]]],[[[85,[84]],[85,[84]]],[[85,[84]]]],[[[54,[53]]],25],[[[93,[[0,[104,13]]]]],25],[[94,[54,[53,94]]],25],[[[89,[55]],[54,[53,[89,[55]]]]],25],[[[90,[55]],[54,[53,[90,[55]]]]],25],[[[85,[[0,[104,1]]]],[54,[53,[85,[[0,[104,1]]]]]]],25],[[[87,[[34,[55]],[0,[104,13,1]]]]],25],[[[85,[[91,[[85,[[90,[55]]]],[0,[104,13,1]]]]]]],25],[49,[[22,[106]]]],[[],7],[[[89,[1]]],[[7,[[89,[1]]]]]],[[[90,[1]]],[[7,[[90,[1]]]]]],[[[85,[[0,[84,1]]]]],[[7,[[85,[[0,[84,1]]]]]]]],[[[91,[84,1]]],[[7,[[91,[84,1]]]]]],[[],22],[[[89,[1]]],22],[[[90,[1]]],22],[[[85,[[0,[84,1]]]]],22],[[[91,[84,1]]],22],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[54,[53,4]],[31,[97]]]],[[[87,[[34,[47]],92]]],[[31,[[97,[47,92]]]]]],[[[90,[92]],[54,[53,4]],[31,[[97,[92]]]]]],[[[85,[113]],[54,[53,4]],[31,[97]]]],[[[85,[[91,[[85,[[90,[47]]]],92]]]]],[[31,[[97,[47,92]]]]]],[[[98,[[87,[[34,[47]],[0,[13,88,92]]]],[0,[13,88,92]]]],[103,[47]],47,[102,[47]]]],[[[98,[[31,[[97,[47,[0,[92,13]]]]]],[0,[92,13]]]],[103,[47]],47,[102,[47]]]],[[],25],[[],25],[49,[[22,[42]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[42,[[87,[[34,[55]],45]]]],[[],[[87,[[34,[55]],45]]]],[[],[[87,[[34,[55]],45]]]],[[],[[87,[[34,[55]],45]]]],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[[34,[14]],[36,[14]],[37,[14]]],14],[[[85,[[90,[14]]]],[36,[14]],[37,[14]]],14],[[],[[51,[50]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[44,4,[22,[[100,[55]]]]],[[87,[[34,[55]],45]]]],[[],[[85,[84]]]],0,0,0,0,0,[[[29,[14]]],[[29,[14]]]],[[]],[32],[[4,[22,[100]]]],[[[29,[14]],[29,[14]]],[[29,[14]]]],[[34,[22,[100]]]],[[[29,[14]]],[[29,[14]]]],[[]],[[]],[[]],[42],[[]],[42],[[]],[[]],[[]],[[44,4,[22,[100]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[44,44],[52,52],[114,114],[[[63,[[0,[1,55]]]]],[[63,[[0,[1,55]]]]]],[[]],[[]],[[]],[[]],[[44,44],46],[[52,52],46],0,[[4,4]],[[]],[[4,[22,[4]],[22,[4]],4]],[115,[[63,[[0,[55,56]]]]]],[115,[[63,[[0,[55,56]]]]]],[[4,4]],[115,[[63,[[0,[55,56]]]]]],[115,[[63,[[0,[55,56]]]]]],[[4,[28,[116]],117]],[4],[115,[[63,[55]]]],[[4,117]],[[115,[65,[55]]],[[63,[55]]]],[[115,[118,[55]],[22,[[118,[55]]]]],[[63,[55]]]],[4],[[115,[65,[[65,[[0,[55,56]]]]]]],[[63,[[0,[55,56]]]]]],[[4,[65,[115]],[28,[[31,[[0,[55,56]]]]]]]],[4],[[4,16,119]],[[4,16],[[31,[[63,[[0,[55,56]]]]]]]],[[4,116,117]],[[[65,[115]]],[[31,[[63,[55]]]]]],[[4,4]],[[],52],[[],[[63,[[0,[3,55]]]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[]],[5,[[7,[44]]]],[5,[[7,[52]]]],[5,[[7,[[63,[55]]]]]],[4],[4],[4],[4],[4],[[[63,[55]]],55],[[44,44],38],[[52,52],38],[[114,114],38],[[],38],[[],38],[[],38],[[[31,[[63,[[0,[55,56]]]]]],4],4],[[[31,[[63,[[0,[55,56]]]]]],4,4,[28,[116]],117]],[[[31,[[63,[[0,[55,56]]]]]],4]],[[[31,[[63,[[0,[55,56]]]]]],4,117]],[[[31,[[63,[55]]]],4,115,[118,[55]],[22,[[118,[55]]]]]],[[[31,[[63,[[0,[55,56]]]]]],4,117]],[[[31,[[63,[[0,[55,56]]]]]],4],4],[[[31,[[63,[[0,[55,56]]]]]],4]],[[[31,[[63,[55]]]],4,4],4],[[[31,[[63,[55]]]],4,4],4],[[[31,[[63,[[0,[55,56]]]]]],4]],[[[31,[[63,[[0,[55,56]]]]]],16,119,4],4],[[[31,[[63,[[0,[55,56]]]]]],4,116,117]],[[[31,[[63,[[0,[55,56]]]]]],4],4],[[44,11],12],[[52,11],12],[[114,11],12],[[114,11],12],[[[63,[[0,[13,55]]]],11],12],[[]],[[]],[[]],[[]],[120,[[63,[[0,[121,55]]]]]],[[[58,[55]]],[[122,[55]]]],[[]],[16,44],[16,52],[106,[[22,[52]]]],[42,[[22,[52]]]],[69,44],[69,52],0,[[[122,[55]]],25],[[[0,[39,40]],41],42],[[[0,[39,40]],41],42],[[44,43]],[[52,43]],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[44,16],[52,16],[[44,70],69],[[52,70],69],[16,38],[16,38],[[],[[31,[123]]]],[[52,115,[31,[55]]],[[63,[55]]]],[[4,[28,[[63,[55]]]]],[[122,[55]]]],[[]],[[]],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[44,44],[[22,[46]]]],[[52,52],[[22,[46]]]],[112],[[[63,[[0,[55,56]]]]],[[0,[55,56]]]],0,[[[63,[[0,[55,56]]]]],[[65,[[65,[[0,[55,56]]]]]]]],[[]],[[]],[[44,24],7],[[52,24],7],[[[63,[55]],24],7],[[[122,[55]],24],7],[44,4],[52,[[22,[106]]]],[[]],[[]],[[]],[[]],[[],25],[52,[[22,[42]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[80,[[7,[44]]]],[80,[[7,[52]]]],[[],7],[[],7],[[],7],[[],7],[[],7],0,[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[],81],[[[63,[55]]],55],[[],[[82,[[28,[44]]]]]],[[],[[82,[[28,[52]]]]]],[[[82,[[28,[44]]]]]],[[[82,[[28,[52]]]]]],[[[63,[[0,[55,56]]]],4,[65,[[31,[[0,[55,56]]]]]],[126,[124,[125,[124]]]],[28,[[0,[55,56]]]]],[[7,[25]]]],[[[63,[[0,[55,56]]]],4,[65,[[31,[[0,[55,56]]]]]],[58,[[0,[55,56]]]]],[[7,[25]]]],[[[63,[55]],4,[65,[[31,[55]]]]],[[7,[25]]]],[[[63,[55]],4,[65,[[31,[55]]]],[58,[55]]],[[7,[25]]]],[[[63,[55]],4,[65,[[31,[55]]]],[58,[55]]],[[7,[25]]]],[[[63,[55]],4,[65,[[31,[55]]]],[28,[55]]],[[7,[25]]]],[[[63,[[0,[55,56]]]],4,[65,[[31,[[0,[55,56]]]]]]],[[7,[25]]]],[[[63,[55]],4,[65,[[31,[55]]]]],[[7,[25]]]],[[[63,[[0,[55,56]]]],4,[65,[[31,[[0,[55,56]]]]]],[58,[[0,[55,56]]]],[28,[[0,[55,56]]]]],127],[[]],[[]],[[]],[[]],[[]],0,[[[63,[55]],128],129],[115,[[63,[[0,[55,56]]]]]],0,0,0,0,[[]],[[]],0,[4],[4],[4],[[[63,[55]]],[[120,[[121,[55]]]]]],[[]],[[[63,[55]]],[[120,[[121,[55]]]]]],[69,[[120,[130]]]],[[],4],[[]],[[[120,[131]],70],69],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[],7],[[],7],0,[[],26],[[],81],[[]],0,0,0,0,0,0,0,0,[[55,[51,[55,[50,[55]]]],[50,[55]],[28,[[63,[55]]]],[65,[[31,[55]]]],55,55,55,55,[28,[[51,[55,[50,[55]]]]]],[0,[132,40]],133,4],[[7,[[51,[55,[50,[55]]]],134]]]],[[]],[[]],[[[135,[1]]],[[135,[1]]]],[[]],[[[135,[47]],38],[[31,[[33,[47]]]]]],[4],[4],[5,[[7,[[135,[[0,[136,137]]]]]]]],[4],0,[[[135,[13]],11],12],[[]],[[],4],[[]],0,[133,[[135,[86]]]],[[[135,[[0,[136,137]]]],24],7],[[55,[51,[55,[50,[55]]]],[50,[55]],[28,[[63,[55]]]],[65,[[31,[55]]]],55,55,133,4],[[7,[[31,[[31,[55]]]],134]]]],[[]],[[],7],[[],7],[[],26],[[55,110,4,[50,[55]],[28,[[63,[55]]]],[65,[[31,[55]]]],55,55,[28,[[51,[55,[50,[55]]]]]],133,4]],[[]],[[[31,[47]],[50,[47]],4,[0,[132,40]]],[[51,[47,[50,[47]]]]]],0,0,0,0,0,0,0,[138,138],[[]],[[]],[[]],[[]],[[]],[[]],[139,139],[[[138,[1]]],[[138,[1]]]],[[[140,[[0,[1,47]]]]],[[140,[[0,[1,47]]]]]],[[]],[[]],[[]],0,[[[28,[[63,[[0,[55,56]]]]]],[31,[[71,[[0,[55,56]]]]]],[22,[[31,[[78,[[0,[55,56]]]]]]]],[79,[[0,[55,56]]]],4],[[7,[[22,[[140,[[0,[55,56]]]]]],139]]]],[[],[[138,[3]]]],[4],[4],[4],[4],[4],[4],[5,[[7,[[138,[6]]]]]],[5,[[7,[[140,[[0,[3,47]]]]]]]],[4],[4],[4],0,[[139,11],12],[[139,11],12],[[[138,[13]],11],12],[[[140,[[0,[13,47]]]],11],12],[[]],[[]],[[]],[[138,123]],[[138,123]],[[],4],[[],4],[[],4],[[]],[[]],[[]],0,0,0,0,[[138,110],138],[112],0,0,0,0,[[[138,[23]],24],7],[[[140,[47]],24],7],0,0,[[]],[[]],[[]],[[],25],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[133,[28,[[63,[55]]]]],[[31,[[31,[[141,[55]]]]]]]],[142,142],[68,68],[133,133],[143,143],[[[144,[1]]],[[144,[1]]]],[145,145],[[[146,[1,1]]],[[146,[1,1]]]],[147,147],[123,123],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[123,123],46],0,[68,133],[[[28,[[63,[55]]]],38],[[22,[133]]]],[[],142],[[],68],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[]],[[]],[[]],[5,[[7,[142]]]],[5,[[7,[68]]]],[5,[[7,[133]]]],[5,[[7,[143]]]],[5,[[7,[[144,[6]]]]]],[5,[[7,[145]]]],[5,[[7,[[146,[6,6]]]]]],[5,[[7,[123]]]],[5,[[7,[148]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],0,[[142,142],38],[[68,68],38],[[123,123],38],[[],38],[[],38],[[],38],[[[148,[[0,[86,108,1,107,[121,[42]]]]]],[0,[86,108,1,107,[121,[42]]]],[0,[86,108,1,107,[121,[42]]]]],[[0,[86,108,1,107,[121,[42]]]]]],[[[144,[92]],110],[[0,[86,[149,[92]]]]]],[[[146,[[0,[86,108,1,107,[121,[42]]]],[0,[86,108,1,107,[121,[42]]]]]],[0,[86,108,1,107,[121,[42]]]],[0,[86,108,1,107,[121,[42]]]]],[[0,[86,108,1,107,[121,[42]]]]]],[[[146,[[144,[92]],145]],[0,[86,108,1,[149,[92]],107,[121,[42]]]],[0,[86,108,1,[149,[92]],107,[121,[42]]]],110],[[0,[86,108,1,[149,[92]],107,[121,[42]]]]]],0,[[142,11],12],[[68,11],12],[[133,11],12],[[143,11],12],[[145,11],12],[[[146,[13,13]],11],12],[[147,11],12],[[123,11],12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[16,142],[16,68],[16,133],[[52,44],[[22,[123]]]],[[[28,[[63,[55]]]]],142],[[[28,[[63,[55]]]],38],68],[69,142],[69,68],[69,123],[[[0,[39,40]],41],42],[[123,43]],[[142,123]],[[142,123]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[142,16],[68,16],[133,16],[142],[[]],[[142,70],69],[[68,70],69],[[123,70],69],[[],38],[[],38],[[],38],[[],147],0,[142,38],[147,4],[[]],[[]],[[]],0,[123,[[31,[[141,[14]]]]]],[123,16],0,[123,4],0,[[38,38,38,38],142],[[142,38,38],68],[[4,16,68],133],[147,22],[147,22],[[]],[[]],[[]],[[147,4],22],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[],150],[[123,123],[[22,[46]]]],0,0,[[[146,[[144,[92]],145]],110],[[148,[[0,[86,[149,[92]],107,[121,[42]]]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[133,[79,[55]],[28,[[63,[55]]]]]],[[142,24],7],[[68,24],7],[[133,24],7],[[143,24],7],[[[144,[23]],24],7],[[145,24],7],[[[146,[23,23]],24],7],[[123,24],7],[[148,24],7],[147],[123,[[22,[151]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[80,[[7,[142]]]],[80,[[7,[68]]]],[80,[[7,[133]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[],81],[[],81],0,0,[[],[[82,[[28,[142]]]]]],[[],[[82,[[28,[68]]]]]],[[],[[82,[[28,[133]]]]]],[[[82,[[28,[142]]]]]],[[[82,[[28,[68]]]]]],[[[82,[[28,[133]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[152,152],[[[78,[1]]],[[78,[1]]]],[[[153,[1]]],[[153,[1]]]],[[]],[[]],[[]],[[],[[31,[[33,[14]]]]]],0,[4],[4],[4],[4],[4],[4],[5,[[7,[152]]]],[5,[[7,[[78,[6]]]]]],[4],[4],[4],0,[[152,11],12],[[[78,[13]],11],12],[[[153,[13]],11],12],[[]],[78,152],[154,152],[[]],[[[156,[[155,[55]]]]],[[78,[55]]]],[[[157,[[155,[55]]]]],[[153,[55]]]],[[]],[78,158],0,0,0,[[],4],[[],4],[[],4],[[]],[[]],[[]],[78,38],[78,4],0,[[152,24],7],[[[78,[23]],24],7],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[4],[4],[4],[4],[4],[4],[4],[4],[4],0,[[[153,[55]]],[[157,[[121,[55]]]]]],[[]],[152,154],[[]],[[]],[[[78,[55]]],[[156,[[121,[55]]]]]],[69,[[157,[130]]]],[69,154],[69,[[156,[130]]]],0,0,0,[[],4],[[],4],[[],4],[[]],[[]],[[]],[[[157,[131]],70],69],[[154,70],69],[[[156,[131]],70],69],0,[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],81],[[],81],[[],81],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[151,151],[159,159],[[[71,[1]]],[[71,[1]]]],[[]],[[]],[[]],[[[28,[[161,[160]]]],[22,[[161,[160]]]],[22,[[161,[160]]]]],[[161,[160]]]],[[[0,[86,108,1]],[0,[86,108,1]],162,[0,[86,108,1]]],[[0,[86,108,1]]]],0,[4],[4],[4],[4],[4],[4],[5,[[7,[151]]]],[5,[[7,[159]]]],[4],[4],[4],[[151,151],38],[[159,159],38],[[],38],[[],38],[[151,11],12],[[159,11],12],[[[71,[13]],11],12],[[]],[[]],[[[163,[[155,[55]]]]],[[71,[55]]]],[[]],[[[0,[39,40]],41],42],[[[0,[39,40]],41],42],[151,[[71,[47]]]],[[[71,[47]]],38],[[151,43]],[[159,43]],0,[[159,151]],[[159,151]],[[],4],[[],4],[[],4],[[]],[[]],[[]],[159],[[[71,[47]]],38],[[[71,[47]]],4],0,0,[[151,24],7],[[159,24],7],[151,4],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[[71,[47]]],4],0,0,0,[[]],[[]],0,[4],[4],[4],[[[71,[55]]],[[163,[[121,[55]]]]]],[[]],[69,[[163,[130]]]],0,[[],4],[[]],[[[163,[131]],70],69],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[],7],[[],7],[[],26],[[],81],[[]],0,0,[[],[[71,[14]]]],0,[[],[[71,[14]]]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[164,[[0,[1,47]]]]],[[164,[[0,[1,47]]]]]],[[[165,[[0,[1,47]]]]],[[165,[[0,[1,47]]]]]],[[[66,[[0,[1,47]]]]],[[66,[[0,[1,47]]]]]],[[[166,[[0,[1,47]]]]],[[166,[[0,[1,47]]]]]],[[[167,[[0,[1,47]]]]],[[167,[[0,[1,47]]]]]],[[[168,[[0,[1,47]]]]],[[168,[[0,[1,47]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[55,55,4],[[65,[[31,[55]]]]]],[[[65,[[31,[55]]]],55,55,4]],[[],[[71,[55]]]],0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[170,[3]]]],[4],[4],[4],[[]],[[],4],[[]],[[],7],[[],7],[[],26],[[]],0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[171,[3]]]],[4],[4],[4],[[]],[[[65,[[31,[[0,[55,9]]]]]],[0,[55,9]],[0,[55,9]],4],[[0,[55,9]]]],[[],4],[[]],[[],7],[[],7],[[],26],[[]],0,0,0,[[],15],[[]],[[]],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[172,[3]]]],[4],[4],[4],[4],[4],[4],[[]],[[]],[[[65,[[31,[[0,[14,9]]]]]],4,[0,[14,9]],[28,[38]]],[[173,[[0,[14,9]]]]]],[[],4],[[],4],[[]],[[]],0,[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,0,0,0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[174,[3]]]],[4],[4],[4],[[]],[[],4],[[]],[[],7],[[],7],[[],26],[[]],0,0,0,[[]],[[]],[116,116],[[]],[[[31,[117]],[28,[116]],117],[[65,[[31,[55]]]]]],[4],[4],[4],[[116,116],38],[[],38],[[[65,[[31,[55]]]],[65,[55]],[65,[55]]]],[[116,11],12],[[]],[[],4],[[]],[116,55],[[]],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[],117],[[],117],[[]],[[],117],[[],[[65,[117]]]],[[],[[65,[14]]]],[[],[[65,[117]]]],[[],65],[[],[[65,[14]]]],[[],[[65,[14]]]],[[],[[65,[14]]]],[[],[[65,[117]]]],[[],[[65,[117]]]],[[]],[[]],[[]],0,0,0,0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[65,[[29,[55]]]]],[[29,[55]]]],[[[65,[[29,[55]]]],[65,[[29,[55]]]],[65,[[29,[55]]]],[65,[[29,[55]]]]],[[65,[[29,[55]]]]]],[[[65,[[29,[55]]]],[65,[[29,[55]]]],[65,[[29,[55]]]],[65,[[29,[55]]]],[65,[[29,[55]]]]],[[65,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[175,[3]]]],[4],[4],[4],[[]],[[],4],[[]],[[],7],[[],7],[[],26],[[]],0,[52,16],[[52,[2,[55]],32],[[33,[55]]]],[52,4],[[],[[65,[52]]]],[[[2,[55]],32],[[33,[55]]]],[[],[[71,[55]]]],0,[[[176,[55]],[65,[55]]]],[[[176,[55]],[65,[55]]]],[[[176,[55]],55]],[[[176,[55]],55]],[[[176,[55]],[65,[55]]]],[[]],[[]],0,0,[[117,117],117],[[117,117],117],[[117,117,117]],[[],[[176,[[0,[3,55]]]]]],[4],[4],[4],[[[176,[55]],[65,[[31,[55]]]],[65,[55]]]],[[[176,[55]],[65,[[31,[55]]]]]],[[[176,[55]],[65,[[31,[55]]]],117]],[[[176,[55]],[65,[[31,[55]]]]]],[[[176,[55]],[65,[[31,[55]]]]]],[[]],0,[[],4],[[]],0,0,[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[],15],[[]],[[]],[[]],[[]],[[[118,[1]]],[[118,[1]]]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[177,[3]]]],[4],[4],[4],[4],[4],[4],[[]],[[]],[[],4],[[],4],[[]],[[]],0,[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,0,0,0,0,[[4,4],[[31,[[63,[55]]]]]],[[4,[65,[[31,[47]]]],[28,[47]]]],0,0,0,[[]],[[]],[[[28,[42]]],[[31,[42]]]],0,[[[28,[42]]],[[31,[42]]]],[[[28,[42]]],42],0,[42,[[31,[42]]]],[4],[4],[4],[42,42],[[[28,[178]]],[[31,[42]]]],[42,[[31,[[29,[55]]]]]],[[]],0,[[],4],[[]],[4,4],[[[28,[178]]],[[31,[178]]]],[4,4],[[[28,[178]]],[[31,[42]]]],[[[28,[42]]],[[31,[42]]]],[[[28,[42]]],[[31,[42]]]],[42,[[31,[42]]]],[[],7],[[],7],[[],26],[[]],0,0,0,[[],15],[[],15],[[]],[[]],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[179,[3]]]],[[],[[180,[3]]]],[4],[4],[4],[4],[4],[4],[[]],[[]],[[],4],[[],4],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[28,[42]]],181],[[[28,[42]]],182],[[[28,[42]]],183],[[[28,[42]],4],184],[[181,4,4],42],[[182,4,4,4],42],[[181,4,4],42],[[182,4,4,4],42],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[181,4,4],42],[[182,4,4,4],42],[[[65,[[31,[55]]]],117]],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[181,4],42],[[182,4,4,4],42],[[181,4,4],42],[[182,4,4,4],42],[[184,4],42],[[183,4,4,4,4],42],[[181,4,4,4],42],[[182,4,4,4,4],42],[[183,4,4,4,4],42],[182,[[31,[42]]]],[181,[[31,[42]]]],[183,[[31,[42]]]],[184,[[31,[42]]]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[[65,[[31,[55]]]],55,[22,[4]]]],[[[65,[[31,[55]]]],[28,[55]],4],[[7,[25]]]],0,0,[[]],[[]],[4],[4],[4],[[[50,[47]],42,47],47],[[[50,[47]],42,47],47],[[]],[[],4],[[]],[[[50,[[0,[47,56]]]]],[[185,[[0,[47,56]]]]]],[[[50,[47]],42],[[64,[47]]]],[[[185,[[0,[47,56]]]]],[[65,[[0,[47,56]]]]]],[[],7],[[],7],[[],26],[[[50,[47]],42],[[64,[47]]]],[[]],[[[50,[47]],42],47],0,0,0,0,0,0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[186,[3]]]],[4],[4],[4],[[]],[[4,[187,[14]],[65,[[31,[14]]]],[65,[14]]]],[[],4],[[]],[4,[[21,[4]]]],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,[[],15],[[],15],[[]],[[]],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[188,[3]]]],[[],[[189,[3]]]],[4],[4],[4],[4],[4],[4],[[]],[[]],[[],4],[[],4],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,[52,16],[[52,[2,[55]],32],[[33,[55]]]],[[],[[65,[52]]]],[[[2,[55]],32],[[33,[55]]]],[[],[[71,[47]]]],[55,[[65,[[31,[55]]]]]],[[55,55,55],[[65,[[31,[55]]]]]],[[55,55],[[65,[[31,[55]]]]]],[[[65,[55]]],[[65,[[31,[55]]]]]],[[[65,[55]]],[[65,[[31,[55]]]]]],[[[65,[[31,[55]]]],55]],[[[65,[[31,[55]]]],55,55,55]],[[[65,[[31,[55]]]],55,55]],[[[65,[[31,[55]]]],[65,[55]]]],[[[65,[[31,[55]]]],[190,[55]]]],[[[65,[[31,[55]]]],[65,[55]]]],[[[65,[[31,[55]]]],55]],[[73,4],[[31,[[82,[191]]]]]],0,0,0,0,[[],15],[[]],[[]],[[]],[[]],[119,119],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[192,[3]]]],[4],[4],[4],[4],[4],[4],[[119,119],38],[[],38],[[[65,[[31,[55]]]],42,16,119]],[[119,11],12],[[]],[[]],[[],4],[[],4],[[]],[[]],[[],[[71,[55]]]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,0,0,0,0,[[],15],[[],15],[[],15],[[],15],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[52,[2,[55]],32],[[33,[55]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],0,[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],0,[[[63,[55]],4,[65,[[31,[55]]]]],[[7,[25]]]],[[[193,[14]]],[[65,[[31,[14]]]]]],0,0,0,0,[[],15],[[]],[[]],[[]],[[]],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[],[[194,[3]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[]],[[]],[[]],0,[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[[65,[[31,[[0,[47,9]]]]]],4,[28,[38]]],[[195,[[0,[47,9]]]]]],0,[[],15],[[]],[[]],[[2,32],[[85,[[91,[[85,[90]],45]]]]]],[[[30,[55,[29,[55]]]],32],[[31,[[29,[55]]]]]],[32,[[31,[[85,[[91,[[85,[90]],45]]]],169]]]],[[55,55,4],[[65,[[31,[55]]]]]],[[],[[196,[3]]]],[4],[4],[4],[[[65,[[31,[55]]]],55,55,4]],[[]],[[],4],[[]],[[],[[71,[55]]]],[4,4],[[],7],[[],7],[[],26],[[]],0,0,0,0,[[]],[[]],0,[[[197,[[0,[1,14]]]]],[[197,[[0,[1,14]]]]]],[[]],[[],[[197,[14]]]],[4],[4],[4],[[[197,[[0,[13,14]]]],11],12],[[[198,[[155,[14]]]]],[[197,[14]]]],[[]],0,[[],4],[[]],0,[[]],[[],7],[[],7],[[],26],0,0,0,0,[[]],0,0,0,0,0,0,[[]],[[]],[4],[4],[4],[[[197,[14]]],[[198,[[121,[14]]]]]],[[]],[69,[[198,[130]]]],0,[[],4],[[]],[[[198,[131]],70],69],0,[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[],7],[[],7],[[],26],0,0,[[],81],0,0,[[]],0,0,0,0,0,0,0,0,[[]],[[]],0,[199,199],[[]],0,[[158,158],199],[[],199],[4],[4],[[]],[[]],[5,[[7,[199]]]],[4],[[199,199],38],[[],38],[[199,11],12],[4,[[65,[199]]]],[[]],[200,199],[16,199],[[],4],[[]],[199,16],[[],38],[[]],[4],[4,115],[[4,4],199],[[]],[201,[[129,[199]]]],[[]],[[]],[[]],0,[[199,24],7],[[]],[[],7],[80,[[7,[199]]]],[[],7],[[],26],[[],[[82,[[28,[199]]]]]],[[[82,[[28,[199]]]]]],[[]],0,[[4,199]],[[115,4,199],115],[[199,128],129],0,[[]],[[]],0,[4],[4],[4],[199,200],[[]],[69,200],[[],4],[[]],[[200,70],69],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],0,[[],7],[[],7],[[],26],[[],81],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[14,[[82,[[202,[14]]]]]],[[4,4,4,4],[[82,[203]]]],[[4,4],[[82,[204]]]],[[4,4,42],[[82,[205]]]],[[73,4,4],[[82,[206]]]],[[73,4,[22,[4]]],[[82,[207]]]],[73,[[82,[208]]]],[[],209],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[209,73]],[[209,73]],[[[65,[[31,[55]]]],4,[28,[[31,[[82,[191]]]]]],209]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[[65,[[31,[55]]]],4,4,4,4,4,[28,[[31,[[82,[191]]]]]],209]],[[[65,[[31,[55]]]],4,4,[28,[[31,[[82,[191]]]]]],209]],[[209,73]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[206,4],[[],4],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[[65,[31]],209,4]],[[[202,[14]],[65,[[31,[14]]]],[209,[14]],4],14],[[203,[65,[[31,[14]]]],[209,[14]],4],14],[[204,[65,[[31,[14]]]],[209,[14]],4],14],[[205,[65,[[31,[14]]]],[209,[14]],4],14],[[206,[65,[[31,[14]]]],[209,[[31,[14]]]],4],14],[[207,[65,[[31,[14]]]],[209,[14]],4],14],[[208,[65,[[31,[14]]]],[209,[14]],4],14],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[],187],[[],187],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[134,134],[210,210],[83,83],[59,59],[211,211],[[]],[[]],[[]],[[]],[[]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[134,11],12],[[134,11],12],[[210,11],12],[[210,11],12],[[83,11],12],[[83,11],12],[[59,11],12],[[59,11],12],[[211,11],12],[[211,11],12],[[]],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[112],[112],[112],[112],[112],[[]],[[]],[[]],[[]],[[]],[[],25],[[],25],[[],25],[[],25],[[],25],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[4],[4],[4],[[[212,[47]],[51,[47,[213,[47]]]]],[[31,[47]]]],[[[212,[47]],[51,[47,[213,[47]]]]],[[31,[47]]]],[[]],[[],4],[[]],[[4,[50,[47]],47],[[212,[47]]]],[[],7],[[],7],[[],26],[[]],[[[22,[60]],38]],[[[22,[60]],38]],[[[22,[60]]],[[109,[45]]]],0,0,[[]],[[]],0,0,[4],[4],0,[4],0,[[]],0,[[],4],[[]],0,0,0,0,[[],7],[[],7],[[],26],[[]],0,0,[[]],[[]],[[[31,[[161,[124]]]],[215,[124,[214,[124]]]],[216,[124,[214,[124]]]],28],[[7,[[217,[121]],210]]]],[4],[4],0,[4],[[]],[69,[[217,[130]]]],[[],4],[[]],[[[217,[131]],70],69],0,[[72,[22,[73]],38],25],[[72,[28,[73]]],25],0,0,[[],7],[[],7],[[],26],[[],81],[[]],0,[[]],[[[75,[[74,[31]]]]]],[28],[[],218],[[]],[187],0,0,0,0,0,[[]],[[]],[[]],[[]],[219,219],[[[220,[1]]],[[220,[1]]]],[[]],[[]],[[],[[220,[3]]]],[4],[4],[4],[4],[5,[[7,[[220,[[0,[137,136]]]]]]]],[4],[4],[[219,219],38],[[[220,[88]],[220,[88]]],38],[[],38],[[],38],[[[220,[13]],11],12],[[]],[221,220],[[]],0,[[],[[221,[124]]]],[219,[[221,[124]]]],[[],[[221,[124]]]],0,[[],4],[[],4],[[]],[[]],0,[[[220,[[0,[137,136]]]],24],7],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[74,[1]]],[[74,[1]]]],[[[75,[1]]],[[75,[1]]]],[[[223,[[0,[1,222]]]]],[[223,[[0,[1,222]]]]]],[[[224,[[0,[1,222]]]]],[[224,[[0,[1,222]]]]]],[[[216,[[0,[1,222]],1]]],[[216,[[0,[1,222]],1]]]],[[[225,[[0,[222,1]]]]],[[225,[[0,[222,1]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[75,[[74,[[31,[47]]]]]],[74,[47]]],[[75,[[74,[47]]]]]],0,0,0,[[[65,[31]],[28,[153]],[126,[124,[125,[124]]]]],[[7,[[216,[124,[125,[124]]]],134]]]],[[[65,[31]],[28,[153]],[126,[124,[125,[124]]]],[31,[[225,[124]]]],[22,[[65,[[22,[161]]]]]]],[[7,[[216,[124,[125,[124]]]],134]]]],[[],[[74,[3]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[5,[[7,[74]]]],[5,[[7,[[75,[6]]]]]],[5,[[7,[[223,[[0,[137,136,222]]]]]]]],[5,[[7,[[224,[[0,[137,136,222]]]]]]]],[5,[[7,[[216,[[0,[137,136,222]],6]]]]]],[5,[[7,[[225,[[0,[222,137,136]]]]]]]],[4],[4],[4],[4],[4],[4],[[[65,[[0,[86,92]]]],[65,[[0,[86,92]]]]],[[75,[[74,[[0,[86,92]]]]]]]],0,0,[[[225,[222]],4,28,28],[[31,[31]]]],0,[[[75,[[74,[92]]]]],[[7,[[74,[92]],101]]]],[[[74,[13]],11],12],[[[75,[13]],11],12],[[[223,[[0,[13,222]]]],11],12],[[[224,[[0,[13,222]]]],11],12],[[[216,[[0,[13,222]],13]],11],12],[[[225,[[0,[222,13]]]],11],12],0,0,0,[[]],[[]],[[],[[75,[[74,[[31,[[0,[1,[121,[1]]]]]]]]]]]],[226,[[223,[222]]]],[[]],[[]],[227,[[224,[222]]]],[[]],[[]],[228,[[225,[[0,[222,121]]]]]],[69,[[74,[130]]]],0,0,[[75,45],22],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[[74,[131]],70],69],0,0,0,0,0,[[74,110],74],[[75,110],75],[[74,110],74],[[75,110],75],0,[[31,[161,[222]]],[[225,[222]]]],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[[216,[124,[125,[124]]]],[215,[124,[125,[124]]]],[161,[124]],[22,[28]]],[[231,[[230,[124,[0,[1,[229,[124]]]]]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,[[74,24],7],[[[75,[23]],24],7],[[[223,[[0,[137,136,222]]]],24],7],[[[224,[[0,[137,136,222]]]],24],7],[[[216,[[0,[137,136,222]],23]],24],7],[[[225,[[0,[222,137,136]]]],24],7],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],0,[[[228,[1,1]]],[[228,[1,1]]]],[[[232,[1]]],[[232,[1]]]],[[]],[[]],0,0,0,[4],[4],[4],[4],[4],[4],0,0,0,0,0,[[]],[[[225,[222]]],[[228,[[121,[222]],121]]]],[[]],[69,[[228,[130,130]]]],[69,[[232,[130]]]],0,[[],4],[[],4],[[]],[[]],[[[228,[131,131]],70],69],[[[232,[131]],70],69],0,0,0,0,0,[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],0,0,0,0,0,0,0,0,[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],81],[[],81],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[226,[1]]],[[226,[1]]]],[[[227,[1]]],[[227,[1]]]],[[]],[[]],0,[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],0,[[]],[[],[[233,[[121,[222]],121]]]],[[]],[[[223,[222]]],226],[[]],[[]],[[[224,[222]]],227],[69,[[233,[130,130]]]],[69,[[234,[130,130]]]],[69,[[226,[130]]]],[69,[[227,[130]]]],0,[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[[233,[131,131]],70],69],[[[234,[131,131]],70],69],[[[226,[131]],70],69],[[[227,[131]],70],69],0,[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],0,0,0,0,0,0,0,0,[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],81],[[],81],[[],81],[[],81],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,0,0,[235,235],[[]],0,0,0,0,0,0,0,[[],235],[4],[4],[4],0,[[235,11],12],[[235,11],12],[[]],0,[[],4],[[]],0,0,0,0,0,[[235,24],7],0,[[]],[[],235],[[]],[[],25],[[],7],[[],7],[[],26],0,[[]],0,0,[[]],[[]],[4],[4],[4],[[236,11],12],[235,236],[[]],[69,236],[[],4],[[]],[[236,70],69],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[],7],[[],7],[[],26],[[],81],[[]],0,[[]],[[]],[[[126,[[0,[1,124]],[0,[1,[125,[[0,[1,124]]]]]]]]],[[126,[[0,[1,124]],[0,[1,[125,[[0,[1,124]]]]]]]]]],[[]],0,[[[126,[124,[125,[124]]]]]],[[58,77],[[126,[124,[125,[124]]]]]],0,[4],[4],[5,[[7,[[126,[[0,[3,124]],[0,[3,[125,[[0,[3,124]]]]]]]]]]]],[4],[[[126,[[0,[13,124]],[0,[13,[125,[[0,[13,124]]]]]]]],11],12],[[]],[[],4],[[]],0,0,[[[126,[124,[125,[124]]]],[65,[[31,[55]]]],55,55,[0,[237,238]]],[[7,[[64,[55]],134]]]],[[[126,[124,[125,[124]]]],[75,[[74,[55]]]],55,55,55,8],[[51,[55,[50,[55]]]]]],[[[126,[124,[125,[124]]]],[66,[55]],55,55,[64,[55]],8],[[7,[134]]]],0,[[[126,[124,[125,[124]]]],24],7],0,0,[[]],[[],7],[[],7],[[],26],[[[126,[124,[125,[124]]]]],[[215,[124,[125,[124]]]]]],0,[[[126,[124,[125,[124]]]]]],0,[[[126,[124,[125,[124]]]],[65,[[31,[[0,[55,56]]]]]],[28,[[0,[55,56]]]]],[[7,[67]]]],[[[126,[124,[125,[124]]]],[65,[[64,[55]]]],[64,[55]]],38],[[]],[[[31,[63]],4],[[126,[124,[214,[124]]]]]],[[[31,[63]],4,4,[31,[71]],[22,[[31,[78]]]],38,[22,[4]]],[[126,[124,[214,[124]]]]]],[[[31,[63]],4,4,[31,[71]],[22,[[31,[78]]]],38,[22,[4]],239],[[126,[124,[125,[124]]]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[241,[240]]],25],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[242,22],243],[[],243],[[[244,[55]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[[244,[13]],11],12],[[]],[[]],[[]],[[]],0,[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[[241,[240]],38],243],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[[245,[240]],216]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],[[246,[3]]]],[4],[4],[4],[[]],[[],4],[[[246,[[0,[247,39,1]]]],[0,[247,39,1]]],38],[[]],[[[246,[[0,[247,39,1]]]]],38],[[[246,[[0,[247,39,1]]]]],8],[[[246,[[0,[247,39,1]]]]],4],[[[246,[[0,[247,39,1]]]],[0,[247,39,1]]],4],[[],7],[[],7],[[],26],[[]],0,[[[28,[[248,[55]]]],[242,[55]],[249,[73]]],[[243,[[248,[55]]]]]],[[[248,[55]],[248,[55]],[242,[55]],[249,[73]]],[[248,[55]]]],[[[28,[[248,[55]]]],[242,[55]],[249,[73]]],[[243,[[248,[55]]]]]],[[]],[[]],[[[248,[55]],[242,[55]],[249,[73]]],243],[[[248,[[0,[1,55]]]]],[[248,[[0,[1,55]]]]]],[[]],[[]],[[[250,[55]]],[[248,[55]]]],[4],[4],[4],[[],[[248,[55]]]],[[[248,[[0,[13,55]]]],11],12],[[]],[[[31,[[250,[55]]]]],[[248,[55]]]],[[],4],[[]],[[[248,[55]]],[[248,[55]]]],[[[248,[55]],[248,[55]],[249,[73]],[242,[55]]],[[248,[55]]]],[[[248,[55]]],[[22,[38]]]],[[[248,[55]]]],[[[248,[55]]],[[250,[55]]]],[[]],[[],[[248,[55]]]],[[],7],[[],7],[[],26],[[[31,[55]]]],[[]],[[]],[[[248,[55]],[248,[55]],[242,[55]],[249,[73]]],[[243,[[248,[55]]]]]],0,0,[[]],[[]],[[[251,[[0,[1,14]]]]],[[251,[[0,[1,14]]]]]],[[]],[4],[4],[4],0,[[[251,[[0,[13,14]]]],11],12],[[]],[[],4],[[]],[[],[[251,[14]]]],0,[[]],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[252,[55]],[28,[[249,[73]]]],[249,[73]],[254,[253]]]],[[[252,[55]],[28,[[249,[73]]]],[249,[73]],[255,[253,55]]]],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[253,22],[[[254,[[250,[55]]]],[256,[55]]],[[7,[[82,[257]]]]]],[[[255,[[250,[55]],55]],[256,[55]]],[[7,[[82,[257]]]]]],[[[252,[[0,[55,1]]]]],[[252,[[0,[55,1]]]]]],[[]],[[[252,[55]],110],[[65,[[31,[55]]]]]],[[[252,[55]],[28,[55]],[28,[55]]],[[65,[[31,[55]]]]]],[[[251,[55]]],[[252,[55]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[[252,[55]]],[[65,[178]]]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[[252,[55]]]],[[[252,[55]]],[[31,[[63,[55]]]]]],[[[258,[13]],11],12],[[[259,[13]],11],12],[[[260,[13]],11],12],[[[254,[13]],11],12],[[[261,[13,13]],11],12],[[[262,[13]],11],12],[[[263,[13]],11],12],[[[264,[13]],11],12],[[[255,[13,13]],11],12],[[[252,[[0,[55,13]]]],11],12],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[69,[[258,[130]]]],[69,[[259,[130]]]],[69,[[260,[130]]]],[69,[[261,[130,130]]]],[69,[[262,[130]]]],[69,[[263,[130]]]],[69,[[264,[130]]]],[69,[[255,[130,130]]]],[[[252,[55]]],[[22,[4]]]],[[[252,[55]]],4],[[[252,[55]]],4],0,0,[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[258,[131]],70],69],[[[259,[131]],70],69],[[[260,[131]],70],69],[[[261,[131,131]],70],69],[[[262,[131]],70],69],[[[263,[131]],70],69],[[[264,[131]],70],69],[[[255,[131,131]],70],69],0,0,0,0,0,0,0,0,0,0,[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[22,[73]],38],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],[[72,[28,[73]]],25],0,0,0,0,0,0,0,[[[252,[55]],4]],[[[252,[55]],4]],[[[252,[55]],4]],0,0,0,0,[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],81],[[],81],[[],81],[[],81],[[],81],[[],81],[[],81],[[],81],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[242,[55]],[249,[73]],[250,[55]]],243],[[]],[[]],[[[250,[55]],[242,[55]],[249,[73]]],243],[[[250,[[0,[55,1]]]]],[[250,[[0,[55,1]]]]]],[[]],[55,[[250,[55]]]],[[]],[4],[4],[4],[[[250,[55]],[242,[55]],[249,[73]],[250,[55]]],[[243,[[248,[55]]]]]],[[[250,[55]],[242,[55]]],55],[[[250,[[0,[55,13]]]],11],12],[[]],[[[31,[[250,[55]]]]],[[250,[55]]]],[[],4],[[]],[[[28,[[265,[55]]]]],[[250,[55]]]],[[[250,[55]],[250,[55]],[22,[[249,[73]]]],[249,[73]],[242,[55]]],[[243,[[250,[55]]]]]],[[[250,[55]]]],[[[250,[55]]]],[[[250,[55]],55],[[250,[55]]]],[[[250,[55]],[242,[55]],[249,[73]]],[[243,[[250,[55]]]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[250,[55]],[250,[55]]]],[[[28,[[250,[55]]]]],[[250,[55]]]],[[[250,[55]]]],[[[250,[55]]]],[[[250,[55]]]],[[]],[[],7],[[],7],[[],26],[[[31,[55]]]],[[]],[[]],[[],[[250,[55]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[266,266],[267,267],[257,257],[[]],[[]],[[]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[268,11],12],[[268,11],12],[[266,11],12],[[266,11],12],[[267,11],12],[[267,11],12],[[257,11],12],[[257,11],12],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[]],0,0,[266,268],[[266,[249,[73]],[31,[[249,[73]]]]],268],[112],[112],[112],[112],[268,[[22,[269]]]],0,[[]],[[]],[[]],[[],25],[[],25],[[],25],[[],25],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[[270,[[250,[55]]]],[242,[55]],[249,[73]]],243],[[[271,[1]]],[[271,[1]]]],[[[270,[1]]],[[270,[1]]]],[[]],[[]],[[]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[[271,[13]],11],12],[[[270,[13]],11],12],[[]],[[]],[[]],[[[31,[[250,[55]]]]],[[270,[[250,[55]]]]]],[[],4],[[],4],[[],4],[[]],[[]],[[]],[[[270,[[250,[55]]]]]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[],26],[[[31,[55]]]],[[]],[[]],[[]],[[]],0,0,[[272,242]],[[[272,[55]],[242,[55]],[249,[73]],[28,[[250,[55]]]]]],[[]],[[]],[[],[[272,[[0,[55,3]]]]]],[4],[4],[4],[[]],[[],4],[[]],[[],[[272,[55]]]],[[[242,[55]],[249,[73]]]],[[[272,[55]],[242,[55]],[249,[73]]],[[250,[55]]]],[[],7],[[],7],[[],26],[[]],0,0,0,0,0,0,0,0,0,[[[242,[55]],[273,[55]],[22,[[249,[73]]]],[249,[73]]],243],[[[242,[55]],[249,[73]]]],[[[242,[55]]],[[250,[55]]]],0,[[[242,[55]],[22,[[249,[73]]]],[249,[73]],[250,[55]],[250,[55]]],243],[[[242,[55]],[22,[[249,[73]]]],[249,[73]],[250,[55]],[250,[55]],[250,[55]]],243],[[]],[[]],[[]],[[]],[[[273,[55]],[256,[55]]],274],[[[242,[55]],267],[[82,[268]]]],[[[242,[55]],[249,[73]],275],[[243,[[276,[55]]]]]],[[],4],[256,4],[[[242,[55]]],4],[4],[4],[4],[4],[4],[4],[[[242,[55]],266],268],0,[[[273,[[0,[13,55]]]],11],12],[[[242,[[0,[55,13]]]],11],12],[[]],[[]],[[[242,[55]]],[[244,[55]]]],[[[242,[55]],[31,[55]]],243],[[[242,[55]]],[[31,[55]]]],0,[[[242,[55]],[249,[73]],[248,[55]],[250,[55]],[250,[55]]],[[243,[[250,[55]]]]]],[[],4],[[],4],[[]],[[]],[[4,4,38],[[242,[55]]]],0,0,[[[242,[55]]]],[[[242,[55]],[249,[73]]]],[[[242,[55]]],[[276,[55]]]],[[[242,[55]],[249,[73]],[250,[55]],[250,[55]],[250,[55]]],243],[250],[[256,[250,[55]]],55],[[[242,[55]],[250,[55]]],55],[[[242,[55]],4],55],[[[242,[55]],257],[[82,[268]]]],[[[242,[55]],55],[[250,[55]]]],0,[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],[[[242,[55]],[22,[[249,[73]]]],275]],0,0,0,0,0,[[242,[249,[73]]],243],[[242,[249,[73]],110],243],[[]],[[[31,[250]]]],[[]],[256],[[]],[31],[31],[[]],0,[[]],[[]],[[[277,[1]]],[[277,[1]]]],[[]],[[],[[277,[3]]]],[4],[4],[4],[[[277,[[0,[1,39,247]]]],[0,[1,39,247]]],[[22,[4]]]],[[[277,[13]],11],12],[[]],[[],4],[[]],[[[277,[[0,[1,39,247]]]],[0,[1,39,247]]]],[[],[[277,[[0,[1,39,247]]]]]],[[]],[[],7],[[],7],[[],26],[[[277,[[0,[1,39,247]]]],[0,[1,39,247]],[0,[1,39,247]]],[[22,[4]]]],[[]],0,0,[[[28,[[278,[124,[125,[124]]]]]]],231],[[]],[[]],[4],[4],[4],[[]],[[[278,[124,[125,[124]]]],45],[[22,[[161,[124]]]]]],[[],4],[[]],0,0,[[],7],[[],7],[[],26],0,[[[215,[124,[125,[124]]]],[216,[124,[125,[124]]]],28],231],[[]],0,0,[[]],[[]],[[]],[[]],[[[279,[[0,[1,160]]]]],[[279,[[0,[1,160]]]]]],[[[215,[[0,[1,124]],[0,[1,[125,[[0,[1,124]]]]]]]]],[[215,[[0,[1,124]],[0,[1,[125,[[0,[1,124]]]]]]]]]],[[]],[[]],0,0,[4],[4],[4],[4],[5,[[7,[[279,[160]]]]]],[5,[[7,[[215,[124,[125,[124]]]]]]]],[[[215,[124,[125,[124]]]]]],0,[4],[4],0,0,0,[[[279,[[0,[13,160]]]],11],12],[[[215,[[0,[13,124]],[0,[13,[125,[[0,[13,124]]]]]]]],11],12],0,0,[[]],[[]],[[77,280,[22,[42]]],[[7,[[215,[124,[125,[124]]]],25]]]],0,[[],4],[[],4],[[]],[[]],0,0,0,0,0,0,0,0,[[[215,[124,[125,[124]]]]],64],0,0,0,0,0,0,0,0,0,[[[279,[160]],24],7],[[[215,[124,[125,[124]]]],24],7],0,0,[[[215,[124,[125,[124]]]]],77],0,0,[[[215,[124,[125,[124]]]],280,[22,[38]]],[[7,[25]]]],[[]],[[]],[[],7],[[],7],[[],7],[[],7],[[],26],[[],26],[[]],[[]],[[[215,[124,[125,[124]]]]]],0,0,0],"c":[],"p":[[8,"Clone"],[3,"Alphas"],[8,"Default"],[15,"usize"],[8,"Deserializer"],[8,"Deserialize"],[4,"Result"],[8,"Iterator"],[8,"Display"],[3,"MustConsumeIterator"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[8,"Field"],[4,"ArgumentType"],[15,"u32"],[3,"Iter"],[3,"Skip"],[3,"Take"],[3,"Cloned"],[3,"Range"],[4,"Option"],[8,"Serialize"],[8,"Serializer"],[3,"String"],[3,"TypeId"],[3,"BenchmarkCtx"],[15,"slice"],[8,"ExprOps"],[3,"ArgumentEnv"],[3,"Vec"],[3,"Cache"],[6,"E"],[6,"ConstantExpr"],[3,"ArgumentWitness"],[3,"Constants"],[3,"Challenges"],[15,"bool"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[4,"CurrOrNext"],[4,"Column"],[4,"Ordering"],[8,"FftField"],[3,"Environment"],[4,"Domain"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[4,"GateType"],[3,"CacheId"],[3,"HashMap"],[8,"PrimeField"],[8,"SquareRootField"],[3,"Builder"],[3,"ConstraintSystem"],[4,"SetupError"],[3,"FeatureFlags"],[3,"EvaluatedColumnCoefficients"],[3,"ColumnEvaluations"],[3,"CircuitGate"],[3,"DensePolynomial"],[15,"array"],[3,"WitnessOverDomains"],[4,"GateError"],[3,"LookupFeatures"],[4,"Value"],[3,"OCamlRuntime"],[3,"LookupTable"],[3,"Env"],[15,"str"],[3,"PointEvaluations"],[3,"ProofEvaluations"],[3,"DomainConstantEvaluations"],[3,"Arc"],[3,"RuntimeTableCfg"],[3,"EvaluationDomains"],[3,"JsValue"],[15,"u128"],[3,"Box"],[4,"DomainCreationError"],[8,"Literal"],[4,"Operations"],[8,"Zero"],[6,"Expr"],[8,"PartialEq"],[4,"ConstantTerm"],[4,"ConstantExprInner"],[4,"ExprInner"],[8,"Copy"],[3,"Variable"],[4,"ChallengeTerm"],[4,"FeatureFlag"],[3,"RowOffset"],[4,"PolishToken"],[3,"Linearization"],[8,"Ord"],[3,"ArgumentData"],[4,"ExprError"],[8,"ColumnEvaluations"],[8,"ColumnEnvironment"],[8,"FormattedOutput"],[15,"never"],[15,"i64"],[8,"Neg"],[8,"One"],[3,"HashSet"],[8,"Fn"],[8,"PartialOrd"],[3,"Demand"],[8,"ToPolish"],[4,"CircuitGateError"],[6,"GateWires"],[4,"FFOps"],[3,"BigUint"],[4,"GenericGateSpec"],[4,"RotMode"],[3,"CamlCircuitGate"],[8,"From"],[3,"Circuit"],[4,"LookupPattern"],[8,"KimchiCurve"],[8,"OpenProof"],[3,"ProverIndex"],[6,"CircuitGateResult"],[8,"Write"],[6,"Result"],[8,"FromValue"],[8,"IntoValue"],[8,"Rng"],[3,"LookupInfo"],[4,"ProverError"],[3,"LookupConfiguration"],[8,"CanonicalSerialize"],[8,"CanonicalDeserialize"],[3,"LookupSelectors"],[4,"LookupError"],[3,"LookupConstraintSystem"],[6,"JointLookupSpec"],[3,"LookupPatterns"],[3,"LocalPosition"],[3,"SingleLookup"],[4,"LookupTableID"],[3,"JointLookup"],[3,"LookupPatternIter"],[6,"JointLookupValue"],[8,"Mul"],[3,"IterBridge"],[4,"GateLookupTable"],[3,"RuntimeTableSpec"],[3,"RuntimeTable"],[3,"CamlRuntimeTableSpec"],[8,"Into"],[3,"CamlRuntimeTableCfg"],[3,"CamlRuntimeTable"],[15,"i32"],[3,"GateLookupTables"],[8,"CommitmentCurve"],[3,"PolyComm"],[8,"DoubleEndedIterator"],[3,"CamlLookupTable"],[3,"WitnessEvals"],[3,"WitnessShifts"],[3,"LookupEvals"],[3,"LookupShifts"],[3,"LookupPolys"],[3,"Global"],[3,"CompleteAdd"],[3,"EndomulScalar"],[3,"EndosclMul"],[3,"EndoMulResult"],[3,"ForeignFieldAdd"],[3,"ForeignFieldMul"],[3,"ExternalChecks"],[3,"Generic"],[15,"u8"],[3,"KeccakRound"],[3,"KeccakSponge"],[3,"Theta"],[3,"PiRho"],[3,"Chi"],[3,"Iota"],[3,"Shifts"],[3,"Poseidon"],[3,"ArithmeticSpongeParams"],[3,"RangeCheck0"],[3,"RangeCheck1"],[3,"ForeignElement"],[8,"WitnessCell"],[3,"Rot64"],[3,"CairoProgram"],[3,"VarbaseMul"],[3,"VarbaseMulResult"],[3,"Xor16"],[3,"RandomOracles"],[3,"CamlRandomOracles"],[3,"Wire"],[3,"CamlWire"],[8,"Read"],[3,"ConstantCell"],[3,"CopyBitsCell"],[3,"CopyCell"],[3,"CopyShiftCell"],[3,"IndexCell"],[3,"VariableBitsCell"],[3,"VariableCell"],[3,"Variables"],[4,"VerifyError"],[4,"VerifierIndexError"],[3,"LagrangeBasisEvaluations"],[8,"EvaluationDomain"],[3,"OpeningProof"],[3,"VerifierIndex"],[3,"ProverProof"],[3,"CamlOracles"],[3,"ScalarChallenge"],[4,"StoredSRSType"],[3,"TestSRS"],[3,"SRS"],[8,"AffineCurve"],[3,"LookupCommitments"],[3,"ProverCommitments"],[3,"RecursionChallenge"],[3,"CamlLookupCommitments"],[3,"CamlProverCommitments"],[3,"CamlRecursionChallenge"],[8,"FqSponge"],[3,"OraclesResult"],[6,"Result"],[3,"CamlProofEvaluations"],[3,"CamlProofWithPublic"],[3,"CamlProverProof"],[3,"Traces"],[3,"CamlTraces"],[8,"RngCore"],[8,"CryptoRng"],[8,"FnMut"],[8,"SnarkyCircuit"],[3,"ProverIndexWrapper"],[3,"RunState"],[6,"SnarkyResult"],[3,"Witness"],[3,"VerifierIndexWrapper"],[3,"OrderedHashSet"],[8,"Eq"],[3,"Boolean"],[4,"Cow"],[4,"FieldVar"],[3,"Constants"],[3,"SnarkyConstraintSystem"],[8,"SnarkyCvar"],[4,"BasicSnarkyConstraint"],[4,"KimchiConstraint"],[8,"WitnessGeneration"],[4,"SnarkyRuntimeError"],[3,"ScaleRound"],[3,"EndoscaleRound"],[3,"EndoscaleScalarRound"],[3,"BasicInput"],[3,"PoseidonInput"],[3,"EcAddCompleteInput"],[3,"EcEndoscaleInput"],[6,"ScaledCVar"],[4,"SnarkyError"],[4,"SnarkyCompilationError"],[3,"RealSnarkyError"],[8,"Error"],[3,"FullChallenge"],[3,"ForeignElement"],[3,"DuplexState"],[4,"Constraint"],[6,"SnarkyRuntimeResult"],[8,"FnOnce"],[8,"SnarkyType"],[3,"DisjointSet"],[3,"Context"],[3,"LookupVerifierIndex"],[3,"Path"],[8,"Argument"],[8,"DynArgument"],[3,"LookupEnvironment"],[13,"Custom"],[13,"Mds"],[8,"Connect"],[13,"CopyConstraint"],[13,"LookupTableIdCollision"],[13,"LookupTableTooLong"],[8,"BigUintForeignFieldHelpers"],[8,"FieldArrayCompose"],[8,"BigUintArrayCompose"],[8,"FieldArrayBigUintHelpers"],[8,"FieldArrayCompact"],[8,"BigUintArrayFieldHelpers"],[13,"Add"],[13,"Mul"],[3,"Keccak"],[3,"Rotation"],[3,"Claim"],[3,"Instruction"],[3,"Flags"],[3,"Transition"],[3,"Layout"],[8,"Wirable"],[8,"FrSponge"],[3,"CompiledCircuit"],[3,"Private"],[8,"CircuitAbsorb"],[8,"CircuitAndValue"]]},\ "kimchi_msm":{"doc":"","t":"GGGGRGGGRCCCCCCRGGGAAAAAAAAAAAAAAACCCCCAAAAIIIIIIQKKKKKKKFKKKKFFFDDIQDDQLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLDMLLLLLMLLLLLLLLLLLLMLLLLLLDMLLLLLLLLLLMLLLLLLLLLMMLLMLLLLLLLLLLMLLDLLMLMLLMLMLLLLLLLLMMLLLLLMEINNNNNNSNLLLLLLLLLLLLLLLLLLLLLKLLLLLGFFAAANNNNEEEERNNNNNNNNNNNNNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFFGEDNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAANERRNNNNNLLLLLLLLLLLLLLLLLLLLLFFFEDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDDDDIKLLLLLLLLLLLLLLLLFFLLLLLLLLLLLLMLLLLLLLLLLLLKLLLLLLLLLKKKLALMLLLLLLKLLLLLLLLLLLLLLLLDDMLLLLLLLLLLLMMMMLLLLLLMMMMMMMMMMMMMLLLLLLLLNENGEGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLFLLLLLLLLLLMFFLLLLLLLMLDDDDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLNNNELLLLLLLLLLLLFLLLLLLLRAAANNNNNNNNRELLLLLLLLLLLLLLLLLLLLLIRRRRFKFFFFFFFFFFGEDNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAAAAFFFFAANNNNNRELLLLLLLLLLLLLLLLLLLLLFFFFFFFFFFFFFFFDLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL","n":["BN254","BN254G1Affine","BN254G2Affine","BaseSponge","DOMAIN_SIZE","Ff1","Ff2","Fp","LIMB_BITSIZE","Logup","LogupProof","LogupTable","LogupTableID","LogupWitness","LookupTableID","N_LIMBS","OpeningProof","ScalarSponge","SpongeParams","circuit_design","column_env","columns","expr","fec","ffa","logup","lookups","precomputed_srs","proof","prover","serialization","test","verifier","witness","ConstraintBuilderEnv","MPrism","SubEnvColumn","SubEnvLookup","WitnessBuilderEnv","capabilities","composition","constraints","witness","ColAccessCap","ColWriteCap","DirectWitnessCap","HybridCopyCap","LookupCap","MultiRowReadCap","Variable","assert_zero","constant","curr_row","hcopy","lookup","next_row","read_column","read_column_array","read_row_column","set_assert_mapper","variable_to_field","write_column","write_column_array","write_column_array_const","write_column_const","ComposedMPrism","IdMPrism","MPrism","Source","SubEnvColumn","SubEnvLookup","Target","assert_zero","assert_zero","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","compose","constant","constant","curr_row","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","fmt","from","from","from","from","hcopy","hcopy","init","init","init","init","into","into","into","into","lookup","lookup","new","new","next_row","re_get","re_get","re_get","read_column","read_column","read_row_column","set_assert_mapper","set_assert_mapper","to_owned","traverse","traverse","traverse","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","variable_to_field","vzip","vzip","vzip","vzip","write_column","write_column","ConstraintBuilderEnv","assert_mapper","assert_zero","bitmask_be","borrow","borrow_mut","constant","constraints","create","deref","deref_mut","drop","from","get_constraints","get_lookup_constraints","get_relation_constraints","hcopy","init","into","lookup","lookups","read_column","set_assert_mapper","try_from","try_into","type_id","vzip","WitnessBuilderEnv","assert_mapper","assert_zero","bitmask_be","borrow","borrow_mut","constant","create","curr_row","deref","deref_mut","drop","fixed_selectors","from","get_logup_witness","get_lookup_multiplicities","get_proof_inputs","get_relation_witness","hcopy","init","into","lookup","lookup_multiplicities","lookups","next_row","next_row","phantom_cix","read_column","read_row_column","set_assert_mapper","set_fixed_selector_cix","set_fixed_selectors","try_from","try_into","type_id","variable_to_field","vzip","witness","write_column","write_column_raw","ColumnEnvironment","borrow","borrow_mut","challenges","column_domain","constants","deref","deref_mut","domain","drop","fixed_selectors","from","get_challenges","get_column","get_constants","get_domain","init","into","l0_1","l0_1","lookup","try_from","try_into","type_id","vanishes_on_zero_knowledge_and_previous_rows","vzip","witness","Column","ColumnIndexer","DynamicSelector","FixedSelector","LookupAggregation","LookupFixedTable","LookupMultiplicity","LookupPartialSum","N_COL","Relation","add_rel_offset","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","init","into","is_alpha","is_witness","latex","ocaml","text","to_column","to_owned","try_from","try_into","type_id","vzip","E","curr_cell","next_cell","columns","interpreter","lookups","Carry1","Carry2","Carry3","F","FECColumn","FECColumnInput","FECColumnInter","FECColumnOutput","FEC_N_COLUMNS","Input","Inter","Output","Q1","Q1L","Q1Sign","Q2","Q2L","Q2Sign","Q3","Q3L","Q3Sign","S","XP","XQ","XR","YP","YQ","YR","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","partial_cmp","partial_cmp","partial_cmp","partial_cmp","to_column","to_column","to_column","to_column","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","constrain_ec_addition","ec_add_circuit","limbs_to_bigints","Lookup","LookupTable","LookupTableIter","RangeCheck14Abs","RangeCheck15","RangeCheck9Abs","RangeCheckFfHighest","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","equivalent","fmt","fmt","from","from","from_u32","get_hash","hash","init","init","into","into","into_iter","is_fixed","is_member","iter","ix_by_value","len","length","next","next_back","nth","partial_cmp","size_hint","to_owned","to_owned","to_u32","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","columns","interpreter","lookups","Carry","FFAColumn","FFA_NPUB_COLUMNS","FFA_N_COLUMNS","InputA","InputB","ModulusF","Quotient","Remainder","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","constrain_ff_addition","constrain_ff_addition_row","ff_addition_circuit","LookupTable","LookupTableIter","RangeCheck15","RangeCheck1BitSigned","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","equivalent","fmt","fmt","from","from","from_u32","get_hash","hash","init","init","into","into","into_iter","is_fixed","is_member","iter","ix_by_value","len","length","next","next_back","nth","par_bridge","partial_cmp","size_hint","to_owned","to_owned","to_u32","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Logup","LogupWitness","LookupProof","LookupTable","LookupTableID","all_variants","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","combine_lookups","constraint_lookups","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","entries","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_u32","init","init","init","init","into","into","into","into","into_iter","is_fixed","ix_by_value","length","new","prover","random","table_id","to_constraint","to_field","to_owned","to_owned","to_owned","to_owned","to_u32","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Env","QuotientPolynomialEnvironment","beta","borrow","borrow","borrow_mut","borrow_mut","create","deref","deref","deref_mut","deref_mut","drop","drop","fixed_lookup_tables_comms_d1","fixed_lookup_tables_evals_d8","fixed_lookup_tables_poly_d1","fixed_tables_evals_d8","from","from","init","init","into","into","joint_combiner","lookup_aggregation_comm_d1","lookup_aggregation_evals_d8","lookup_aggregation_evals_d8","lookup_aggregation_poly_d1","lookup_counters_comm_d1","lookup_counters_evals_d8","lookup_counters_evals_d8","lookup_counters_poly_d1","lookup_terms_comms_d1","lookup_terms_evals_d8","lookup_terms_evals_d8","lookup_terms_poly_d1","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Custom","DummyLookupTable","DummyLookupTable","Lookup","LookupTableIDs","LookupWitness","RangeCheck16","all_variants","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","eq","equivalent","equivalent","fmt","fmt","from","from","from_u32","from_u32","get_hash","get_hash","hash","hash","init","init","into","into","is_fixed","is_fixed","ix_by_value","ix_by_value","length","length","partial_cmp","partial_cmp","random","to_owned","to_owned","to_u32","to_u32","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TestPairingSRS","borrow","borrow_mut","clone","clone_into","create_and_store_srs","default","deref","deref_mut","deserialize","drop","eq","equivalent","fmt","from","from","full_srs","get_bn254_srs","get_bn254_srs_path","init","into","serialize","to_owned","try_from","try_into","type_id","verifier_srs","vzip","Proof","ProofCommitments","ProofEvaluations","ProofInputs","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","default","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","eq","equivalent","evaluate","evaluations","fmt","fmt","fmt","fmt","from","from","from","from","init","init","init","init","into","into","into","into","logups","random","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","ConstraintDegreeTooHigh","ConstraintNotSatisfied","Generic","ProverError","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","prove","provide","to_owned","to_string","try_from","try_into","type_id","vzip","N_INTERMEDIATE_LIMBS","column","interpreter","lookups","Carry","ChalConverted","ChalIntermediate","ChalKimchi","CoeffInput","CoeffResult","FFieldModulus","Quotient","SER_N_COLUMNS","SerializationColumn","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","HybridSerHelpers","LIMB_BITSIZE_LARGE","LIMB_BITSIZE_SMALL","N_LIMBS_LARGE","N_LIMBS_SMALL","bigint_to_biguint_f","bitmask_be","combine_carry","combine_limbs_m_to_n","combine_small_to_large","constrain_multiplication","deserialize_field_element","ff_modulus_highest_limb","fold_choice2","limb_decompose_biguint","limb_decompose_ff","multiplication_circuit","Lookup","LookupTable","LookupTableIter","RangeCheck14Abs","RangeCheck15","RangeCheck4","RangeCheck9Abs","RangeCheckFfHighest","all_variants","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","deref","deref","deref_mut","deref_mut","drop","drop","entries","eq","equivalent","fmt","fmt","from","from","from_u32","get_hash","hash","init","init","into","into","into_iter","is_fixed","is_member","iter","ix_by_value","len","length","next","next_back","nth","partial_cmp","size_hint","to_owned","to_owned","to_u32","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","generic","logup","proof_system","test_circuit","test_completeness_generic","test_completeness_generic_no_lookups","test_completeness_generic_only_relation","test_soundness_generic","columns","interpreter","A","B","C","D","FixedE","TEST_N_COLUMNS","TestColumn","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","init","into","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","constrain_addition","constrain_multiplication","constrain_test_const","constrain_test_fixed_sel","constrain_test_fixed_sel_degree_7","constrain_test_fixed_sel_degree_7_mul_witness","constrain_test_fixed_sel_degree_7_with_constants","test_addition","test_const","test_fixed_sel","test_fixed_sel_degree_7","test_fixed_sel_degree_7_mul_witness","test_fixed_sel_degree_7_with_constants","test_multiplication","verify","Witness","borrow","borrow_mut","clone","clone_into","cols","combine","default","deref","deref_mut","drop","eq","equivalent","fmt","from","from_par_iter","get_hash","hash","index","init","into","into_iter","into_iter","into_par_iter","into_par_iter","into_par_iter","is_empty","len","par_iter","par_iter_mut","relax","to_owned","to_pub_columns","try_from","try_from","try_into","type_id","vzip","zero_vec"],"q":[[0,"kimchi_msm"],[34,"kimchi_msm::circuit_design"],[43,"kimchi_msm::circuit_design::capabilities"],[65,"kimchi_msm::circuit_design::composition"],[152,"kimchi_msm::circuit_design::constraints"],[179,"kimchi_msm::circuit_design::witness"],[219,"kimchi_msm::column_env"],[246,"kimchi_msm::columns"],[283,"kimchi_msm::expr"],[286,"kimchi_msm::fec"],[289,"kimchi_msm::fec::columns"],[401,"kimchi_msm::fec::interpreter"],[404,"kimchi_msm::fec::lookups"],[464,"kimchi_msm::ffa"],[467,"kimchi_msm::ffa::columns"],[497,"kimchi_msm::ffa::interpreter"],[500,"kimchi_msm::ffa::lookups"],[558,"kimchi_msm::logup"],[647,"kimchi_msm::logup::prover"],[692,"kimchi_msm::lookups"],[757,"kimchi_msm::precomputed_srs"],[785,"kimchi_msm::proof"],[860,"kimchi_msm::prover"],[884,"kimchi_msm::serialization"],[888,"kimchi_msm::serialization::column"],[919,"kimchi_msm::serialization::interpreter"],[936,"kimchi_msm::serialization::lookups"],[997,"kimchi_msm::test"],[1001,"kimchi_msm::test::generic"],[1005,"kimchi_msm::test::test_circuit"],[1007,"kimchi_msm::test::test_circuit::columns"],[1035,"kimchi_msm::test::test_circuit::interpreter"],[1049,"kimchi_msm::verifier"],[1050,"kimchi_msm::witness"]],"d":["","","","","Domain size for the MSM project, equal to the BN254 SRS …","The foreign field we are emulating (one of the two)","","The native field we are working with.","Bitsize of the foreign field limb representation.","","","","","","","Number of limbs representing one foreign field element …","","","","","","","","","","Implement a variant of the logarithmic derivative lookups …","Instantiations of Logups for the MSM project Instantiate …","Clone of kimchi/precomputed_srs.rs but for MSM project …","","","","","","","","","","","","","","","","Environment capability for accessing and reading columns. …","Environment capability similar to ColAccessCap but for …","A direct field access capability modelling an abstract …","Capability for computing arithmetic functions and enforcing","Capability for invoking table lookups.","Capability for reading and moving forward in a multirow …","","Asserts that the value is zero.","Turns a constant value into a variable.","Returns the current row.","Given variable x and position ix, it (hybrid) writes x …","","Progresses to the next row.","Reads value from a column position.","Write an array of values simultaneously.","Read value from a (row,column) position.","Sets an assert predicate f(X) such that when assert_zero is","Convert an abstract variable to a field element! Inverse …","","Write an array of values simultaneously.","Write an array of /field/ values simultaneously.","Write a field element directly as a constant.","","Identity MPrism from any type T to itself.","MPrism allows one to Something like a Prism, but for Maybe …","The lens source type, i.e., the object containing the …","Sub environment with a lens that is mapping columns.","Sub environment with a lens that is mapping lookup tables.","The lens target type, i.e., the field to be accessed or …","","","","","","","","","","","","","","","","Returns the current row.","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","Progresses to the next row.","","","","","","Read value from a (row,column) position.","","","","","","","","","","","","","","","","","","","","","","","","","","","The function that maps the argument of assert_zero.","","","","","","An indexed set of constraints.","","","","","Returns the argument unchanged.","Get all relevant constraints generated by the constraint …","Get constraints related to the lookup argument.","Get constraints related to the application logic itself.","","","Calls U::from(self).","","Aggregated lookups.","","","","","","","Witness builder environment. Operates on multiple rows at …","Function used to map assertions.","","","","","","Create a new empty-state witness builder.","Returns the current row.","","","","Fixed values for selector columns. fixed_selectors[i][j] …","Returns the argument unchanged.","","Getting multiplicities for range check tables less or …","Generates proof inputs, repacking/collecting internal …","","","","Calls U::from(self).","","Lookup multiplicities, a vector of values m_i per lookup …","Lookup requests. Each vector element represents one row, …","Progresses to the next row.","Progress to the computations on the next row.","","","Read value from a (row,column) position.","","Sets a fixed selector, the vector of length equal to the …","Sets all fixed selectors directly. Each item in selectors …","","","","Convert an abstract variable to a field element! Inverse …","","The witness columns that the environment is working with. …","","","The collection of polynomials (all in evaluation form) and …","","","Challenges from the IOP.","","Constant values required","","","The domains used in the PLONK argument.","","Fixed selectors. These are “predefined” with the …","Returns the argument unchanged.","","","","","","Calls U::from(self).","","The value prod_{j != 1} (1 - omega^j), used for efficiently","Lookup specific polynomials","","","","","","The witness column polynomials. Includes relation columns, …","Describe a generic indexed variable X_{i}.","A datatype expressing a generalized column, but with …","Columns related to dynamic selectors to indicate gate type","Constant column that is /always/ fixed for a given circuit.","The lookup aggregation, i.e. phi","The fixed tables. The parameter is considered to the …","Multiplicities, indexed. This corresponds to the m_i","Partial sums. This corresponds to the h_i. It is first …","Total number of columns in this index.","Columns related to the relation encoded in the circuit","Adds offset if the column is Relation. Fails otherwise.","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","Flatten the column “alias” into the integer-like …","","","","","","An expression over /generic/ (not circuit-specific) columns","","","","","","","","","","Columns used by the FEC Addition subcircuit.","FEC ADD inputs: two points = four coordinates, and each in …","FEC ADD intermediate (work) columns.","FEC ADD outputs: one point, each in 17 limb output format.","Number of columns in the FEC circuits.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","When P = (xP,yP) and Q = (xQ,yQ) are not negative of each …","Creates a witness for adding two points, p and q, each …","Convenience function for printing.","","Enumeration of concrete lookup tables used in FEC circuit.","An iterator over the variants of LookupTable","x ∈ [-2^14, 2^14-1]","x ∈ [0, 2^15]","x ∈ [-2^9, 2^9-1]","x ∈ [0, ff_highest] where ff_highest is the highest …","","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","All tables are fixed tables.","Checks if a value is in a given table.","","Converts a value to its index in the fixed table.","","","","","","","","","","","","","","","","","","","","","","","Column indexer for MSM columns.","","Number of columns in the FFA circuits.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","Constraint for one row of FF addition:","","Enumeration of concrete lookup tables used in lookups …","An iterator over the variants of LookupTable","x ∈ [0, 2^15]","x ∈ [-1, 0, 1]","","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","All tables are fixed tables.","Checks if a value is in a given table.","","Converts a value to its index in the fixed table.","","","","","","","","","","","","","","","","","","","","Generic structure to represent a (vector) lookup the table …","Represents a witness of one instance of the lookup argument","Represents the proof of the lookup argument It is …","A table of values that can be used for a lookup, along …","Trait for lookup table variants","","","","","","","","","","","","","","","","","","Compute the following constraint:","Build the constraints for the lookup protocol. The …","","","","","","","","","","","","","Vector of values inside each entry of the table","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Build a value from a u32","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Identify fixed and RAMLookups with a boolean. This can be …","Given a value, returns an index of this value in the table.","Returns the length of each table.","Creates a new Logup","","Generate a random number of correct lookups in the table …","Table ID corresponding to this table","Assign a unique ID to the lookup tables, as an expression.","Assign a unique ID to the lookup tables.","","","","","Assign a unique ID, as a u32 value","","","","","","","","","","","","","","","","","Represents the environment for the logup argument.","The structure used by the prover the compute the quotient …","The evaluation point used for the lookup polynomials.","","","","","Create an environment for the prover to create a proof for …","","","","","","","","","","The evaluations of the fixed tables, over d8, indexed by …","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","The combiner used for vector lookups","The commitment to the aggregation polynomial.","The evaluations of the aggregation, over d8.","","The aggregation polynomial.","The commitments to the multiplicities, indexed by the …","The evaluations of the multiplicities, over d8, indexed by …","","The polynomial of the multiplicities, indexed by the table …","The commitments of the inner sums.","The evaluations of the partial sums, over d8.","","The polynomials of the inner sums.","","","","","","","","","Custom lookup table The index of the table is used as the …","Dummy lookup table. For the cases when you don’t need …","","Additive lookups used in the MSM project based on Logup","Lookup tables used in the MSM project","Represents a witness of one instance of the lookup …","","","","","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","All tables are fixed tables.","All tables are fixed tables.","","","","","","","Generate a random number of correct lookups in the table …","","","","","","","","","","","","","A clone of the PairingSRS that is serialized in a …","","","","","Creates and writes the SRS into get_bn254_srs_path().","","","","","","","","","","Returns the argument unchanged.","","Obtains an SRS for a specific curve from disk, or …","The path of the serialized BN254 SRS, inside this repo.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","Creates a default proof instance. Note that such an empty …","","","","","","","","","","","","","","","","Actual values w_i of the witness columns. “Evaluations”…","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Errors that can arise when creating a proof","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","The number of intermediate limbs of 4 bits required for …","","","","Carry limbs","N_LIMBS values, representing the converted IPA challenge.","N_INTERMEDIATE_LIMBS intermediate values, 4 bits long. …","3 88-bit inputs. For the row #i this represents the IPA …","Previous coefficient C_j, this one is looked up. For the …","The resulting coefficient C_i = (C_i >> 1) * xi_{log(i)}. …","Trusted (for range) foreign field modulus, in 4 big limbs.","Quotient limbs","Total number of columns in the serialization circuit","Columns used by the serialization subcircuit.","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","In FEC addition we use bigger limbs, of 75 bits, that are …","Alias for LIMB_BITSIZE, used for convenience.","","Alias for N_LIMBS, used for convenience.","Interprets bigint input as an element of a field modulo …","Returns the bits between [highest_bit, lowest_bit] of the …","Helper function for limb recombination for carry …","Helper function for limb recombination.","Helper function for limb recombination.","This constarins the multiplication part of the circuit.","Deserialize a field element of the scalar field of Vesta …","Returns the highest limb of the foreign field modulus. Is …","A convenience helper: given a list_len and n (arguments of …","Decompose biguint into N limbs of bit size B.","Decomposes a foreign field element into N limbs of bit …","Multiplication sub-circuit of the serialization/bootstrap …","","Enumeration of concrete lookup tables used in …","An iterator over the variants of LookupTable","x ∈ [-2^14, 2^14-1]","x ∈ [0, 2^15]","x ∈ [0, 2^4]","x ∈ [-2^4, 2^4-1]","x ∈ [0, ff_highest] where ff_highest is the highest …","","","","","","","","","","","","","","","","","Provides a full list of entries for the given table.","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","All tables are fixed tables.","Checks if a value is in a given table.","","Converts a value to its index in the fixed table.","","","","","","","","","","","","","","","","","","","","","","","","","No lookups, no selectors, only witness column. …","","","","","","","","","Number of columns in the test circuits.","Column indexer for MSM columns.","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","A consraint function for A + B - C that reads values from …","A consraint function for A * B - D that reads values from …","A consraint function for A * B - D that reads values from …","A consraint function for A_0 + B_0 - FIXED_E","A consraint function for A_0^7 + B_0 - FIXED_E","A consraint function for 3 * A_0^7 + B_0 * FIXED_E","A consraint function for 3 * A_0^7 + 42 * B_0 - FIXED_E","Circuit generator function for A + B - C, with D = 0.","Circuit generator function for A_0 * B_0 - const, with …","Circuit generator function for A_0 + B_0 - FIXED_E.","Circuit generator function for A_0^7 + B_0 - FIXED_E.","Circuit generator function for 3 * A_0^7 + B_0 * FIXED_E.","Circuit generator function for 3 * A_0^7 + 42 * B_0 - …","Circuit generator function for A * B - C, with D = 0.","","The witness columns used by a gate of the MSM circuits. It …","","","","","A witness row is represented by an array of N witness …","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","Iterate over the columns in the circuit.","","Iterate over the columns in the circuit, in parallel.","","","","","","This method takes a witness and a vector of evaluations to …","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,15,19,21,15,4,0,15,4,109,8,0,0,0,0,0,0,9,0,0,9,10,11,14,10,11,13,14,10,11,13,13,13,14,10,11,11,13,14,10,11,13,14,10,11,13,14,10,11,13,13,14,10,11,13,10,11,14,10,11,13,14,10,11,13,10,11,10,11,11,9,14,13,10,11,11,10,11,13,9,14,13,14,10,11,13,14,10,11,13,14,10,11,13,11,14,10,11,13,10,11,0,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,36,0,0,34,34,34,34,34,34,3,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,3,34,34,34,34,34,0,0,0,0,0,0,54,54,54,54,0,0,0,0,0,55,55,55,54,54,54,54,54,54,54,54,54,54,52,52,53,52,52,53,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,52,53,54,55,0,0,0,0,0,0,57,57,57,57,57,57,59,57,59,57,59,57,59,57,57,59,57,59,57,59,57,57,57,57,59,57,59,57,57,57,57,59,57,59,59,57,57,57,57,59,57,59,59,59,57,59,57,59,57,57,59,57,59,57,59,57,59,0,0,0,63,0,0,0,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,63,0,0,0,0,0,64,64,64,64,65,64,65,64,65,64,65,64,64,65,64,65,64,65,64,64,64,64,65,64,65,64,64,64,64,65,64,65,65,64,64,64,64,65,64,65,65,65,65,64,65,64,65,64,64,65,64,65,64,65,64,65,0,0,0,0,0,20,67,68,31,69,67,68,31,69,67,68,31,69,67,68,31,69,0,0,67,68,31,69,67,68,31,69,67,68,31,69,68,67,31,67,31,67,68,31,69,67,68,31,69,20,67,68,31,69,67,68,31,69,69,20,20,20,67,0,31,68,20,20,67,68,31,69,20,67,68,31,69,67,68,31,69,67,68,31,69,67,68,31,69,0,0,75,114,75,114,75,75,114,75,114,75,114,75,75,75,75,114,114,75,114,75,114,75,75,75,114,75,75,75,114,75,75,75,114,75,75,114,75,114,75,114,75,114,75,72,0,76,0,0,0,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,76,72,77,76,72,76,72,76,72,76,72,76,72,76,72,0,79,79,79,79,0,79,79,79,79,79,79,79,79,79,79,79,0,0,79,79,79,79,79,79,79,79,79,0,0,0,0,32,87,88,90,32,87,88,90,32,87,88,90,32,87,88,90,32,32,87,88,90,32,87,88,90,32,87,88,90,32,32,87,32,32,87,88,90,32,87,88,90,32,87,88,90,32,87,88,90,32,32,32,87,88,90,32,87,88,90,32,87,88,90,32,87,88,90,32,87,88,90,93,93,93,0,93,93,93,93,93,93,93,93,93,93,93,93,0,93,93,93,93,93,93,93,0,0,0,0,97,97,97,97,97,97,97,97,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,0,0,0,105,0,0,0,0,0,0,0,0,0,0,0,0,0,104,104,104,104,104,104,104,106,104,106,104,106,104,106,104,104,106,104,106,104,106,104,104,104,104,106,104,106,104,104,104,104,106,104,106,106,104,104,104,104,106,104,106,106,106,104,106,104,106,104,104,106,104,106,104,106,104,106,0,0,0,0,0,0,0,0,0,0,107,107,107,107,107,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33,33],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[],1],[[]],[[]],[[]],[[]],[[[4,[2,3]],5],6],[1],[[[7,[5]]]],[[]],[[]],[[[8,[2,3]],6,5]],[[[8,[2,3]],[6,[2]],5]],[[[8,[2,3]],3,2]],0,0,0,0,0,0,0,[[[10,[2,3,[4,[2,3]],9]]]],[[[11,[2,3,[4,[2,3]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[13,[12]]],[[13,[12]]]],[[]],[[9,9],[[14,[9,9]]]],[2],[2],[[[11,[2,3,[15,[2,3]]]]],1],[[],13],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[[13,[16]],17],18],[[]],[[]],[[]],[[]],[[[10,[2,3,[19,[2,3]],9]],3]],[[[11,[2,3,[19,[2,3]]]],3]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[[10,[2,3,[21,[2,3,20]],9]],20]],[[[11,[2,3,[21,[2,3,20]],9]],20]],[[[4,[2,3]]],[[10,[2,3,[4,[2,3]]]]]],[[[4,[2,3]]],[[11,[2,3,[4,[2,3]]]]]],[[[11,[2,3,[15,[2,3]]]]]],[[]],[[[14,[9,9]]]],[13],[[[10,[2,3,[4,[2,3]],9]],3]],[[[11,[2,3,[4,[2,3]]]],3]],[[[11,[2,3,[15,[2,3]]]],1,3]],[[[10,[2,3,[4,[2,3]],9]],[7,[5]]]],[[[11,[2,3,[4,[2,3]]]],[7,[5]]]],[[]],[[],22],[[[14,[9,9]]],22],[13,22],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[],2],[[]],[[]],[[]],[[]],[[[10,[2,3,[8,[2,3]],9]],3]],[[[11,[2,3,[8,[2,3]]]],3]],0,0,[[[25,[2,20]]]],[[[25,[2,20]],26,26,3]],[[]],[[]],[2],0,[[],[[25,[2,20]]]],[1],[1],[1],[[]],[[[25,[2,20]]],[[28,[[27,[2]]]]]],[[[25,[2,20]]],[[28,[[27,[2]]]]]],[[[25,[2,20]]],[[28,[[27,[2]]]]]],[[[25,[2,20]],3]],[[],1],[[]],[[[25,[2,20]],20]],0,[[[25,[2,20]],3]],[[[25,[2,20]],[7,[5]]]],[[],23],[[],23],[[],24],[[]],0,0,[[[29,[2,3,20]]]],[[[29,[2,3,20]],26,26,3]],[[]],[[]],[2],[[],[[29,[2,3,20]]]],[[[29,[2,3,20]]],1],[1],[1],[1],0,[[]],[[[29,[2,3,20]],1,[30,[20,[28,[2]]]]],[[28,[[31,[2,20]]]]]],[[[29,[2,3,20]],1,20],[[28,[2]]]],[[[29,[2,3,20]],1,[30,[20,[28,[2]]]]],[[32,[2,20]]]],[[[29,[2,3,20]],1],[[33,[[28,[2]]]]]],[[[29,[2,3,20]],3]],[[],1],[[]],[[[29,[2,3,20]],20]],0,0,[[[29,[2,3,20]]]],[[[29,[2,3,20]]]],0,[[[29,[2,3,20]],3]],[[[29,[2,3,20]],1,3]],[[[29,[2,3,20]],[7,[5]]]],[[[29,[2,3,20]],3,[28,[2]]]],[[[29,[2,3,20]],[28,[[28,[2]]]]]],[[],23],[[],23],[[],24],[[],2],[[]],0,[[[29,[2,3,20]],3]],[[[29,[2,3,20]],34,2]],0,[[]],[[]],0,[[[36,[35,20]]],37],0,[1],[1],0,[1],0,[[]],[[[36,[35,20]]],[[38,[35]]]],[[[36,[35,20]]],[[22,[[40,[35,[39,[35]]]]]]]],[[[36,[35,20]]],[[41,[35]]]],[[[36,[35,20]],37],[[39,[35]]]],[[],1],[[]],[[[36,[35,20]]],35],0,0,[[],23],[[],23],[[],24],[[[36,[35,20]]],[[40,[35,[39,[35]]]]]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[34,1],34],[[]],[[]],[34,34],[[]],[1],[1],[1],[[34,34],42],[[],42],[[34,17],18],[[]],[[[0,[43,44]],45],46],[[34,47]],[[],1],[[]],[34,42],[34,42],[[34,[49,[48,34]]],50],[[34,[49,[48,34]]],50],[[34,[49,[48,34]]],50],[[],34],[[]],[[],23],[[],23],[[],24],[[]],0,[34,[[27,[51]]]],[34,[[27,[51]]]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[52,52],[53,53],[54,54],[55,55],[[]],[[]],[[]],[[]],[[52,52],56],[[53,53],56],[[54,54],56],[[55,55],56],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[52,52],42],[[53,53],42],[[54,54],42],[[55,55],42],[[],42],[[],42],[[],42],[[],42],[[52,17],18],[[53,17],18],[[54,17],18],[[55,17],18],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[52,52],[[22,[56]]]],[[53,53],[[22,[56]]]],[[54,54],[[22,[56]]]],[[55,55],[[22,[56]]]],[52,34],[53,34],[54,34],[55,34],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[]],[[]],[[]],[[]],[[[0,[[4,[2,55]],[21,[2,55,[57,[2]]]]]]]],[[[0,[[8,[2,55]],[21,[2,55,[57,[2]]]]]],2,2,2,2]],[[[6,[2]]],[[28,[58]]]],0,0,0,0,0,0,0,[[],[[28,[[57,[2]]]]]],[[]],[[]],[[]],[[]],[[[57,[12]]],[[57,[12]]]],[59,59],[[]],[[]],[[[57,[60]],[57,[60]]],56],[1],[1],[1],[1],[1],[1],[[[57,[2]],46],[[28,[2]]]],[[[57,[61]],[57,[61]]],42],[[],42],[[[57,[16]],17],18],[[59,17],18],[[]],[[]],[26,[[57,[2]]]],[[[0,[43,44]],45],46],[[[57,[43]],47]],[[],1],[[],1],[[]],[[]],[[]],[[[57,[2]]],42],[[[57,[2]],2],42],[[],59],[[[57,[2]],2],1],[59,1],[[[57,[2]]],1],[59,22],[59,22],[[59,1],22],[[[57,[62]],[57,[62]]],[[22,[56]]]],[59],[[]],[[]],[[[57,[2]]],26],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[63,63],[[]],[[63,63],56],[1],[1],[1],[[63,63],42],[[],42],[[63,17],18],[[]],[[],1],[[]],[[63,63],[[22,[56]]]],[63,34],[[]],[[],23],[[],23],[[],24],[[]],[[[0,[[4,[2,63]],[21,[2,63,64]]]]]],[[[0,[[4,[2,63]],[21,[2,63,64]]]],1]],[[[0,[[4,[2,63]],[8,[2,63]],[21,[2,63,64]]]],2,2]],0,0,0,0,[[],[[28,[64]]]],[[]],[[]],[[]],[[]],[64,64],[65,65],[[]],[[]],[[64,64],56],[1],[1],[1],[1],[1],[1],[[64,46],[[28,[2]]]],[[64,64],42],[[],42],[[64,17],18],[[65,17],18],[[]],[[]],[26,64],[[[0,[43,44]],45],46],[[64,47]],[[],1],[[],1],[[]],[[]],[[]],[64,42],[[64,2],42],[[],65],[[64,2],1],[65,1],[64,1],[65,22],[65,22],[[65,1],22],[[],66],[[64,64],[[22,[56]]]],[65],[[]],[[]],[64,26],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,0,0,0,0,[[],28],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[67,[12,[0,[12,20]]]]],[[67,[12,[0,[12,20]]]]]],[[[68,[12,[0,[12,20]]]]],[[68,[12,[0,[12,20]]]]]],[[[31,[12,[0,[12,20]]]]],[[31,[12,[0,[12,20]]]]]],[[[69,[12,12]]],[[69,[12,12]]]],[[]],[[]],[[]],[[]],[[34,[28,[[67,[[27,[2]],20]]]]],[[27,[2]]]],[[[30,[20,[28,[[67,[[27,[2]],20]]]]]]],[[28,[[27,[2]]]]]],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],0,[[[67,[61,[0,[61,20]]]],[67,[61,[0,[61,20]]]]],42],[[[31,[61,[0,[61,20]]]],[31,[61,[0,[61,20]]]]],42],[[],42],[[],42],[[[67,[16,[0,[16,20]]]],17],18],[[[68,[16,[0,[16,20]]]],17],18],[[[31,[16,[0,[16,20]]]],17],18],[[[69,[16,16]],17],18],[[]],[[]],[[]],[[]],[26],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[[69,[20]]]],[[],42],[2,1],[[],1],[[20,12,[70,[12]]],[[67,[12,20]]]],0,[[[71,[35]]],[[31,[35,72]]]],0,[[],[[27,[51]]]],[[],51],[[]],[[]],[[]],[[]],[[],26],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[[28,[[31,[20]]]],71,[74,[73]]],[[75,[73,20]]]],[1],[1],[1],[1],[1],[1],0,0,0,0,[[]],[[]],[[],1],[[],1],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,0,0,0,0,0,0,[[],[[28,[76]]]],[[],[[28,[72]]]],[[]],[[]],[[]],[[]],[76,76],[72,72],[[]],[[]],[[76,76],56],[[72,72],56],[1],[1],[1],[1],[1],[1],[[76,46],[[28,[2]]]],[[76,76],42],[[72,72],42],[[],42],[[],42],[[76,17],18],[[72,17],18],[[]],[[]],[26,76],[26,72],[[[0,[43,44]],45],46],[[[0,[43,44]],45],46],[[76,47]],[[72,47]],[[],1],[[],1],[[]],[[]],[76,42],[72,42],[[76,2],1],[[72,2],1],[76,1],[72,1],[[76,76],[[22,[56]]]],[[72,72],[[22,[56]]]],[[[71,[35]]],[[77,[35]]]],[[]],[[]],[76,26],[72,26],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,[[]],[[]],[[[79,[[0,[12,78]]]]],[[79,[[0,[12,78]]]]]],[[]],[[42,1],[[81,[80]]]],[[],[[79,[[0,[82,78]]]]]],[1],[1],[83,[[23,[[79,[78]]]]]],[1],[[[79,[[0,[61,78]]]],[79,[[0,[61,78]]]]],42],[[],42],[[[79,[[0,[16,78]]]],17],18],[[[81,[78]]],[[79,[78]]]],[[]],0,[[[71,[84]]],[[81,[80]]]],[[],85],[[],1],[[]],[[[79,[78]],86],23],[[]],[[],23],[[],23],[[],24],0,[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[32,[[0,[12,2]],[0,[12,20]]]]],[[32,[[0,[12,2]],[0,[12,20]]]]]],[[[87,[12,[0,[12,20]]]]],[[87,[12,[0,[12,20]]]]]],[[[88,[[0,[12,73]],[0,[12,20]]]]],[[88,[[0,[12,73]],[0,[12,20]]]]]],[[[90,[[0,[12,73]],[0,[12,[89,[[0,[12,73]]]]]],[0,[12,20]]]]],[[90,[[0,[12,73]],[0,[12,[89,[[0,[12,73]]]]]],[0,[12,20]]]]]],[[]],[[]],[[]],[[]],[[],[[32,[2,20]]]],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[1],[[[32,[[0,[61,2]],[0,[61,20]]]],[32,[[0,[61,2]],[0,[61,20]]]]],42],[[],42],[[[87,[12,20]]],[[23,[[91,[12]],92]]]],0,[[[32,[[0,[16,2]],[0,[16,20]]]],17],18],[[[87,[16,[0,[16,20]]]],17],18],[[[88,[[0,[16,73]],[0,[16,20]]]],17],18],[[[90,[[0,[16,73]],[0,[16,[89,[[0,[16,73]]]]]],[0,[16,20]]]],17],18],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],0,[[[71,[2]]],[[32,[2,72]]]],[[]],[[]],[[]],[[]],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[],24],[[],24],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[93,93],[[]],[1],[1],[1],[[93,17],18],[[93,17],18],[[]],[[],1],[[]],[[71,[28,[27]],[7,[[6,[28]]]],[32,[20]],[0,[94,95]]],[[23,[[90,[73,[89,[73]],20]],93]]]],[96],[[]],[[],50],[[],23],[[],23],[[],24],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[97,97],[[]],[[97,97],56],[1],[1],[1],[[97,97],42],[[],42],[[97,17],18],[[]],[[],1],[[]],[[97,97],[[22,[56]]]],[97,34],[[]],[[],23],[[],23],[[],24],[[]],0,0,0,0,0,[[58,58],98],[[4,26,26]],[6,6],[[5,[6,[[0,[[99,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]]],[[6,[[0,[[99,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[100,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],[101,[[0,[[99,[[0,[99,100,101,102,[103,[46]],12]]]],[100,[[0,[99,100,101,102,[103,[46]],12]]]],[101,[[0,[99,100,101,102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]],102,[103,[46]],12]]]]]],[6,6],[[[0,[[4,[2,97]],[21,[2,97,[104,[2]]]]]]]],[[[0,[[4,[2,97]],[21,[2,97,[104,[2]]]],[19,[2,97]],[105,[2,97,[104,[2]]]]]],[6,[98]]]],[[],98],[[1,1,5],[[0,[12,[99,[[0,[12,[99,[[0,[12,[99,[[0,[12,[99,[[0,[12,99,103]]]],[103,[46]]]]]],[103,[46]]]]]],[103,[46]]]]]],[103,[46]]]]]],[98,[[6,[2]]]],[2,[[6,[2]]]],[[[0,[[8,[2,97]],[21,[2,97,[104,[2]]]]]],2,2,42],2],0,0,0,0,0,0,0,0,[[],[[28,[[104,[2]]]]]],[[]],[[]],[[]],[[]],[[[104,[12]]],[[104,[12]]]],[106,106],[[]],[[]],[[[104,[60]],[104,[60]]],56],[1],[1],[1],[1],[1],[1],[[[104,[2]],46],[[28,[2]]]],[[[104,[61]],[104,[61]]],42],[[],42],[[[104,[16]],17],18],[[106,17],18],[[]],[[]],[26,[[104,[2]]]],[[[0,[43,44]],45],46],[[[104,[43]],47]],[[],1],[[],1],[[]],[[]],[[]],[[[104,[2]]],42],[[[104,[2]],2],42],[[],106],[[[104,[2]],2],1],[106,1],[[[104,[2]]],1],[106,22],[106,22],[[106,1],22],[[[104,[62]],[104,[62]]],[[22,[56]]]],[106],[[]],[[]],[[[104,[2]]],26],[[],23],[[],23],[[],23],[[],23],[[],24],[[],24],[[]],[[]],0,0,0,0,[[[28,[[27,[84]]]],[7,[[6,[[28,[84]]]]]],[32,[84,20]],1,[0,[94,95]]]],[[[28,[[27,[84]]]],[7,[[6,[[28,[84]]]]]],[33,[[28,[84]]]],1,[0,[94,95]]]],[[[28,[[27,[84]]]],[33,[[28,[84]]]],1,[0,[94,95]]]],[[[28,[[27,[84]]]],[7,[[6,[[28,[84]]]]]],[32,[84,20]],[32,[84,20]],1,[0,[94,95]]]],0,0,0,0,0,0,0,0,0,[[]],[[]],[107,107],[[]],[[107,107],56],[1],[1],[1],[[107,107],42],[[],42],[[107,17],18],[[]],[[],1],[[]],[[107,107],[[22,[56]]]],[107,34],[[]],[[],23],[[],23],[[],24],[[]],[[[4,[2,107]]]],[[[4,[2,107]]]],[[[4,[2,107]],2]],[[[4,[2,107]]]],[[[4,[2,107]]]],[[[4,[2,107]]]],[[[4,[2,107]]]],[[[0,[[4,[2,107]],[8,[2,107]]]],2,2]],[[[0,[[4,[2,107]],[8,[2,107]]]],2,2,2]],[[[0,[[4,[2,107]],[8,[2,107]]]],2]],[[[0,[[4,[2,107]],[8,[2,107]]]],2]],[[[0,[[4,[[0,[108,2]],107]],[8,[[0,[108,2]],107]],[109,[[0,[108,2]],107]]]],[0,[108,2]]]],[[[0,[[4,[2,107]],[8,[2,107]]]],2]],[[[0,[[4,[2,107]],[8,[2,107]]]],2,2]],[[71,[28,[27]],[7,[[6,[28]]]],[90,[73,[89,[73]],20]],[33,[28]]],42],0,[[]],[[]],[[[33,[12]]],[[33,[12]]]],[[]],0,[[[33,[[40,[35,[39,[35]]]]]],[33,[[40,[35,[39,[35]]]]]],35],[[33,[[40,[35,[39,[35]]]]]]]],[[],[[33,[[0,[110,12]]]]]],[1],[1],[1],[[[33,[61]],[33,[61]]],42],[[],42],[[[33,[16]],17],18],[[]],[111,[[33,[[0,[112,16]]]]]],[[[0,[43,44]],45],46],[[[33,[43]],47]],[[33,1]],[[],1],[[]],[33],[[[33,[12]]]],[33],[33],[33],[33,42],[33,1],[[]],[[]],[[[40,[39]]],113],[[]],[[[33,[[28,[[0,[110,12]]]]]]],[[33,[[28,[[0,[110,12]]]]]]]],[28,[[23,[33]]]],[[],23],[[],23],[[],24],[[]],[1,[[33,[[28,[[0,[110,12]]]]]]]]],"c":[],"p":[[15,"usize"],[8,"PrimeField"],[8,"ColumnIndexer"],[8,"ColAccessCap"],[8,"Fn"],[15,"array"],[3,"Box"],[8,"ColWriteCap"],[8,"MPrism"],[3,"SubEnvColumn"],[3,"SubEnvLookup"],[8,"Clone"],[3,"IdMPrism"],[3,"ComposedMPrism"],[8,"MultiRowReadCap"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[8,"HybridCopyCap"],[8,"LookupTableID"],[8,"LookupCap"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"ConstraintBuilderEnv"],[15,"u32"],[6,"E"],[3,"Vec"],[3,"WitnessBuilderEnv"],[3,"BTreeMap"],[3,"LogupWitness"],[3,"ProofInputs"],[3,"Witness"],[4,"Column"],[8,"FftField"],[3,"ColumnEnvironment"],[4,"Domain"],[3,"Challenges"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"Constants"],[15,"bool"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[3,"CacheId"],[3,"HashMap"],[3,"String"],[8,"Field"],[4,"FECColumnInput"],[4,"FECColumnOutput"],[4,"FECColumnInter"],[4,"FECColumn"],[4,"Ordering"],[4,"LookupTable"],[3,"BigInt"],[3,"LookupTableIter"],[8,"Ord"],[8,"PartialEq"],[8,"PartialOrd"],[4,"FFAColumn"],[4,"LookupTable"],[3,"LookupTableIter"],[3,"IterBridge"],[3,"Logup"],[3,"LookupTable"],[3,"LookupProof"],[15,"slice"],[3,"EvaluationDomains"],[4,"LookupTableIDs"],[8,"KimchiCurve"],[8,"FqSponge"],[3,"Env"],[4,"DummyLookupTable"],[6,"LookupWitness"],[8,"PairingEngine"],[3,"TestPairingSRS"],[6,"BN254"],[3,"PairingSRS"],[8,"Default"],[8,"Deserializer"],[6,"Fp"],[3,"PathBuf"],[8,"Serializer"],[3,"ProofEvaluations"],[3,"ProofCommitments"],[8,"OpenProof"],[3,"Proof"],[3,"PointEvaluations"],[4,"ExprError"],[4,"ProverError"],[8,"RngCore"],[8,"CryptoRng"],[3,"Demand"],[4,"SerializationColumn"],[3,"BigUint"],[8,"Add"],[8,"Sub"],[8,"Mul"],[8,"Neg"],[8,"From"],[4,"LookupTable"],[8,"HybridSerHelpers"],[3,"LookupTableIter"],[4,"TestColumn"],[8,"SquareRootField"],[8,"DirectWitnessCap"],[8,"Zero"],[8,"IntoParallelIterator"],[8,"Send"],[3,"RelaxedWitness"],[3,"QuotientPolynomialEnvironment"]]},\ "kimchi_visu":{"doc":"Implements a tool to visualize a circuit as an HTML page.","t":"CFFADLLLLLLLLLLLLLLLLL","n":["Witness","latex_constraints","visu","witness","Witness","borrow","borrow_mut","deref","deref_mut","drop","fmt","from","from","init","inner","into","new","serialize","try_from","try_into","type_id","vzip"],"q":[[0,"kimchi_visu"],[4,"kimchi_visu::witness"]],"d":["","","Produces a circuit.html in the current folder.","","The type that represents the execution trace. It …","","","","","","","","Returns the argument unchanged.","","Returns the inner witness.","Calls U::from(self).","Creates a new witness with rows rows.","","","","",""],"i":[0,0,0,0,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8],"f":[0,[[],[[4,[1,[3,[[3,[2]]]]]]]],[[[7,[5,[6,[5]]]],[9,[8]]]],0,0,[[]],[[]],[10],[10],[10],[[[8,[[0,[11,12]]]],13],14],[[[15,[[3,[11]]]]],[[8,[11]]]],[[]],[[],10],[[[8,[11]]],[[15,[[3,[11]]]]]],[[]],[10,[[8,[11]]]],[[[8,[11]],16],17],[[],17],[[],17],[[],18],[[]]],"c":[],"p":[[15,"str"],[3,"String"],[3,"Vec"],[3,"HashMap"],[8,"KimchiCurve"],[3,"OpeningProof"],[3,"ProverIndex"],[3,"Witness"],[4,"Option"],[15,"usize"],[8,"Field"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[15,"array"],[8,"Serializer"],[4,"Result"],[3,"TypeId"]]},\ @@ -14,7 +14,7 @@ var searchIndex = JSON.parse('{\ "mina_poseidon":{"doc":"","t":"CAAAAAASSSSSSDDSSSILLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFAAAAFFFFFFFFFNDDIENKLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMKLKLMFLMKLMLLLLLLLLLLLLLLLRDDIDKLKLKLLLLLLLAKLKLLLLLLLLLLLKLKLLLLFLLLLLLLLLLLMMKLMMLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLLLLLLL","n":["FqSponge","constants","dummy_values","pasta","permutation","poseidon","sponge","PERM_FULL_MDS","PERM_HALF_ROUNDS_FULL","PERM_INITIAL_ARK","PERM_ROUNDS_FULL","PERM_ROUNDS_PARTIAL","PERM_SBOX","PlonkSpongeConstantsKimchi","PlonkSpongeConstantsLegacy","SPONGE_CAPACITY","SPONGE_RATE","SPONGE_WIDTH","SpongeConstants","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","from","from","init","init","into","into","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","kimchi_dummy","fp_kimchi","fp_legacy","fq_kimchi","fq_legacy","params","static_params","static_params","params","static_params","static_params","full_round","half_rounds","poseidon_block_cipher","Absorbed","ArithmeticSponge","ArithmeticSpongeParams","Sponge","SpongeState","Squeezed","absorb","absorb","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","constants","default","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","fmt","fmt","from","from","from","full_round","init","init","init","into","into","into","mds","new","new","reset","reset","round_constants","sbox","serialize","sponge_state","squeeze","squeeze","state","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CHALLENGE_LENGTH_IN_LIMBS","DefaultFqSponge","DefaultFrSponge","FqSponge","ScalarChallenge","absorb_fq","absorb_fq","absorb_fr","absorb_fr","absorb_g","absorb_g","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","caml","challenge","challenge","challenge_fq","challenge_fq","clone","clone","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","digest","digest","digest_fq","digest_fq","drop","drop","drop","endo_coefficient","fmt","from","from","from","from","init","init","init","into","into","into","last_squeezed","last_squeezed","new","new","sponge","sponge","squeeze","squeeze","squeeze_field","squeeze_limbs","to_field","to_field_with_length","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","CamlScalarChallenge","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","from","from","from_value","init","into","into_value","ocaml_binding","ocaml_desc","to_owned","try_from","try_into","type_id","unique_id","vzip"],"q":[[0,"mina_poseidon"],[7,"mina_poseidon::constants"],[49,"mina_poseidon::dummy_values"],[50,"mina_poseidon::pasta"],[54,"mina_poseidon::pasta::fp_kimchi"],[56,"mina_poseidon::pasta::fp_legacy"],[57,"mina_poseidon::pasta::fq_kimchi"],[59,"mina_poseidon::pasta::fq_legacy"],[60,"mina_poseidon::permutation"],[63,"mina_poseidon::poseidon"],[134,"mina_poseidon::sponge"],[211,"mina_poseidon::sponge::caml"]],"d":["","","","","The permutation module contains the function implementing …","This module implements Poseidon Hash Function primitive","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Placeholder dummy value for the kimchi configuration, …","","","","","","the fp sponge params","the legacy fp sponge params","","the fq sponge params","the legacy fq sponge params","Apply a full round of the permutation. A full round is …","","","","","","Cryptographic sponge interface - for hashing an arbitrary …","","","Absorb an array of field elements x","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","Create a new cryptographic sponge using arithmetic sponge …","","Reset the sponge back to its initial state (as if it were …","","","","","","Squeeze an output from the sponge","","","","","","","","","","","","","","","","","","","","","Abstracts a sponge operating on a base field Fq of the …","A challenge which is used as a scalar on a group element …","Absorbs a base field element. This operation is the most …","","Absorbs an element of the scalar field Fr — it is done …","","Absorbs a base field point, that is a pair of Fq elements.","","","","","","","","","Squeeze out a challenge in the scalar field. Implemented by","","Squeeze out a base field challenge. This operation is the …","","","","","","","","","","","","Returns a scalar field digest using the binary …","","Returns a base field digest by squeezing the underlying …","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Creates a new sponge.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","",""],"i":[0,0,0,0,0,0,0,13,13,13,13,13,13,0,0,13,13,13,0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,43,14,15,8,14,15,8,14,15,8,14,15,8,14,14,8,15,8,14,15,8,14,8,15,8,14,15,8,15,8,14,14,15,8,14,15,8,14,8,43,14,43,14,8,0,8,14,43,14,14,15,8,14,15,8,14,15,8,14,15,8,14,15,8,14,0,0,0,0,0,44,24,44,24,44,24,30,26,24,30,26,24,0,44,24,44,24,26,24,26,24,30,26,24,30,26,24,44,24,44,24,30,26,24,0,26,30,26,26,24,30,26,24,30,26,24,30,24,44,24,30,24,30,24,24,24,26,26,26,24,30,26,24,30,26,24,30,26,24,30,26,24,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[1,1],[2,2],[[]],[[]],[3],[3],[3],[3],[3],[3],[[]],[[]],[[],3],[[],3],[[]],[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],5],[[],5],[[]],[[]],[[],[[8,[[0,[6,7]]]]]],0,0,0,0,[[],[[8,[9]]]],[[],[[8,[9]]]],[[],[[8,[9]]]],[[],[[8,[10]]]],[[],[[8,[10]]]],[[],[[8,[10]]]],[[[8,[6]],[11,[6]],3]],[[[8,[6]],[12,[6]]]],[[[8,[6]],[11,[6]]]],0,0,0,0,0,0,[12],[[[14,[6,13]],[12,[6]]]],[[]],[[]],[[]],[[]],[[]],[[]],[15,15],[[[8,[[0,[16,6]]]]],[[8,[[0,[16,6]]]]]],[[[14,[[0,[16,6]],[0,[16,13]]]]],[[14,[[0,[16,6]],[0,[16,13]]]]]],[[]],[[]],[[]],0,[[],[[8,[[0,[17,6]]]]]],[3],[3],[3],[3],[3],[3],[18,[[4,[[8,[6]]]]]],[3],[3],[3],[[15,19],20],[[[8,[[0,[21,6]]]],19],20],[[]],[[]],[[]],[[[14,[6,13]],3]],[[],3],[[],3],[[],3],[[]],[[]],[[]],0,[8],[[[8,[6]]],[[14,[6,13]]]],[[]],[[[14,[6,13]]]],0,[6,6],[[[8,[6]],22],4],0,[[]],[[[14,[6,13]]],6],0,[[]],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],5],[[],5],[[],5],[[]],[[]],[[]],0,0,0,0,0,[12],[[[24,[23,13]],12]],[12],[[[24,[23,13]],12]],[12],[[[24,[23,13]],[12,[[25,[23]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[[24,[23,13]]]],[[]],[[[24,[23,13]]]],[[[26,[16]]],[[26,[16]]]],[[[24,[[0,[16,23]],[0,[16,13]]]]],[[24,[[0,[16,23]],[0,[16,13]]]]]],[[]],[[]],[3],[3],[3],[3],[3],[3],[[]],[[[24,[23,13]]]],[[]],[[[24,[23,13]]]],[3],[3],[3],[[],27],[[[26,[21]],19],20],[[]],[[[29,[28]]],26],[[]],[[]],[[],3],[[],3],[[],3],[[]],[[]],[[]],0,0,[8],[8,[[24,[23,13]]]],0,0,[[[30,[27,13]],3],27],[[[24,[23,13]],3]],[[[24,[23,13]]]],[[[24,[23,13]],3],[[11,[31]]]],[[[26,[27]],27],27],[[[26,[27]],3,27],27],[[]],[[]],[[],4],[[],4],[[],4],[[],4],[[],4],[[],4],[[],5],[[],5],[[],5],[[]],[[]],[[]],0,[[]],[[]],[[[29,[16]]],[[29,[16]]]],[[]],[3],[3],[3],[[[29,[21]],19],20],[[]],[26,[[29,[32]]]],[33,[[29,[34]]]],[[],3],[[]],[[[29,[35]],36],33],[[37,[39,[38]],40],41],[[37,[12,[38]]],41],[[]],[[],4],[[],4],[[],5],[[],42],[[]]],"c":[],"p":[[3,"PlonkSpongeConstantsLegacy"],[3,"PlonkSpongeConstantsKimchi"],[15,"usize"],[4,"Result"],[3,"TypeId"],[8,"Field"],[8,"FromStr"],[3,"ArithmeticSpongeParams"],[6,"Fp"],[6,"Fq"],[3,"Vec"],[15,"slice"],[8,"SpongeConstants"],[3,"ArithmeticSponge"],[4,"SpongeState"],[8,"Clone"],[8,"Default"],[8,"Deserializer"],[3,"Formatter"],[6,"Result"],[8,"Debug"],[8,"Serializer"],[8,"SWModelParameters"],[3,"DefaultFqSponge"],[3,"GroupAffine"],[3,"ScalarChallenge"],[8,"PrimeField"],[8,"Into"],[3,"CamlScalarChallenge"],[3,"DefaultFrSponge"],[15,"u64"],[8,"From"],[4,"Value"],[8,"FromValue"],[8,"IntoValue"],[3,"OCamlRuntime"],[3,"Env"],[15,"str"],[4,"Option"],[15,"bool"],[3,"String"],[15,"u128"],[8,"Sponge"],[8,"FqSponge"]]},\ "mina_signer":{"doc":"Mina signer","t":"GCGCNECGCCCINLLLLFFLLLLLLLLAAAAKALLLLKLDENNGNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLNNNNNDNRNDEGNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMDLLLLLLLLLLLLLLRGDENNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLMMLLLLLL","n":["BaseField","CompressedPubKey","CurvePoint","Keypair","MAINNET","NetworkId","PubKey","ScalarField","Schnorr","SecKey","Signature","Signer","TESTNET","borrow","borrow_mut","clone","clone_into","create_kimchi","create_legacy","deref","deref_mut","drop","fmt","from","init","into","into_bytes","keypair","pubkey","schnorr","seckey","sign","signature","to_owned","try_from","try_into","type_id","verify","vzip","Keypair","KeypairError","NonCurvePoint","PublicKey","Result","SecretKey","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from_bytes","from_hex","from_parts_unsafe","from_secret_key","get_address","init","init","into","into","provide","public","rand","source","to_bytes","to_hex","to_owned","to_owned","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","AddressBase58","AddressChecksum","AddressLength","AddressRawByteLength","AddressVersion","CompressedPubKey","Hex","MINA_ADDRESS_LEN","NonCurvePoint","PubKey","PubKeyError","Result","SecKey","XCoordinate","XCoordinateBytes","YCoordinateBytes","YCoordinateParity","YCoordinateParityBytes","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","empty","eq","eq","eq","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","from","from","from","from_address","from_address","from_bytes","from_bytes","from_hex","from_hex","from_point_unsafe","from_secret_key","from_secret_key","init","init","init","into","into","into","into_address","into_address","into_compressed","into_point","is_odd","point","provide","to_bytes","to_bytes","to_hex","to_hex","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","x","Schnorr","borrow","borrow_mut","deref","deref_mut","drop","from","init","into","sign","try_from","try_into","type_id","verify","vzip","MINA_SEC_KEY_LEN","Result","SecKey","SecKeyError","SecretKeyBase58","SecretKeyBytes","SecretKeyChecksum","SecretKeyHex","SecretKeyLength","SecretKeyVersion","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","eq","eq","equivalent","equivalent","fmt","fmt","fmt","from","from","from_base58","from_bytes","from_hex","init","init","into","into","into_scalar","new","provide","rand","scalar","to_base58","to_bytes","to_hex","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Signature","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","fmt","from","init","into","new","rx","s","to_owned","to_string","try_from","try_into","type_id","vzip"],"q":[[0,"mina_signer"],[39,"mina_signer::keypair"],[98,"mina_signer::pubkey"],[196,"mina_signer::schnorr"],[211,"mina_signer::seckey"],[270,"mina_signer::signature"]],"d":["Base field element type","","Affine curve point type","","Id for mainnet","Mina network (or blockchain) identifier","","Scalar field element type","","","","Interface for signed objects","Id for all testnets","","","","","Create an experimental kimchi signer context with domain …","Create a legacy signer context with domain parameters …","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Keypair structures and algorithms","Public key structures and algorithms","Mina Schnorr signature scheme","Secret key structures and helpers","Sign input (see Hashable) using keypair kp and return the …","Mina signature structure and associated helpers","","","","","Verify that the signature sig on input (see Hashable) is …","","Keypair structure","Keypair error","point not on curve","Public key error","Keypair result","Invalid secret key","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","Deserialize keypair from secret key bytes","Deserialize keypair from secret key hex","Create keypair from scalar field secret element and curve …","Create keypair from secret key","Obtain the Mina address corresponding to the keypair’s …","","","Calls U::from(self).","Calls U::from(self).","","Public key","Generate random keypair","","Deserialize keypair into bytes","Deserialize keypair into hex","","","","","","","","","","","","","Invalid address base58","Invalid address checksum","Invalid address length","Invalid raw address bytes length","Invalid address version","Compressed public keys consist of x-coordinate and …","Invalid hex","Length of Mina addresses","Invalid y-coordinate parity","Public key","Public key errors","Public key Result","Invalid secret key","Invalid x-coordinate","Invalid x-coordinate bytes","Point not on curve","Invalid y-coordinate parity","Invalid y-coordinate","","","","","","","","","","","","","","","","","","","","","","The empty CompressedPubKey value that is used as public_key…","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Deserialize Mina address into public key","Deserialize Mina address into compressed public key (via …","Deserialize public key from bytes","Deserialize compressed public key from bytes","Deserialize public key from hex","Deserialize compressed public key from hex","Create public key from curve point Note: Does not check …","Create public key from a secret key","Create compressed public key from a secret key","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Serialize public key into corresponding Mina address","Serialize compressed public key into corresponding Mina …","Convert public key into compressed public key","Convert public key into curve point","Parity of y-coordinate","Borrow public key as curve point","","Deserialize public key into bytes","Deserialize compressed public key into bytes","Deserialize public key into hex","Deserialize compressed public key into hex","","","","","","","","","","","","","","","","","","X-coordinate","Schnorr signer context for the Mina signature algorithm","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Secret key length","Keypair result","Secret key","Keypair error","Invalid base58 secret key","Invalid secret key bytes","Invalid secret key checksum","Invalid secret key hex","Invalid secrey key length","Invalid secret key version","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Deserialize base58 encoded secret key","Deserialize secret key from bytes","Deserialize secret key from hex","","","Calls U::from(self).","Calls U::from(self).","Convert secret key into scalar field element","Create secret key from scalar field element","","Generate a random secret key","Borrows secret key as scalar field element","Deserialize secret key into base58","Deserialize secret key into bytes","Deserialize secret key into hex","","","","","","","","","","","","Signature structure","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Create a new signature","Base field component","Scalar field component","","","","","",""],"i":[0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,3,0,1,1,1,1,3,1,0,0,15,15,0,15,15,9,15,9,15,9,15,9,15,9,15,9,15,9,15,9,15,9,15,15,9,9,15,15,15,9,9,9,9,9,9,15,9,15,9,15,9,9,15,9,9,15,9,15,9,15,9,15,9,15,9,15,9,16,16,16,16,16,0,16,0,16,0,0,0,16,16,16,16,16,16,16,13,30,16,13,30,16,13,30,16,13,30,16,13,30,16,13,30,16,13,30,30,16,13,30,16,13,30,16,16,13,13,30,16,13,30,13,30,13,30,13,30,13,13,30,16,13,30,16,13,30,13,30,13,13,30,13,16,13,30,13,30,16,13,30,16,13,16,13,30,16,13,30,16,13,30,16,13,30,30,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,0,0,0,17,17,17,17,17,17,17,23,17,23,17,23,17,23,17,23,17,23,17,23,17,23,17,23,17,17,23,17,23,23,23,23,17,23,17,23,23,23,17,23,23,23,23,23,17,23,17,17,23,17,23,17,23,17,23,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[1,1],[[]],[[],[[3,[2]]]],[[],[[3,[2]]]],[4],[4],[4],[[1,5],6],[[]],[[],4],[[]],[1,[[8,[7]]]],0,0,0,0,[9,10],0,[[]],[[],11],[[],11],[[],12],[[10,13],14],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[15,15],[9,9],[[]],[[]],[4],[4],[4],[4],[4],[4],[[15,15],14],[[9,9],14],[[],14],[[],14],[[15,5],6],[[15,5],6],[[9,5],6],[[9,5],6],[16,15],[[]],[17,15],[[]],[[[18,[7]]],[[19,[9]]]],[20,[[19,[9]]]],[[21,22],9],[23,[[19,[9]]]],[9,24],[[],4],[[],4],[[]],[[]],[25],0,[[[0,[26,27]]],[[19,[9]]]],[15,[[29,[28]]]],[9,[[8,[7]]]],[9,24],[[]],[[]],[[],24],[[],24],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[16,16],[13,13],[30,30],[[]],[[]],[[]],[4],[4],[4],[4],[4],[4],[4],[4],[4],[[],30],[[16,16],14],[[13,13],14],[[30,30],14],[[],14],[[],14],[[],14],[[16,5],6],[[16,5],6],[[13,5],6],[[13,5],6],[[30,5],6],[[]],[[]],[[]],[20,[[31,[13]]]],[20,[[31,[30]]]],[[[18,[7]]],[[31,[13]]]],[[[18,[7]]],[[31,[30]]]],[20,[[31,[13]]]],[20,[[31,[30]]]],[22,13],[23,[[31,[13]]]],[23,30],[[],4],[[],4],[[],4],[[]],[[]],[[]],[13,24],[30,24],[13,30],[13,22],0,[13,22],[25],[13,[[8,[7]]]],[30,[[8,[7]]]],[13,24],[30,24],[[]],[[]],[[]],[[],24],[[],24],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[],12],[[]],[[]],[[]],0,0,[[]],[[]],[4],[4],[4],[[]],[[],4],[[]],[[[32,[2]],9,2],10],[[],11],[[],11],[[],12],[[[32,[2]],10,13,2],14],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[17,17],[23,23],[[]],[[]],[4],[4],[4],[4],[4],[4],[[17,17],14],[[23,23],14],[[],14],[[],14],[[17,5],6],[[17,5],6],[[23,5],6],[[]],[[]],[20,[[33,[23]]]],[[[18,[7]]],[[33,[23]]]],[20,[[33,[23]]]],[[],4],[[],4],[[]],[[]],[23,21],[21,23],[25],[[[0,[26,27]]],23],[23,21],[23,24],[23,[[8,[7]]]],[23,24],[[]],[[]],[[],24],[[],11],[[],11],[[],11],[[],11],[[],12],[[],12],[[]],[[]],0,[[]],[[]],[10,10],[[]],[4],[4],[4],[[10,10],14],[[],14],[[10,5],6],[[10,5],6],[[]],[[],4],[[]],[[34,21],10],0,0,[[]],[[],24],[[],11],[[],11],[[],12],[[]]],"c":[],"p":[[4,"NetworkId"],[8,"Hashable"],[8,"Signer"],[15,"usize"],[3,"Formatter"],[6,"Result"],[15,"u8"],[3,"Vec"],[3,"Keypair"],[3,"Signature"],[4,"Result"],[3,"TypeId"],[3,"PubKey"],[15,"bool"],[4,"KeypairError"],[4,"PubKeyError"],[4,"SecKeyError"],[15,"slice"],[6,"Result"],[15,"str"],[6,"ScalarField"],[6,"CurvePoint"],[3,"SecKey"],[3,"String"],[3,"Demand"],[8,"RngCore"],[8,"CryptoRng"],[8,"Error"],[4,"Option"],[3,"CompressedPubKey"],[6,"Result"],[3,"Schnorr"],[6,"Result"],[6,"BaseField"]]},\ "o1_utils":{"doc":"A collection of utility functions and constants that can …","t":"CCCCCCCCCCAAAAOOAAAAAAAAAADLLLLLLLLLLLLLLLLFFFIKKIKKKDLLMLLLLLLLLLLMLLLLLDLLLLLLLLLLMMLLLLIKKKKIKKKKINNNIENIGIKLLLLLLLLLLLLLKKKKKFLLLLLLLKKKKLLLLKKLLDILLLLLLLLLLLLLLLLLLMLLLLLLKLKLKLLLLISLFFDDLLLLLLLLLLLLLLLLLLALLLLLLLLLLFFF","n":["BigUintFieldHelpers","BigUintHelpers","BitwiseOps","ChunkedEvaluations","ExtendedDensePolynomial","ExtendedEvaluations","FieldHelpers","ForeignElement","RandomField","Two","adjacent_pairs","array","biguint_helpers","bitwise_operations","box_array","box_array2","chunked_evaluations","chunked_polynomial","dense_polynomial","evaluations","field_helpers","foreign_field","hasher","math","serialization","tests","AdjacentPairs","borrow","borrow_mut","deref","deref_mut","drop","from","from","from","init","into","into_iter","next","try_from","try_into","type_id","vzip","vec_to_boxed_array","vec_to_boxed_array2","vec_to_boxed_array3","BigUintHelpers","bitlen","from_hex","BitwiseOps","bitwise_and","bitwise_not","bitwise_xor","ChunkedEvaluations","borrow","borrow_mut","chunks","clone","clone_into","deref","deref_mut","deserialize","drop","from","init","into","serialize","size","to_owned","try_from","try_into","type_id","vzip","ChunkedPolynomial","borrow","borrow_mut","deref","deref_mut","drop","evaluate_chunks","from","init","into","linearize","polys","size","try_from","try_into","type_id","vzip","ExtendedDensePolynomial","eval_polynomial","scale","shiftr","to_chunked_polynomial","ExtendedEvaluations","pow","scale","shift","square","BigUintFieldHelpers","DecodeHex","DeserializeBits","DeserializeBytes","FieldHelpers","FieldHelpersError","FromBigToField","RandomField","Result","Two","bits_to_field","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","fmt","from","from_biguint","from_bits","from_bytes","from_hex","gen","gen_field_with_bits","i32_to_field","init","into","modulus_biguint","provide","size_in_bytes","to_bigint_positive","to_biguint","to_bits","to_bytes","to_field","to_hex","to_owned","to_string","try_from","try_into","two","two_pow","type_id","vzip","ForeignElement","ForeignFieldHelpers","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","from_be","from_biguint","from_field","index","index_mut","init","into","limbs","neg","new","to_biguint","to_owned","try_from","try_into","two_to_2limb","two_to_2limb","two_to_3limb","two_to_3limb","two_to_limb","two_to_limb","type_id","vzip","zero","CryptoDigest","PREFIX","digest","ceil_log2","div_ceil","SerdeAs","SerdeAsUnchecked","borrow","borrow","borrow_mut","borrow_mut","deref","deref","deref_mut","deref_mut","deserialize_as","deserialize_as","drop","drop","from","from","init","init","into","into","ser","serialize_as","serialize_as","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","deserialize","serialize","make_test_rng"],"q":[[0,"o1_utils"],[26,"o1_utils::adjacent_pairs"],[43,"o1_utils::array"],[46,"o1_utils::biguint_helpers"],[49,"o1_utils::bitwise_operations"],[53,"o1_utils::chunked_evaluations"],[73,"o1_utils::chunked_polynomial"],[90,"o1_utils::dense_polynomial"],[95,"o1_utils::evaluations"],[100,"o1_utils::field_helpers"],[149,"o1_utils::foreign_field"],[185,"o1_utils::hasher"],[188,"o1_utils::math"],[190,"o1_utils::serialization"],[221,"o1_utils::serialization::ser"],[223,"o1_utils::tests"]],"d":["","","","","","","","","","","This module hosts the AdjacentPairs type, which can be …","This module provides different helpers in creating …","This module provides a set of functions to perform bit …","This module provides a set of functions to perform bit …","A macro similar to vec![$elem; $size] which returns a boxed","A macro similar to vec![vec![$elem; $size1]; $size2] which …","This module contains a type ChunkedEvaluations,","This module contains a type ChunkedPolynomial, and a …","This adds a few utility functions for the DensePolynomial …","This adds a few utility functions for the Evaluations …","Useful helper methods to extend ark_ff::Field.","Describes helpers for foreign field arithmetics Generic …","This module provides the CryptoDigest trait, which …","This modules implements some math helper functions.","This adds a few utility functions for serializing and …","Utils only for testing","You can create a new AdjacentPairs from an iterator using:","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Converts a vector of elements to a boxed one. Semantically …","Converts a two-dimensional vector to a constant sized …","Converts a three-dimensional vector to a constant sized …","Helpers for BigUint","Returns the minimum number of bits required to represent a …","Creates a BigUint from an hexadecimal string in big endian","Bitwise operations","Conjunction of the bits of two BigUint inputs for a given …","Negate the bits of a Self input If it provides a larger …","Bitwise XOR of two BigUint inputs","This struct contains multiple chunk evaluations.","","","The chunk evaluations.","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","Each chunk polynomial has degree size-1.","","","","","","This struct contains multiple chunk polynomials with …","","","","","","This function evaluates polynomial in chunks.","Returns the argument unchanged.","","Calls U::from(self).","Multiplies the chunks of a polynomial with powers of …","The chunk polynomials.","Each chunk polynomial has degree size-1.","","","","","An extension for the DensePolynomial type.","eval_polynomial(coeffs, x) evaluates a polynomial given …","This function “scales” (multiplies all the …","Shifts all the coefficients to the right.","Convert a polynomial into chunks. Implementors must ensure …","An extension for the Evaluations type.","Raise each evaluation to some power pow","This function “scales” (multiplies) a polynomial with …","Utility function for shifting poly along domain coordinate","Square each evaluation","Field element wrapper for BigUint","","","","Field element helpers Unless otherwise stated everything …","Field helpers error","","Helper to generate random field elements","Result alias using FieldHelpersError","Helper to obtain two","Create a new field element from this field elements bits","","","","","","","","","","","","Returns the argument unchanged.","Deserialize from BigUint","Deserialize from bits","Deserialize from bytes","Deserialize from little-endian hex","Initialize a random input with a random value of given …","Generates a random field element of up to a given number …","Converts an i32 into a Field","","Calls U::from(self).","Get the modulus as BigUint","","Field size in bytes","Serialize field element f to a (positive) BigInt directly.","Serialize field element to a BigUint","Serialize to bits","Serialize to bytes","Convert BigUint into PrimeField element","Serialize to hex","","","","","Value two","Power of two","","","Represents a foreign field element Represents a foreign …","Foreign field helpers for B the limb size.","","","","","","","","","","","Returns the argument unchanged.","Initializes a new foreign element from a set of bytes in …","Initializes a new foreign element from a big unsigned …","Initializes a new foreign element from an element in the …","","","","Calls U::from(self).","limbs in little endian order","Initializes a new foreign element from an absolute BigUint …","Creates a new foreign element from an array containing N …","Obtains the big integer representation of the foreign …","","","","2^{2 * B}","","2^{3 * B}","","2^{B}","","","","Creates a new foreign element representing the value zero","This trait can be implemented on any type that implements …","The domain separation string to use in the hash. This is …","Returns the digest of self. Note: this is implemented as …","Returns ceil(log2(d)) but panics if d = 0.","This function is bound to be stable soon. See …","You can use SerdeAs with serde_with in order to serialize …","Same as SerdeAs but using unchecked (de)serialization.","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","You can use this module for serialization and …","","","","","","","","","","","You can use this to deserialize an arkworks type with …","You can use this to serialize an arkworks type with serde …","Create a new test rng with a random seed"],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,42,42,0,43,43,43,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,0,44,44,44,44,0,45,45,45,45,0,24,24,24,0,0,24,0,0,0,46,24,24,24,24,24,24,24,24,24,24,24,24,46,46,46,46,47,47,0,24,24,46,24,46,46,46,46,46,48,46,24,24,24,24,49,49,24,24,0,0,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,37,50,37,50,37,50,37,37,37,37,0,51,51,0,0,0,0,52,53,52,53,52,53,52,53,52,53,52,53,52,53,52,53,52,53,0,52,53,52,53,52,53,52,53,52,53,0,0,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[1],[1],[1],[2],[3,[[5,[4]]]],[[]],[[],1],[[]],[[]],[[[5,[6,4]]],7],[[],8],[[],8],[[],9],[[]],[10,[[12,[11]]]],[[[10,[[10,[13]]]]],[[12,[[11,[[11,[13]]]]]]]],[[[10,[[10,[[10,[13]]]]]]],[[12,[[11,[[11,[[11,[13]]]]]]]]]],0,[[],1],[14],0,[1],[[[7,[1]]]],[[]],0,[[]],[[]],0,[[[16,[[0,[15,13]]]]],[[16,[[0,[15,13]]]]]],[[]],[1],[1],[17,[[8,[[16,[15]]]]]],[1],[[]],[[],1],[[]],[[[16,[15]],18],8],0,[[]],[[],8],[[],8],[[],9],[[]],0,[[]],[[]],[1],[1],[1],[[[20,[19]],19],[[10,[19]]]],[[]],[[],1],[[]],[[[20,[19]],19],[[21,[19]]]],0,0,[[],8],[[],8],[[],9],[[]],0,[22],[[]],[1],[[1,1],20],0,[1],[[]],[1],[[]],0,0,0,0,0,0,0,0,0,0,[[1,1],23],[[]],[[]],[24,24],[[]],[1],[1],[1],[[24,24],25],[[],25],[[24,26],27],[[24,26],27],[[]],[28,[[23,[15]]]],[[[22,[25]]],23],[[[22,[29]]],23],[14,23],[[7,[7,[1]]]],[1],[30,[[0,[[32,[31]],33]]]],[[],1],[[]],[[],28],[34],[[],1],[[],35],[[],28],[[],[[10,[25]]]],[[],[[10,[29]]]],[[],[[23,[15]]]],[[],36],[[]],[[],36],[[],8],[[],8],[[]],[31],[[],9],[[]],0,0,[[]],[[]],[[[37,[[0,[13,19]]]]],[[37,[[0,[13,19]]]]]],[[]],[1],[1],[1],[[[37,[[0,[38,19]]]],[37,[[0,[38,19]]]]],25],[[],25],[[[37,[19]],26],27],[[]],[[[22,[29]]],[[37,[19]]]],[28,[[37,[19]]]],[15,[[37,[15]]]],[[[37,[19]],1]],[[[37,[19]],1]],[[],1],[[]],0,[[[37,[19]],28],[[37,[19]]]],[[[11,[19]]],[[37,[19]]]],[[[37,[19]]],28],[[]],[[],8],[[],8],[[]],[[],19],[[]],[[],19],[[]],[[],19],[[],9],[[]],[[],[[37,[19]]]],0,0,[[],[[11,[29]]]],[1,1],[[1,1],1],0,0,[[]],[[]],[[]],[[]],[1],[1],[1],[1],[17,[[8,[39]]]],[17,[[8,[39]]]],[1],[1],[[]],[[]],[[],1],[[],1],[[]],[[]],0,[[40,18],8],[[40,18],8],[[],8],[[],8],[[],8],[[],8],[[],9],[[],9],[[]],[[]],[17,[[8,[39]]]],[[40,18],8],[[[7,[[11,[29]]]]],41]],"c":[],"p":[[15,"usize"],[15,"never"],[8,"IntoIterator"],[8,"Iterator"],[3,"AdjacentPairs"],[8,"Copy"],[4,"Option"],[4,"Result"],[3,"TypeId"],[3,"Vec"],[15,"array"],[3,"Box"],[8,"Clone"],[15,"str"],[8,"PrimeField"],[3,"ChunkedEvaluations"],[8,"Deserializer"],[8,"Serializer"],[8,"Field"],[3,"ChunkedPolynomial"],[3,"DensePolynomial"],[15,"slice"],[6,"Result"],[4,"FieldHelpersError"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"BigUint"],[15,"u8"],[15,"i32"],[15,"u64"],[8,"From"],[8,"Neg"],[3,"Demand"],[3,"BigInt"],[3,"String"],[3,"ForeignElement"],[8,"PartialEq"],[8,"CanonicalDeserialize"],[8,"CanonicalSerialize"],[3,"StdRng"],[8,"BigUintHelpers"],[8,"BitwiseOps"],[8,"ExtendedDensePolynomial"],[8,"ExtendedEvaluations"],[8,"FieldHelpers"],[8,"RandomField"],[8,"BigUintFieldHelpers"],[8,"Two"],[8,"ForeignFieldHelpers"],[8,"CryptoDigest"],[3,"SerdeAs"],[3,"SerdeAsUnchecked"]]},\ -"o1vm":{"doc":"","t":"GGRGGCCGGAAAAAAAAAANNNRRDDDNRRRRRDDDDNDDEDDMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMFMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFNEDDDDDNNMMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNNNNCNNNENENNNNNNNCNCNNNNLLLLLLLLAALLLLLLALLLLLLALLALLALLFFLLALLLLLLLLANEDNNNENNNGNNRRRNNNNNNNNNNNNNNNNNNNEDNNEDNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLMLLLLLLLLMLLLLLLLDLLLLMLLLLLLLLLLLLMLLLLLLMLLDGGGLLLLLLLLLLLLLLLLLLLLLLLIIILLLLLLLLLLLLLLLLKLLLIIQKLLLKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLGGLLLLLLLDLLLLLLLLLLLLLLLLMMLLLLLLLMNNNENNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCAAAAAAAENGRRRNLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLLLLDGGGLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNRRRRRRRNEDEDINEDNNNNNNNNNNNNNNNNNNNNNNNNQNEDRRRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNLLLKKKKKLLLKLLLLLLLLLLLLLLLLKKKLLLLLLLLLLLLLLLLLLLLKKKKALLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKFFFFLLLLLLLLLLLLLKLLLLLLLLLKKKLLLLLLLLKLLLLKLLLLLLLLKKLLKKLLLKKKKLLKKKLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKDLLLLLLLLLLLLLLLMLLMMMMLMLLLLLRRRRRRRRRDLLLLMLLLLLLLMMMLLLLLMMMMLLLLLLGGLLLLLLLDRRRRRRRRDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLMMMMMMLLLLLLLMMMMLLLLMMLLLLMMLLLLLLMLLLLLLLLLLLLLLLLLLDIDDLLLLLLMLFLLLLLLLLLLLLKLKLMMLLLLLLMMMLLLLLLLLLLLLLMFEDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIDIQDILLLLLLLLMLLLLMMLLKLLLLLKLLLLLLMKLKLKLKLKKLLLKLLLMLLLLLLLLM","n":["BaseSponge","Curve","DOMAIN_SIZE","Fp","OpeningProof","RAMLookup","RAMLookupMode","ScalarSponge","SpongeParams","cannon","cannon_cli","folding","keccak","lookups","mips","preimage_oracle","proof","ramlookup","trace","Always","Every","Exactly","HINT_CLIENT_READ_FD","HINT_CLIENT_WRITE_FD","Hint","HostProgram","Meta","Never","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","PREIMAGE_CLIENT_READ_FD","PREIMAGE_CLIENT_WRITE_FD","Page","ParsePreimageKeyError","Preimage","PreimageKey","Range","Start","State","StepFrequency","Symbol","VmConfiguration","arguments","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create","create","create","data","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","equivalent","exit","exited","find_address_symbol","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_str","get","get","heap","hi","host","index","info_at","init","init","init","init","init","init","init","init","init","init","init","init","input_state_file","into","into","into","into","into","into","into","into","into","into","into","into","last_hint","lo","memory","metadata_file","name","name","next_pc","output_state_file","pc","pprof_cpu","preimage","preimage_key","preimage_offset","proof_at","proof_fmt","registers","serialize","serialize","size","snapshot_fmt","snapshot_state_at","start","step","step","step_frequency_parser","stop_at","symbols","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","main_cli","read_configuration","Beta","Challenge","ChallengeIter","DecomposedFoldingEnvironment","FoldingEnvironment","FoldingInstance","FoldingWitness","Gamma","JointCombiner","alphas","blinder","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","challenge","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","col","col","combine","combine","commitments","curr_witnesses","curr_witnesses","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_alphas","get_blinder","get_hash","get_hash","hash","hash","index","index","init","init","init","init","init","init","instances","instances","into","into","into","into","into","into","into_iter","iter","len","new","new","next","next_back","next_witnesses","next_witnesses","nth","par_bridge","relax","relax","selector","selector","size_hint","structure","structure","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","witness","AbsorbRootZero","AbsorbShifts","AbsorbXor","AbsorbZeroPad","Absorbs","BooleanityPadding","ChiShiftsB","ChiShiftsSum","Constraint","Constraint","Error","IotaStateG","Lookup","PadAtEnd","PaddingSuffix","PiRhoRotatedE","PiRhoShiftsE","PiRhoWordE","Sponges","SqueezeShifts","Steps","ThetaQuotientC","ThetaRotatedC","ThetaShiftsC","ThetaWordC","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","column","constraints","deref","deref","deref_mut","deref_mut","drop","drop","environment","eq","eq","equivalent","equivalent","fmt","fmt","folding","from","from","helpers","init","init","interpreter","into","into","pad_blocks","standardize","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","Absorb","Absorbs","AbsorbsIter","BlockIndex","ChiShiftsB","ChiShiftsSum","ColumnAlias","First","HashIndex","Input","KeccakWitness","Last","Middle","N_ZKVM_KECCAK_COLS","N_ZKVM_KECCAK_REL_COLS","N_ZKVM_KECCAK_SEL_COLS","Only","Output","PadBytesFlags","PadLength","PadSuffix","PiRhoDenseE","PiRhoDenseRotE","PiRhoExpandRotE","PiRhoQuotientE","PiRhoRemainderE","PiRhoShiftsE","Round","RoundConstants","RoundNumber","Sponge","SpongeBytes","SpongeNewState","SpongeShifts","SpongeZeros","Sponges","SpongesIter","Squeeze","StepIndex","Steps","StepsIter","ThetaDenseC","ThetaDenseRotC","ThetaExpandRotC","ThetaQuotientC","ThetaRemainderC","ThetaShiftsC","TwoToPad","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","index","index","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","is_witness","iter","iter","iter","len","len","len","next","next","next","next_back","next_back","next_back","nth","nth","nth","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","size_hint","size_hint","size_hint","to_column","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","constraints","default","deref","deref_mut","drop","fmt","from","init","into","lookups","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","KeccakEnv","borrow","borrow_mut","clone","clone_into","constraints_env","default","deref","deref_mut","drop","fmt","from","init","into","new","null_state","selector","step","step","to_owned","try_from","try_into","type_id","update_step","vzip","witness_env","write_column","write_column_field","KeccakConfig","KeccakFoldingEnvironment","KeccakFoldingInstance","KeccakFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","ArithHelpers","BoolHelpers","LogupHelpers","either_zero","is_boolean","is_nonzero","is_one","is_zero","lookup_byte","lookup_pad","lookup_rc16","lookup_reset","lookup_round_constants","lookup_sparse","not","one","or","read_syscall","two","two_pow","write_syscall","xor","zero","Interpreter","KeccakInterpreter","Variable","add_lookup","block_in_padding","block_index","bytes_block","constant","constant_field","constrain","constrain_absorb","constrain_booleanity","constrain_chi","constrain_flags","constrain_iota","constrain_padding","constrain_pirho","constrain_round","constrain_sponge","constrain_squeeze","constrain_theta","constraints","dense_c","dense_e","dense_rot_c","dense_rot_e","expand_rot_c","expand_rot_e","flags_block","from_quarters","from_shifts","hash_index","in_padding","input","input_of_step","is_absorb","is_pad","is_root","is_round","is_sponge","is_squeeze","lookup_steps","lookup_syscall_hash","lookup_syscall_preimage","lookups","lookups_round_chi","lookups_round_iota","lookups_round_pirho","lookups_round_theta","lookups_sponge","mode_absorb","mode_pad","mode_root","mode_rootpad","mode_round","mode_squeeze","new_state","old_state","output","output_of_step","pad_bytes_flags","pad_length","pad_suffix","quotient_c","quotient_e","remainder_c","remainder_e","round","round_constants","shifts_b","shifts_c","shifts_e","shifts_sum","sponge_byte","sponge_bytes","sponge_shifts","sponge_zeros","state_a","state_g","step_index","two_to_pad","variable","vec_dense_c","vec_dense_e","vec_dense_rot_c","vec_dense_rot_e","vec_expand_rot_c","vec_expand_rot_e","vec_quotient_c","vec_quotient_e","vec_remainder_c","vec_remainder_e","vec_shifts_b","vec_shifts_c","vec_shifts_e","vec_shifts_sum","vec_sponge_shifts","xor_state","DecomposedKeccakTrace","KeccakTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","default","deref","deref_mut","drop","fmt","from","init","into","multiplicities","tables","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","witness","AtMost4Lookup","ByteLookup","KeccakStepLookup","LookupTableIDs","MemoryLookup","PadLookup","RangeCheck16Lookup","RegisterLookup","ResetLookup","RoundConstantsLookup","SparseLookup","SyscallLookup","all_variants","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","from_u32","get_hash","hash","init","into","is_fixed","ix_by_value","length","partial_cmp","to_owned","to_u32","try_from","try_into","type_id","vzip","ITypeInstruction","Instruction","JTypeInstruction","RTypeInstruction","column","constraints","folding","interpreter","registers","trace","witness","ColumnAlias","InstructionCounter","MIPSWitness","N_MIPS_COLS","N_MIPS_REL_COLS","N_MIPS_SEL_COLS","ScratchState","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index_mut","index_mut","init","into","is_witness","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","Env","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","bitmask","borrow","borrow_mut","check_boolean","check_equal","check_is_zero","constant","constraints","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","divmod","divmod_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","increase_instruction_counter","init","instruction_counter","into","inverse_or_zero","lookups","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","request_hint_write","request_preimage_write","scratch_state_idx","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","DecomposableMIPSFoldingConfig","DecomposableMIPSFoldingEnvironment","MIPSFoldingInstance","MIPSFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","Add","AddImmediate","AddImmediateUnsigned","AddUnsigned","And","AndImmediate","BranchEq","BranchGeqZero","BranchGtZero","BranchLeqZero","BranchLtZero","BranchNeq","CountLeadingOnes","CountLeadingZeros","Div","DivUnsigned","FD_HINT_READ","FD_HINT_WRITE","FD_PREIMAGE_READ","FD_PREIMAGE_WRITE","FD_STDERR","FD_STDIN","FD_STDOUT","IType","ITypeInstruction","ITypeInstructionIter","Instruction","InstructionIter","InterpreterEnv","JType","JTypeInstruction","JTypeInstructionIter","Jump","JumpAndLink","JumpAndLinkRegister","JumpRegister","Load16","Load16Unsigned","Load32","Load8","Load8Unsigned","LoadUpperImmediate","LoadWordLeft","LoadWordRight","MoveFromHi","MoveFromLo","MoveNonZero","MoveToHi","MoveToLo","MoveZero","Multiply","MultiplyToRegister","MultiplyUnsigned","Nor","Or","OrImmediate","Position","RType","RTypeInstruction","RTypeInstructionIter","SYSCALL_BRK","SYSCALL_CLONE","SYSCALL_EXIT_GROUP","SYSCALL_FCNTL","SYSCALL_MMAP","SYSCALL_READ","SYSCALL_WRITE","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalVariable","ShiftRightArithmetic","ShiftRightArithmeticVariable","ShiftRightLogical","ShiftRightLogicalVariable","Store16","Store32","Store32Conditional","Store8","StoreWordLeft","StoreWordRight","Sub","SubUnsigned","Sync","SyscallExitGroup","SyscallFcntl","SyscallMmap","SyscallOther","SyscallReadHint","SyscallReadOther","SyscallReadPreimage","SyscallWriteHint","SyscallWriteOther","SyscallWritePreimage","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","debugging","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_hash","get_hash","get_hash","get_hash","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_jtype","interpret_rtype","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","inverse_or_zero","is_zero","iter","iter","iter","iter","len","len","len","len","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next","next","next","next","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check64","read_memory","read_register","report_exit","request_hint_write","request_preimage_write","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","InstructionParts","borrow","borrow_mut","clone","clone_into","decode","default","deref","deref_mut","deserialize","drop","encode","eq","equivalent","fmt","from","funct","init","into","op_code","rd","rs","rt","serialize","shamt","to_owned","try_from","try_into","type_id","vzip","NUM_REGISTERS","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_HI","REGISTER_LO","REGISTER_NEXT_IP","REGISTER_PREIMAGE_KEY_END","REGISTER_PREIMAGE_KEY_START","REGISTER_PREIMAGE_OFFSET","Registers","borrow","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref_mut","deserialize","drop","fmt","from","general_purpose","heap_pointer","hi","index","index_mut","init","into","iter","lo","next_instruction_pointer","preimage_key","preimage_offset","serialize","to_owned","try_from","try_into","type_id","vzip","DecomposedMIPSTrace","MIPSTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","SCRATCH_SIZE","SyscallEnv","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","bitmask","borrow","borrow","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone_into","constant","copy","count_leading_ones","count_leading_zeros","create","create","decode_instruction","default","deref","deref","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","hash_counter","increase_instruction_counter","init","init","instruction_counter","instruction_counter","into","into","inverse_or_zero","keccak_env","last_hint","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","preimage","preimage_bytes_read","preimage_key","preimage_oracle","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","request_hint_write","request_preimage_write","reset_scratch_state","scratch_state","scratch_state_idx","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","syscall_env","test_less_than","test_less_than_signed","test_zero","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","vzip","write_column","write_field_column","xor_witness","PreImageOracle","PreImageOracleT","RW","ReadWrite","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cmd","create","create_bidirectional_channel","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","get_preimage","get_preimage","hint","hint","hint_client","hint_server","init","init","init","into","into","into","oracle_client","oracle_server","reader","start","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","writer","fold","LookupMode","RAMLookup","Read","Write","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","init","init","into","into","into_logup","new","numerator","read_if","read_one","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_if","write_one","DecomposableTracer","DecomposedTrace","Foldable","Selector","Trace","Tracer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","constraints","deref","deref","deref_mut","deref_mut","domain_size","domain_size","drop","drop","folding_constraints","folding_constraints","from","from","in_circuit","index","init","init","init","init","into","into","is_full","lookups","new","number_of_rows","pad_dummy","pad_dummy","pad_with_row","pad_with_row","pad_with_zeros","pad_with_zeros","pad_witnesses","push_row","push_row","reset","set_selector_column","to_folding_pair","to_folding_pair","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness"],"q":[[0,"o1vm"],[19,"o1vm::cannon"],[271,"o1vm::cannon_cli"],[273,"o1vm::folding"],[417,"o1vm::keccak"],[488,"o1vm::keccak::column"],[706,"o1vm::keccak::constraints"],[732,"o1vm::keccak::environment"],[760,"o1vm::keccak::folding"],[787,"o1vm::keccak::helpers"],[810,"o1vm::keccak::interpreter"],[908,"o1vm::keccak::trace"],[917,"o1vm::keccak::witness"],[944,"o1vm::lookups"],[984,"o1vm::mips"],[995,"o1vm::mips::column"],[1030,"o1vm::mips::constraints"],[1092,"o1vm::mips::folding"],[1119,"o1vm::mips::interpreter"],[1478,"o1vm::mips::interpreter::debugging"],[1508,"o1vm::mips::registers"],[1548,"o1vm::mips::trace"],[1557,"o1vm::mips::witness"],[1672,"o1vm::preimage_oracle"],[1726,"o1vm::proof"],[1727,"o1vm::ramlookup"],[1772,"o1vm::trace"]],"d":["","Elliptic curve group of BN254","Domain size shared by the Keccak evaluations, MIPS …","Scalar field of BN254","","","","","","Modules mimicking the defined structures used by Cannon …","A CLI mimicking the Cannon CLI.","Integration with folding. Contains common trait …","Implementation of Keccak used by the zkVM.","Instantiation of the lookups for the VM project. …","MIPS interpreter. This module implements a zero-knowledge …","Preimage oracle interface used by the zkVM.","Proof system of the zkVM.","The RAM lookup argument.","Abstract execution traces, possible long, that can be …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of Challenge","Environment for the decomposable folding protocol, for a …","","Folding instance containing the commitment to a witness of …","Includes the data witness columns and also the dynamic …","","","Reuses the Alphas defined in the example of folding","Blinder used in the polynomial commitment scheme","","","","","","","","","","","","","","","Challenges for the proof. We do use 3 challenges:","","","","","","","","","","","","","Commitments to the witness columns, including the dynamic …","Corresponds to the omega evaluations, for both sides","Corresponds to the evaluations at ω, for both sides","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","Commitments to the witness columns, for both sides","Commitments to the witness columns, for both sides","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Corresponds to the zeta*omega evaluations, for both sides …","Corresponds to the evaluations at ζω, for both sides …","","","This method takes an Instance and a commitment to zero and …","This method takes a witness and a vector of evaluations to …","","","","","Structure of the folded circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","All the names for constraints involved in the Keccak …","","Errors that can occur during the check of the witness","","","","","","","","","","","","","","","","","","","","","","","This module defines the custom columns used in the Keccak …","This module contains the constraints for one Keccak step.","","","","","","","This module contains the definition and implementation of …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","This module defines the Keccak interpreter in charge of …","Calls U::from(self).","Calls U::from(self).","This function returns a vector of field elements that …","Standardizes a Keccak step to a common opcode","","","","","","","","","","","","This file contains the witness for the Keccak hash …","","Order of absorb steps in the computation depending on the …","An iterator over the variants of Absorbs","Block index inside the hash to enumerate preimage bytes","","","Column aliases used by the Keccak circuit. The number of …","","Hash identifier to distinguish inside the syscalls …","","The witness columns used by the Keccak circuit. The Keccak …","","","Total number of columns used in Keccak, including relation …","The maximum total number of witness columns used by the …","The number of columns required for the Keccak selectors. …","","","","","","","","","","","","Current step performs a round of the permutation. The …","","","Current step is a sponge","","","","","Variants of Keccak sponges","An iterator over the variants of Sponges","","Hash step identifier to distinguish inside interstep …","Variants of Keccak steps available for the interpreter. …","An iterator over the variants of Steps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Map the column alias to the actual column index. Note that …","Map the column alias to the actual column index. Note that …","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","","Constraints that are added to the circuit","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Variables that are looked up in the circuit","","","","","","","","This struct contains all that needs to be kept track of …","","","","","Environment for the constraints (includes lookups). The …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Starts a new Keccak environment for a given hash index and …","Nullifies the Witness and Constraint environments by …","Returns the selector of the current step in standardized …","Entrypoint for the interpreter. It executes one step of …","Current step","","","","","This function updates the next step of the environment …","","Environment for the witness (includes multiplicities)","Writes an integer value to a column of the Keccak witness","Writes a field value to a column of the Keccak witness","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a column alias to the corresponding witness column.","","Map a selector column to the corresponding witness column.","","Calls U::from(self).","","","","","","This trait contains helper functions for arithmetic …","This trait contains helper functions for boolean …","This trait contains helper functions for the lookups used …","Degree-2 variable encoding whether at least one of the two …","Degree-2 variable encoding whether the input is a boolean …","Degree-2 variable encoding whether the first input is …","Degree-1 variable encoding whether the input is the value …","","Adds a lookup to the Byte table","Adds a lookup to the Pad table","Adds a lookup to the RangeCheck16 table","Adds a lookup to the Reset table","Adds a lookup to the RoundConstants table","Adds a lookup to the Shift table","Degree-1 variable encoding the negation of the input Note: …","Returns a variable representing the value one","Degree-2 variable encoding the OR of two variables, which …","","Returns a variable representing the value two","Returns a variable representing the value 2^x","","Degree-2 variable encoding the XOR of two variables which …","Returns a variable representing the value zero","This trait includes functionalities needed to obtain the …","","","Adds a given Lookup to the environment if the condition …","This function returns a degree-2 variable that is computed …","Returns the block index as a variable","Returns a variable that encodes the idx-th block of bytes …","Creates a variable from a constant integer","Creates a variable from a constant field element","Adds one KeccakConstraint to the environment if the …","Constrains 332 checks of absorb sponges","Constrains 136 checks of booleanity for some mode flags.","Constrains 200 checks of the chi algorithm in round steps","Constrains 136 checks of correctness of mode flags","Constrains 4 checks of the iota algorithm in round steps","Constrains 6 checks of padding absorb sponges","Constrains 150 checks of the pirho algorithm in round steps","Constrains 389 checks of round steps","Constrains 354 checks of sponge steps","Constrains 16 checks of squeeze sponges","Constrains 35 checks of the theta algorithm in round steps","Creates all 879 constraints/checks to the environment:","Returns the (x,q)-th term of ThetaDenseC, as a variable","Returns the (y,x,q)-th variable of PiRhoDenseE","Returns the (x,q)-th variable of ThetaDenseRotC","Returns the (y,x,q)-th variable of PiRhoDenseRotE","Returns the (x,q)-th variable of ThetaExpandRotC","Returns the (y,x,q)-th variable of PiRhoExpandRotE","Returns a vector of pad bytes flags as variables, with idx …","This function returns the composed variable from dense …","COLUMN OPERATIONS /// This function returns the composed …","Returns the hash index as a variable","Returns a variable that encodes whether the idx-th byte of …","Returns the 100 step input variables, which correspond to …","Returns a slice of the input variables of the current step …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","SELECTOR OPERATIONS /// Returns a degree-2 variable that …","Returns a variable that encodes whether the current step …","Reads a Lookup containing the input of a step and writes a …","When in Squeeze mode, writes a Lookup containing the …","When in Absorb mode, reads Lookups containing the 136 …","Creates all possible 2361 lookups to the Keccak …","Adds the 800 lookups required for Chi in the round","Adds the 1 lookup required for Iota in the round","Adds the 700 lookups required for PiRho in the round","Adds the 120 lookups required for Theta in the round","Adds the 601 lookups required for the sponge","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","Returns the idx-th new state expanded quarter, as a …","Returns the idx-th old state expanded quarter, as a …","Returns the 100 step output variables, which correspond to …","Returns a slice of the output variables of the current …","Returns the 136 flags indicating which bytes of the new …","Returns a variable that encodes the bytelength of the …","Returns a variable that encodes the idx-th chunk of the …","Returns the (x)-th term of ThetaQuotientC, as a variable","Returns the (y,x,q)-th variable of PiRhoQuotientE","Returns the (x,q)-th variable of ThetaRemainderC","Returns the (y,x,q)-th variable of PiRhoRemainderE","Returns a variable that encodes the current round number […","Returns the 4 expanded quarters that encode the round …","Returns the (i,y,x,q)-th variable of ChiShiftsB","Returns the (i,x,q)-th variable of ThetaShiftsC","Returns the (i,y,x,q)-th variable of PiRhoShiftsE","Returns the (i,y,x,q)-th variable of ChiShiftsSum","Returns the idx-th byte of the sponge, as a variable","Returns the 200 bytes of the sponge, as variables","Returns the idx-th term of the shifts of the sponge, as a …","Returns the last 32 terms that are added to the new block …","Returns the (y,x,q)-th input of the theta algorithm, as a …","Returns the idx-th output of a round step as a variable","Returns the step index as a variable","Returns a variable that encodes the value 2^pad_length","Returns the variable corresponding to a given column alias.","Returns the 20 variables corresponding to ThetaDenseC","Returns the 100 variables corresponding to PiRhoDenseE","Returns the 20 variables corresponding to ThetaDenseRotC","Returns the 100 variables corresponding to PiRhoDenseRotE","Returns the 20 variables corresponding to ThetaExpandRotC","Returns the 100 variables corresponding to PiRhoExpandRotE","Returns the 5 variables corresponding to ThetaQuotientC","Returns the 100 variables corresponding to PiRhoQuotientE","Returns the 20 variables corresponding to ThetaRemainderC","Returns the 100 variables corresponding to PiRhoRemainderE","Returns the 400 variables corresponding to ChiShiftsB","Returns the 80 variables corresponding to ThetaShiftsC","Returns the 400 variables corresponding to PiRhoShiftsE","Returns the 400 variables corresponding to ChiShiftsSum","Returns the 400 terms that compose the shifts of the …","Returns the output of an absorb sponge, which is the XOR …","The Keccak circuit trace","A Keccak instruction trace","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","Checks the constraint tag by checking that the input x is …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","The multiplicities of each lookup entry. Should not be …","The fixed tables used in the Keccak gate","","","","","","","","The full state of the Keccak gate (witness)","Values from 0 to 4 to check the number of bytes read from …","All values that can be stored in a byte (amortized table, …","Input/Output of Keccak steps","All of the possible lookup table IDs used in the zkVM","","All [1..136] values of possible padding lengths, the value …","Single-column table of all values in the range [0, 2^16)","","Dual-column table of all values in the range [0, 2^16) and …","24-row table with all possible values for round and their …","Single-column table of 2^16 entries with the sparse …","Syscalls communication channel","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Abstract columns (or variables of our multi-variate …","","Represents one line of the execution trace of the virtual …","All the witness columns used in MIPS","The number of columns used for relation witness in the …","The number of witness columns used to store the …","","","","","","","","","","","","","Returns the argument unchanged.","","","Map the column alias to the actual column index.","Map the column alias to the actual column index.","","","","Calls U::from(self).","","","","","","","","","The environment keeping the constraints between the …","","","","","","","","","","","","","A list of constraints, which are multi-variate polynomials …","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","This function checks that the preimage is read correctly. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a column alias to the corresponding witness column.","Map a selector column to the corresponding witness column.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of ITypeInstruction","","An iterator over the variants of Instruction","","","","An iterator over the variants of JTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","A position can be seen as an indexed variable","","","An iterator over the variants of RTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","Check that the witness value x is a boolean (0 or 1); …","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","Returns (x / y, x % y), storing the results in …","Returns (x / y, x % y), storing the results in …","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","Returns x^(-1), or 0 if x is 0, storing the result in …","","","","","","","","","","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","Returns x nor y, storing the result in position.","","","","","Returns x or y, storing the result in position.","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","","","","","","Request the preimage oracle for len bytes and store the …","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This represents the internal state of the virtual machine.","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","","","","","","","","","","","The MIPS circuit trace","The MIPS instruction trace","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Computes what is the non-normalized next instruction …","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","","","","","Execute a single step of the MIPS program. Returns the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","FIXME: DUMMY FOLD FUNCTION THAT ONLY KEEPS THE LAST …","Enum representing the two different modes of a RAMLookup","Struct containing a RAMLookup","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Transforms the current RAMLookup into an equivalent Logup","Creates a new RAMLookup from a mode, a table ID, a …","Returns the numerator corresponding to this lookup in the …","Reads one value when if_is_true is 1.","Reads one value from a table.","","","","","","","","","","","","Writes one value when if_is_true is 1.","Writes one value to a table.","DecomposableTracer builds traces for some program …","Struct representing a circuit execution trace which is …","The trait Foldable describes structures that can be folded.","","Implement a trace for a single instruction.","Tracer builds traces for some program executions. The …","","","","","","","","","","","","","","","The domain size of the circuit (should coincide with that …","","","Returns a map of constraints that are compatible with …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns a boolean indicating whether the witness for the …","","Initialize a new trace with the given domain size, …","","","","Calls U::from(self).","Calls U::from(self).","Returns whether the witness for the given selector has …","","Create a new decomposable trace with the given domain …","Returns the number of rows that have been instantiated for …","Pad the rows of one opcode with the first row until …","","Pad the rows of one opcode with the given row until …","","Pads the rows of one opcode with zero rows until reaching …","","Pads the rows of the witnesses until reaching the domain …","Add a witness row to the circuit (only for relation …","","Resets the witness after folding","Sets the selector column to all ones, and the rest to all …","Returns the witness for the given selector as a folding …","","","","The traces are indexed by the selector Inside the witness …","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,9,10,4,13,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,13,15,5,6,9,10,13,15,16,18,1,2,3,4,5,6,16,18,1,5,6,16,15,15,6,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,18,9,10,15,15,3,13,3,9,10,13,15,16,18,1,2,3,4,5,6,3,9,10,13,15,16,18,1,2,3,4,5,6,15,15,15,3,2,5,15,3,15,3,15,15,15,3,3,15,13,15,5,3,3,5,15,4,0,3,6,4,1,2,3,4,5,6,15,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,0,0,32,0,0,0,0,0,0,32,32,37,37,31,34,32,35,37,39,31,34,32,35,37,39,31,34,37,32,35,37,39,32,35,37,39,31,34,37,39,37,31,34,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,32,39,32,39,32,35,37,39,31,34,32,32,35,37,39,37,37,32,39,32,39,37,39,31,34,32,35,37,39,31,34,31,34,32,35,37,39,35,32,35,31,34,35,35,31,34,35,35,37,39,31,34,35,31,34,37,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,39,59,59,59,59,0,59,59,59,0,58,0,59,58,59,59,59,59,59,0,59,0,59,59,59,59,58,59,58,59,58,59,58,59,0,0,58,59,58,59,58,59,0,58,59,58,59,58,59,0,58,59,0,58,59,0,58,59,0,0,58,59,0,58,59,58,59,58,59,58,59,0,64,0,0,62,62,62,0,66,62,62,0,66,66,0,0,0,66,62,62,62,62,62,62,62,62,62,62,61,62,62,61,62,62,62,62,0,0,64,62,0,0,62,62,62,62,62,62,62,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,64,66,64,66,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,64,66,62,61,64,66,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,64,66,62,61,64,66,69,69,69,69,62,61,63,64,65,66,67,62,61,63,64,65,66,67,61,63,65,67,62,61,64,66,63,65,67,63,65,67,63,65,67,63,65,67,63,65,67,62,61,64,66,63,65,67,62,61,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,62,61,63,64,65,66,67,0,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,0,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,73,0,0,0,0,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,75,75,75,75,75,75,75,0,0,0,127,127,127,127,127,128,128,128,128,128,128,127,129,127,128,129,129,128,127,129,0,0,77,77,130,130,130,77,77,77,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,77,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,0,0,78,79,78,78,78,79,78,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,71,71,71,0,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0,0,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,83,83,83,83,82,82,82,82,82,82,82,82,82,82,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,0,0,0,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,86,86,86,86,86,86,86,89,93,93,89,89,93,93,93,93,93,93,93,89,89,89,89,0,0,0,0,0,0,0,84,0,0,0,0,0,84,0,0,91,91,89,89,93,93,93,93,93,93,93,93,89,89,89,89,89,89,89,89,89,89,89,93,95,84,0,0,0,0,0,0,0,0,0,89,93,93,89,89,89,89,89,89,89,93,93,93,93,93,93,89,89,89,89,89,89,89,89,89,89,89,89,89,95,89,93,95,95,95,95,95,95,95,95,95,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,89,91,93,95,95,95,95,0,89,91,93,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,95,84,88,89,90,91,92,93,94,84,89,91,93,95,84,89,91,93,95,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,89,91,93,95,95,84,89,91,93,95,95,84,88,89,90,91,92,93,94,95,0,0,0,0,84,88,89,90,91,92,93,94,84,88,90,92,94,95,95,84,89,91,93,88,90,92,94,95,95,95,88,90,92,94,88,90,92,94,95,88,90,92,94,95,88,90,92,94,84,89,91,93,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,88,90,92,94,95,95,95,95,84,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,84,88,89,90,91,92,93,94,95,95,95,95,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,102,103,102,102,102,103,102,0,0,0,0,0,0,0,0,0,0,105,105,105,105,105,105,105,106,105,106,105,105,105,106,106,105,105,105,105,105,106,105,106,105,106,105,106,105,105,105,106,105,105,105,105,105,105,106,105,105,105,105,105,105,105,106,105,105,105,106,105,105,106,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,106,105,106,105,106,105,106,105,105,105,105,106,105,105,105,0,0,0,0,107,131,132,107,131,132,107,107,0,107,131,132,107,131,132,107,131,132,107,131,132,104,107,104,107,107,107,107,131,132,107,131,132,107,107,131,107,107,131,132,107,131,132,107,131,132,107,131,132,131,0,0,0,112,112,112,72,112,72,112,72,112,72,112,72,112,72,112,72,112,72,72,112,72,112,72,112,72,72,72,72,72,72,112,72,72,112,72,112,72,112,72,112,72,72,72,0,0,0,133,0,0,121,122,121,122,121,122,121,122,121,121,122,121,122,121,122,121,122,134,122,121,122,122,122,133,121,122,122,121,122,122,121,135,122,133,122,133,122,133,122,135,133,122,122,122,134,122,121,122,122,121,122,121,122,121,122,121,122,121],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[[]],[[]],[[]],[[]],[[]],[[]],[[[8,[7]]],9],[[[8,[7]]],10],[11,4],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[12,[[14,[13]]]],[12,[[14,[15]]]],[12,[[14,[5]]]],[12,[[14,[6]]]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[16,16],17],[[18,18],17],[[1,1],17],[[5,5],17],[[6,6],17],[[],17],0,0,[[6,19],[[21,[20]]]],[[13,22],23],[[15,22],23],[[16,22],23],[[18,22],23],[[1,22],23],[[2,22],23],[[3,22],23],[[4,22],23],[[5,22],23],[[6,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,[[14,[18]]]],[9,[[8,[7]]]],[10,[[8,[7]]]],0,0,0,0,0,[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,25],14],[[15,25],14],0,0,0,0,0,0,[24,[[14,[1,20]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[15,20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],27],[28,3],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[31,[29,30]],32,33]],[[[34,[29,30]],32,33]],0,[32,32],[35,35],[[[37,[[0,[30,36]]]]],[[37,[[0,[30,36]]]]]],[[[39,[[0,[30,38]]]]],[[39,[[0,[30,38]]]]]],[[]],[[]],[[]],[[]],[[[31,[29,30]],40,33],8],[[[34,[29,30]],40,33],8],[[[37,[36]],[37,[36]]],[[37,[36]]]],[[[39,[38]],[39,[38]],38],[[39,[38]]]],0,0,0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[32,32],17],[[[39,[[0,[41,38]]]],[39,[[0,[41,38]]]]],17],[[],17],[[],17],[[32,22],23],[[35,22],23],[[[37,[[0,[42,36]]]],22],23],[[[39,[[0,[42,38]]]],22],23],[[]],[[]],[43,32],[[]],[[]],[[]],[[]],[[[37,[36]]],44],[[[37,[36]]]],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[32,49]],[[[39,[[0,[45,38]]]],49]],[[[37,[36]],32]],[[[39,[50]],51]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[35,11],[[[52,[37]],[52,[39]]],[[31,[29,30]]]],[[[52,[37]],[52,[39]]],[[34,[29,30]]]],[35,21],[35,21],0,0,[[35,11],21],[[],53],[[],54],[[[56,[55]]],57],[[[31,[29,30]],33],8],[[[34,[29,30]],33],8],[35],0,0,[[[37,[36]]]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[58,58],[59,59],[[]],[[]],0,0,[11],[11],[11],[11],[11],[11],0,[[58,58],17],[[59,59],17],[[],17],[[],17],[[58,22],23],[[59,22],23],0,[[]],[[]],0,[[],11],[[],11],0,[[]],[[]],[11,[[52,[60]]]],[61,61],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[62,62],[61,61],[63,63],[64,64],[65,65],[66,66],[67,67],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[62,62],68],[[61,61],68],[[64,64],68],[[66,66],68],[[],64],[[],66],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[62,62],17],[[61,61],17],[[64,64],17],[[66,66],17],[[],17],[[],17],[[],17],[[],17],[[62,22],23],[[61,22],23],[[63,22],23],[[64,22],23],[[65,22],23],[[66,22],23],[[67,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[62,49]],[[61,49]],[[64,49]],[[66,49]],[[[69,[30]],61]],[[[69,[30]],62]],[[[69,[30]],61]],[[[69,[30]],62]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[61],[[]],[[]],[[]],[62,17],[[],63],[[],65],[[],67],[63,11],[65,11],[67,11],[63,21],[65,21],[67,21],[63,21],[65,21],[67,21],[[63,11],21],[[65,11],21],[[67,11],21],[[],53],[[],53],[[],53],[[62,62],[[21,[68]]]],[[61,61],[[21,[68]]]],[[64,64],[[21,[68]]]],[[66,66],[[21,[68]]]],[63],[65],[67],[62,51],[61,51],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[70,[60]],[72,[71]]]],[[]],[[]],[[[70,[30]]],[[70,[30]]]],[[]],[48],[60],[[[70,[60]],59]],0,[[],[[70,[60]]]],[11],[11],[11],[[[70,[42]],22],23],[[]],[[],11],[[]],0,[[]],[[],14],[[],14],[48],[[],26],[[[70,[60]],62]],[[]],0,[[]],[[]],[[[73,[30]]],[[73,[30]]]],[[]],0,[[],[[73,[60]]]],[11],[11],[11],[[[73,[42]],22],23],[[]],[[],11],[[]],[[48,[74,[7]]],[[73,[60]]]],[[[73,[60]]]],[[[73,[60]]],61],[[[73,[60]]]],0,[[]],[[],14],[[],14],[[],26],[[[73,[60]]]],[[]],0,[[[73,[60]],62,48]],[[[73,[60]],62,60]],0,0,0,0,[[]],[[]],[75,75],[[]],[11],[11],[11],[[75,75],17],[[],17],[[75,22],23],[[]],[[[0,[45,46]],47],48],[[75,49]],[[76,51]],[[76,62]],[[76,61]],[[],11],[[]],[[]],[[],14],[[],14],[[],26],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[8],[[]],[[]],[8],[[]],[[]],[[]],[[]],[8],[[]],[48],[8],[[]],[[]],0,0,0,[[[72,[71]]]],[11],[[]],[11,8],[48],[[]],[59],[61],[[77,61]],[[61,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[[77,61]],[[61,[8,[[8,[8]]]]]],[61],[[61,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[61],[61],[61],[61,[[8,[[8,[8]]]]]],[61],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[11,8],[[74,[21,[11]],11]],[[74,[21,[11]],[21,[11]],[21,[11]],[21,[11]]]],[[]],[11],[[],52],[[],8],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[61],[11],[11],[[],52],[[],8],[[],52],[[]],[11],[11],[[11,11,11]],[[11,11]],[[11,11,11]],[[]],[[],52],[[11,11,11,11]],[[11,11,11]],[[11,11,11,11]],[[11,11,11,11]],[11],[[],52],[11],[[],52],[[11,11,11]],[11],[[]],[[]],[62],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[[],52],[11],0,0,[[11,61,73],78],[[11,73],79],[78,11],[[78,52],11],[78,11],[79],[[78,52]],0,[[[80,[60]],[72,[71]]]],[[]],[[]],[[[80,[30]]],[[80,[30]]]],[[]],[48],[60],[[[80,[60]],59]],[[],[[80,[60]]]],[11],[11],[11],[[[80,[42]],22],23],[[]],[[],11],[[]],0,0,[[]],[[],14],[[],14],[48],[[],26],[[[80,[60]],62]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[8,[71]]]],[[]],[[]],[71,71],[[]],[[71,71],68],[11],[11],[11],[[71,71],17],[[],17],[[71,22],23],[[]],[19,71],[[[0,[45,46]],47],48],[[71,49]],[[],11],[[]],[71,17],[[71,81],11],[71,11],[[71,71],[[21,[68]]]],[[]],[71,19],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[82,82],[[]],[[82,82],68],[11],[11],[11],[[82,82],17],[[],17],[[82,22],23],[[]],[[[0,[45,46]],47],48],[[82,49]],[[[83,[30]],84]],[[[83,[30]],82]],[[[83,[30]],82]],[[[83,[30]],84]],[[],11],[[]],[82,17],[[82,82],[[21,[68]]]],[82,51],[[]],[[],14],[[],14],[[],26],[[]],0,[[[85,[60]]]],[[[85,[60]],[72,[71]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]],19,19]],[[]],[[]],[[]],[[]],[[]],[19],0,[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[],[[85,[60]]]],[11],[11],[[[85,[60]]]],[[[85,[60]]]],[11],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[]],[[[85,[60]]]],[[],11],[[[85,[60]]]],[[]],[[[85,[60]]]],0,[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],0,[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[[85,[60]]]],[[],14],[[],14],[[],26],[[[85,[60]]]],[[]],[[[85,[60]]]],0,0,0,0,[[]],[[]],[86,86],[[]],[11],[11],[11],[[86,86],17],[[],17],[[86,22],23],[[]],[[[0,[45,46]],47],48],[[86,49]],[[87,51]],[[87,84]],[[87,82]],[[],11],[[]],[[]],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[72,[71]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84,84],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[84,84],68],[[89,89],68],[[91,91],68],[[93,93],68],[19],[[]],[[]],[[]],0,[[],89],[[],91],[[],93],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[[84,84],17],[[89,89],17],[[91,91],17],[[93,93],17],[[]],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[84,22],23],[[88,22],23],[[89,22],23],[[90,22],23],[[91,22],23],[[92,22],23],[[93,22],23],[[94,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[[0,[45,46]],47],48],[[]],[[]],[[84,49]],[[89,49]],[[91,49]],[[93,49]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[95,84]],[[95,93]],[[95,91]],[[95,89]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84],[[]],[[]],[[]],[[]],[[]],[[]],[[],88],[[],90],[[],92],[[],94],[88,11],[90,11],[92,11],[94,11],[[]],[[]],[[]],[88,21],[90,21],[92,21],[94,21],[88,21],[90,21],[92,21],[94,21],[[]],[[88,11],21],[[90,11],21],[[92,11],21],[[94,11],21],[[]],[[],53],[[],53],[[],53],[[],53],[[84,84],[[21,[68]]]],[[89,89],[[21,[68]]]],[[91,91],[[21,[68]]]],[[93,93],[[21,[68]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[88],[90],[92],[94],[[]],[[]],[[]],[[]],[84,51],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[96,96],[[]],[19,96],[[],96],[11],[11],[12,[[14,[96]]]],[11],[96,19],[[96,96],17],[[],17],[[96,22],23],[[]],0,[[],11],[[]],0,0,0,0,[[96,25],14],0,[[]],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[97,[30]]],[[97,[30]]]],[[]],0,[[],[[97,[98]]]],[11],[11],[12,[[14,[[97,[99]]]]]],[11],[[[97,[42]],22],23],[[]],0,0,0,[[[97,[30]],11]],[[[97,[30]],11]],[[],11],[[]],[97,100],0,0,0,0,[[[97,[101]],25],14],[[]],[[],14],[[],14],[[],26],[[]],0,0,[[11,84,85],102],[[11,85],103],[102,11],[[102,52],11],[102,11],[103],[[102,52]],0,0,0,0,0,0,0,0,0,0,[[[105,[60,104]]]],[[[105,[60,104]],[72,[71]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]],19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[106,106],[[]],[19],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[11,15,104],[[105,[60,104]]]],[15,106],[[[105,[60,104]]]],[[],106],[11],[11],[11],[11],[[[105,[60,104]]]],[[[105,[60,104]]]],[11],[11],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[]],[[]],[[[105,[60,104]],19],11],[[[105,[60,104]],19],7],[[[105,[60,104]],19],11],0,0,[[[105,[60,104]]]],[[],11],[[],11],[[[105,[60,104]]]],0,[[]],[[]],[[[105,[60,104]]]],0,0,0,0,0,0,[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]],48],[[[105,[60,104]]]],[[[105,[60,104]]],48],[[[105,[60,104]]]],0,0,0,0,[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],0,0,[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],0,0,[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]],3,6,4],84],[[[105,[60,104]]]],0,[[[105,[60,104]]]],[[[105,[60,104]]]],[[[105,[60,104]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[[105,[60,104]],11]],[[[105,[60,104]],11]],[[[105,[60,104]]]],[[]],[[]],[[[105,[60,104]],82,48]],[[[105,[60,104]],82,60]],[[[105,[60,104]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[[21,[2]]],107],[[],21],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[[]],[[[52,[7]]],9],[[107,[52,[7]]],9],[10],[[107,10]],0,0,[[],11],[[],11],[[],11],[[]],[[]],[[]],0,0,0,[107,108],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[]],[[]],[[]],0,[[109,[110,[71]],[111,[8]]]],0,0,0,0,[[]],[[]],[[]],[[]],[112,112],[[[72,[30,[0,[30,113]]]]],[[72,[30,[0,[30,113]]]]]],[[]],[[]],[11],[11],[11],[11],[11],[11],[[112,22],23],[[[72,[42,[0,[42,113]]]],22],23],[[[72,[[0,[114,60]],113]],22],23],[[]],[[]],[[],11],[[],11],[[]],[[]],[[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]],[[120,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],[[112,113,[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],[74,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]]],[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],[[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]],[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]]],[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],[[113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]]],[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],[[]],[[]],[[],20],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],[[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]]],[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],[[113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]]]]],[[72,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,42,118,119]]]],[116,[[0,[30,115,116,117,42,118,119]]]],[117,[[0,[30,115,116,117,42,118,119]]]],42,118,119]]]],42,118,119]]]],42,118,119]],113]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[121,[[0,[30,29]]]]],[[121,[[0,[30,29]]]]]],[[[122,[[0,[30,29]]]]],[[122,[[0,[30,29]]]]]],[[]],[[]],0,[11],[11],[11],[11],0,0,[11],[11],[[],[[124,[[8,[123]]]]]],[[[122,[29]]],[[124,[[8,[[123,[29]]]]]]]],[[]],[[]],[[[122,[29]]],17],[[[122,[29]]]],[11],[[],11],[[],11],[11,[[122,[29]]]],[[]],[[]],[[[122,[29]]],17],0,[11],[[[122,[29]]],11],[[],11],[[[122,[29]]],11],[52,11],[[[122,[29]],52],11],[[],11],[[[122,[29]]],11],[[]],[52],[[[122,[29]],52]],[[[122,[29]]]],[[[122,[29]],11]],[[55,125]],[[[122,[29]],126,55,125]],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],0],"c":[],"p":[[4,"StepFrequency"],[3,"HostProgram"],[3,"VmConfiguration"],[3,"Start"],[3,"Symbol"],[3,"Meta"],[15,"u8"],[3,"Vec"],[3,"Preimage"],[3,"Hint"],[15,"usize"],[8,"Deserializer"],[3,"Page"],[4,"Result"],[3,"State"],[3,"ParsePreimageKeyError"],[15,"bool"],[3,"PreimageKey"],[15,"u32"],[3,"String"],[4,"Option"],[3,"Formatter"],[6,"Result"],[15,"str"],[8,"Serializer"],[3,"TypeId"],[3,"Command"],[3,"ArgMatches"],[8,"FoldingConfig"],[8,"Clone"],[3,"DecomposedFoldingEnvironment"],[4,"Challenge"],[4,"Side"],[3,"FoldingEnvironment"],[3,"ChallengeIter"],[8,"CommitmentCurve"],[3,"FoldingInstance"],[8,"FftField"],[3,"FoldingWitness"],[4,"CurrOrNext"],[8,"PartialEq"],[8,"Debug"],[4,"ChallengeTerm"],[4,"Alphas"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[6,"Fp"],[4,"Column"],[15,"array"],[3,"IterBridge"],[3,"RelaxedInstance"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"RelaxedWitness"],[4,"Error"],[4,"Constraint"],[8,"Field"],[4,"Steps"],[4,"ColumnAlias"],[3,"StepsIter"],[4,"Sponges"],[3,"SpongesIter"],[4,"Absorbs"],[3,"AbsorbsIter"],[4,"Ordering"],[6,"KeccakWitness"],[3,"Env"],[4,"LookupTableIDs"],[3,"RAMLookup"],[3,"KeccakEnv"],[15,"slice"],[3,"KeccakConfig"],[6,"KeccakFoldingWitness"],[8,"Interpreter"],[6,"KeccakTrace"],[6,"DecomposedKeccakTrace"],[3,"Env"],[8,"PrimeField"],[4,"ColumnAlias"],[6,"MIPSWitness"],[4,"Instruction"],[3,"Env"],[3,"DecomposableMIPSFoldingConfig"],[6,"MIPSFoldingWitness"],[3,"InstructionIter"],[4,"RTypeInstruction"],[3,"RTypeInstructionIter"],[4,"JTypeInstruction"],[3,"JTypeInstructionIter"],[4,"ITypeInstruction"],[3,"ITypeInstructionIter"],[8,"InterpreterEnv"],[3,"InstructionParts"],[3,"Registers"],[8,"Default"],[8,"Deserialize"],[8,"Iterator"],[8,"Serialize"],[6,"MIPSTrace"],[6,"DecomposedMIPSTrace"],[8,"PreImageOracleT"],[3,"Env"],[3,"SyscallEnv"],[3,"PreImageOracle"],[3,"Child"],[3,"EvaluationDomains"],[3,"ProofInputs"],[3,"Witness"],[4,"LookupMode"],[8,"LookupTableID"],[8,"Display"],[8,"Add"],[8,"Sub"],[8,"Mul"],[8,"One"],[8,"Zero"],[3,"Logup"],[3,"Trace"],[3,"DecomposedTrace"],[4,"FoldingCompatibleExpr"],[3,"BTreeMap"],[3,"SRS"],[8,"FqSponge"],[8,"BoolHelpers"],[8,"LogupHelpers"],[8,"ArithHelpers"],[8,"KeccakInterpreter"],[3,"ReadWrite"],[3,"RW"],[8,"Tracer"],[8,"Foldable"],[8,"DecomposableTracer"]]},\ +"o1vm":{"doc":"","t":"GGRGGCCGGAAAAAAAAAANNNRRDDDNRRRRRDDDDNDDEDDMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLLLLLMLLLLLLLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMFMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLFFNEDDDDDNNMMLLLLLLLLLLLLLLMLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLMMLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMNNNNCNNNENENNNNNNNCNCNNNNLLLLLLLLAALLLLLLALLLLLLALLALLALLFFLLALLLLLLLLANEDNNNENNNGNNRRRNNNNNNNNNNNNNNNNNNNEDNNEDNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLMLLLLLLLLMLLLLLLLDLLLLMLLLLLLLLLLLLMLLLLLLMLLDGGGLLLLLLLLLLLLLLLLLLLLLLLIIILLLLLLLLLLLLLLLLKLLLIIQKLLLKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLGGLLLLLLLDLLLLLLLLLLLLLLLLMMLLLLLLLMNNNENNNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLCCCCAAAAAAAENGRRRNLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLLLLDGGGLLLLLLLLLLLLLLLLLLLLLLLNNNNNNNNNNNNNNNNRRRRRRRNEDEDINEDNNNNNNNNNNNNNNNNNNNNNNNNQNEDRRRRRRRNNNNNNNNNNNNNNNNNNNNNNNNNNNNNQNNLLLKKKKKLLLKLLLLLLLLLLLLLLLLKKKLLLLLLLLLLLLLLLLLLLLKKKKALLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKFFFFLLLLLLLLLLLLLKLLLLLLLLLKKKLLLLLLLLKLLLLKLLLLLLLLKKLLKKLLLKKKKLLKKKLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKDLLLLLLLLLLLLLLLMLLMMMMLMLLLLLRRRRRRRRRDLLLLMLLLLLLLMMMLLLLLMMMMLLLLLLGGLLLLLLLDRRRRRRRRDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMLLLMMMMMMLLLLLLLMMMMLLLLMMLLLLMMLLLLLLMLLLLLLLLLLLLLLLLLLDIDDLLLLLLMLFLLLLLLLLLLLLKLKLMMLLLLLLMMMLLLLLLLLLLLLLMFEDNNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLIDIQDILLLLLLLLMLLLLMMLLKLLLLLKLLLLLLMKLKLKLKLKKLLLKLLLMLLLLLLLLM","n":["BaseSponge","Curve","DOMAIN_SIZE","Fp","OpeningProof","RAMLookup","RAMLookupMode","ScalarSponge","SpongeParams","cannon","cannon_cli","folding","keccak","lookups","mips","preimage_oracle","proof","ramlookup","trace","Always","Every","Exactly","HINT_CLIENT_READ_FD","HINT_CLIENT_WRITE_FD","Hint","HostProgram","Meta","Never","PAGE_ADDRESS_MASK","PAGE_ADDRESS_SIZE","PAGE_SIZE","PREIMAGE_CLIENT_READ_FD","PREIMAGE_CLIENT_WRITE_FD","Page","ParsePreimageKeyError","Preimage","PreimageKey","Range","Start","State","StepFrequency","Symbol","VmConfiguration","arguments","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","create","create","create","data","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize","deserialize","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","eq","equivalent","exit","exited","find_address_symbol","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from_str","get","get","heap","hi","host","index","info_at","init","init","init","init","init","init","init","init","init","init","init","init","input_state_file","into","into","into","into","into","into","into","into","into","into","into","into","last_hint","lo","memory","metadata_file","name","name","next_pc","output_state_file","pc","pprof_cpu","preimage","preimage_key","preimage_offset","proof_at","proof_fmt","registers","serialize","serialize","size","snapshot_fmt","snapshot_state_at","start","step","step","step_frequency_parser","stop_at","symbols","time","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","main_cli","read_configuration","Beta","Challenge","ChallengeIter","DecomposedFoldingEnvironment","FoldingEnvironment","FoldingInstance","FoldingWitness","Gamma","JointCombiner","alphas","blinder","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","challenge","challenge","challenges","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","col","col","combine","combine","commitments","curr_witnesses","curr_witnesses","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","eq","eq","equivalent","equivalent","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_alphas","get_blinder","get_hash","get_hash","hash","hash","index","index","init","init","init","init","init","init","instances","instances","into","into","into","into","into","into","into_iter","iter","len","new","new","next","next_back","next_witnesses","next_witnesses","nth","par_bridge","relax","relax","selector","selector","size_hint","structure","structure","to_absorb","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","witness","AbsorbRootZero","AbsorbShifts","AbsorbXor","AbsorbZeroPad","Absorbs","BooleanityPadding","ChiShiftsB","ChiShiftsSum","Constraint","Constraint","Error","IotaStateG","Lookup","PadAtEnd","PaddingSuffix","PiRhoRotatedE","PiRhoShiftsE","PiRhoWordE","Sponges","SqueezeShifts","Steps","ThetaQuotientC","ThetaRotatedC","ThetaShiftsC","ThetaWordC","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","column","constraints","deref","deref","deref_mut","deref_mut","drop","drop","environment","eq","eq","equivalent","equivalent","fmt","fmt","folding","from","from","helpers","init","init","interpreter","into","into","pad_blocks","standardize","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness","Absorb","Absorbs","AbsorbsIter","BlockIndex","ChiShiftsB","ChiShiftsSum","ColumnAlias","First","HashIndex","Input","KeccakWitness","Last","Middle","N_ZKVM_KECCAK_COLS","N_ZKVM_KECCAK_REL_COLS","N_ZKVM_KECCAK_SEL_COLS","Only","Output","PadBytesFlags","PadLength","PadSuffix","PiRhoDenseE","PiRhoDenseRotE","PiRhoExpandRotE","PiRhoQuotientE","PiRhoRemainderE","PiRhoShiftsE","Round","RoundConstants","RoundNumber","Sponge","SpongeBytes","SpongeNewState","SpongeShifts","SpongeZeros","Sponges","SpongesIter","Squeeze","StepIndex","Steps","StepsIter","ThetaDenseC","ThetaDenseRotC","ThetaExpandRotC","ThetaQuotientC","ThetaRemainderC","ThetaShiftsC","TwoToPad","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","default","default","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","get_hash","get_hash","get_hash","get_hash","hash","hash","hash","hash","index","index","index_mut","index_mut","init","init","init","init","init","init","init","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","is_witness","iter","iter","iter","len","len","len","next","next","next","next_back","next_back","next_back","nth","nth","nth","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","size_hint","size_hint","size_hint","to_column","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","constraints","default","deref","deref_mut","drop","fmt","from","init","into","lookups","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","KeccakEnv","borrow","borrow_mut","clone","clone_into","constraints_env","default","deref","deref_mut","drop","fmt","from","init","into","new","null_state","selector","step","step","to_owned","try_from","try_into","type_id","update_step","vzip","witness_env","write_column","write_column_field","KeccakConfig","KeccakFoldingEnvironment","KeccakFoldingInstance","KeccakFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","ArithHelpers","BoolHelpers","LogupHelpers","either_zero","is_boolean","is_nonzero","is_one","is_zero","lookup_byte","lookup_pad","lookup_rc16","lookup_reset","lookup_round_constants","lookup_sparse","not","one","or","read_syscall","two","two_pow","write_syscall","xor","zero","Interpreter","KeccakInterpreter","Variable","add_lookup","block_in_padding","block_index","bytes_block","constant","constant_field","constrain","constrain_absorb","constrain_booleanity","constrain_chi","constrain_flags","constrain_iota","constrain_padding","constrain_pirho","constrain_round","constrain_sponge","constrain_squeeze","constrain_theta","constraints","dense_c","dense_e","dense_rot_c","dense_rot_e","expand_rot_c","expand_rot_e","flags_block","from_quarters","from_shifts","hash_index","in_padding","input","input_of_step","is_absorb","is_pad","is_root","is_round","is_sponge","is_squeeze","lookup_steps","lookup_syscall_hash","lookup_syscall_preimage","lookups","lookups_round_chi","lookups_round_iota","lookups_round_pirho","lookups_round_theta","lookups_sponge","mode_absorb","mode_pad","mode_root","mode_rootpad","mode_round","mode_squeeze","new_state","old_state","output","output_of_step","pad_bytes_flags","pad_length","pad_suffix","quotient_c","quotient_e","remainder_c","remainder_e","round","round_constants","shifts_b","shifts_c","shifts_e","shifts_sum","sponge_byte","sponge_bytes","sponge_shifts","sponge_zeros","state_a","state_g","step_index","two_to_pad","variable","vec_dense_c","vec_dense_e","vec_dense_rot_c","vec_dense_rot_e","vec_expand_rot_c","vec_expand_rot_e","vec_quotient_c","vec_quotient_e","vec_remainder_c","vec_remainder_e","vec_shifts_b","vec_shifts_c","vec_shifts_e","vec_shifts_sum","vec_sponge_shifts","xor_state","DecomposedKeccakTrace","KeccakTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","Env","add_lookup","borrow","borrow_mut","clone","clone_into","constant","constant_field","constrain","default","deref","deref_mut","drop","fmt","from","init","into","multiplicities","tables","to_owned","try_from","try_into","two_pow","type_id","variable","vzip","witness","AtMost4Lookup","ByteLookup","KeccakStepLookup","LookupTableIDs","MemoryLookup","PadLookup","RangeCheck16Lookup","RegisterLookup","ResetLookup","RoundConstantsLookup","SparseLookup","SyscallLookup","all_variants","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","from_u32","get_hash","hash","init","into","is_fixed","ix_by_value","length","partial_cmp","to_owned","to_u32","try_from","try_into","type_id","vzip","ITypeInstruction","Instruction","JTypeInstruction","RTypeInstruction","column","constraints","folding","interpreter","registers","trace","witness","ColumnAlias","InstructionCounter","MIPSWitness","N_MIPS_COLS","N_MIPS_REL_COLS","N_MIPS_SEL_COLS","ScratchState","borrow","borrow_mut","clone","clone_into","cmp","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index_mut","index_mut","init","into","is_witness","partial_cmp","to_column","to_owned","try_from","try_into","type_id","vzip","Env","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","bitmask","borrow","borrow_mut","check_boolean","check_equal","check_is_zero","constant","constraints","copy","count_leading_ones","count_leading_zeros","default","deref","deref_mut","divmod","divmod_signed","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","increase_instruction_counter","init","instruction_counter","into","inverse_or_zero","lookups","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","nor_witness","or_witness","push_memory","push_memory_access","push_register_access_if","push_register_if","report_exit","request_hint_write","request_preimage_write","scratch_state_idx","set_halted","shift_left","shift_right","shift_right_arithmetic","sub_witness","test_less_than","test_less_than_signed","test_zero","try_from","try_into","type_id","variable","vzip","xor_witness","DecomposableMIPSFoldingConfig","DecomposableMIPSFoldingEnvironment","MIPSFoldingInstance","MIPSFoldingWitness","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","eq","equivalent","fmt","from","get_hash","hash","index","index","index","init","into","to_owned","try_from","try_into","type_id","vzip","Add","AddImmediate","AddImmediateUnsigned","AddUnsigned","And","AndImmediate","BranchEq","BranchGeqZero","BranchGtZero","BranchLeqZero","BranchLtZero","BranchNeq","CountLeadingOnes","CountLeadingZeros","Div","DivUnsigned","FD_HINT_READ","FD_HINT_WRITE","FD_PREIMAGE_READ","FD_PREIMAGE_WRITE","FD_STDERR","FD_STDIN","FD_STDOUT","IType","ITypeInstruction","ITypeInstructionIter","Instruction","InstructionIter","InterpreterEnv","JType","JTypeInstruction","JTypeInstructionIter","Jump","JumpAndLink","JumpAndLinkRegister","JumpRegister","Load16","Load16Unsigned","Load32","Load8","Load8Unsigned","LoadUpperImmediate","LoadWordLeft","LoadWordRight","MoveFromHi","MoveFromLo","MoveNonZero","MoveToHi","MoveToLo","MoveZero","Multiply","MultiplyToRegister","MultiplyUnsigned","Nor","Or","OrImmediate","Position","RType","RTypeInstruction","RTypeInstructionIter","SYSCALL_BRK","SYSCALL_CLONE","SYSCALL_EXIT_GROUP","SYSCALL_FCNTL","SYSCALL_MMAP","SYSCALL_READ","SYSCALL_WRITE","SetLessThan","SetLessThanImmediate","SetLessThanImmediateUnsigned","SetLessThanUnsigned","ShiftLeftLogical","ShiftLeftLogicalVariable","ShiftRightArithmetic","ShiftRightArithmeticVariable","ShiftRightLogical","ShiftRightLogicalVariable","Store16","Store32","Store32Conditional","Store8","StoreWordLeft","StoreWordRight","Sub","SubUnsigned","Sync","SyscallExitGroup","SyscallFcntl","SyscallMmap","SyscallOther","SyscallReadHint","SyscallReadOther","SyscallReadPreimage","SyscallWriteHint","SyscallWriteOther","SyscallWritePreimage","Variable","Xor","XorImmediate","access_memory","access_register","access_register_if","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","assert_boolean","assert_equal","assert_is_zero","bitmask","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","constant","copy","count_leading_ones","count_leading_zeros","debugging","default","default","default","deref","deref","deref","deref","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","drop","drop","drop","drop","drop","drop","eq","eq","eq","eq","equal","equivalent","equivalent","equivalent","equivalent","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","get_hash","get_hash","get_hash","get_hash","get_instruction_pointer","get_next_instruction_pointer","hash","hash","hash","hash","increase_heap_pointer","increase_instruction_counter","init","init","init","init","init","init","init","init","instruction_counter","interpret_instruction","interpret_itype","interpret_jtype","interpret_rtype","into","into","into","into","into","into","into","into","into_iter","into_iter","into_iter","into_iter","into_iter","inverse_or_zero","is_zero","iter","iter","iter","iter","len","len","len","len","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next","next","next","next","next_back","next_back","next_back","next_back","nor_witness","nth","nth","nth","nth","or_witness","par_bridge","par_bridge","par_bridge","par_bridge","partial_cmp","partial_cmp","partial_cmp","partial_cmp","push_memory","push_memory_access","push_register","push_register_access","push_register_access_if","push_register_if","range_check64","read_memory","read_register","report_exit","request_hint_write","request_preimage_write","set_halted","set_instruction_pointer","set_next_instruction_pointer","shift_left","shift_right","shift_right_arithmetic","sign_extend","size_hint","size_hint","size_hint","size_hint","sub_witness","test_less_than","test_less_than_signed","test_zero","to_column","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","variable","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","write_memory","write_register","write_register_if","xor_witness","InstructionParts","borrow","borrow_mut","clone","clone_into","decode","default","deref","deref_mut","deserialize","drop","encode","eq","equivalent","fmt","from","funct","init","into","op_code","rd","rs","rt","serialize","shamt","to_owned","try_from","try_into","type_id","vzip","NUM_REGISTERS","REGISTER_CURRENT_IP","REGISTER_HEAP_POINTER","REGISTER_HI","REGISTER_LO","REGISTER_NEXT_IP","REGISTER_PREIMAGE_KEY_END","REGISTER_PREIMAGE_KEY_START","REGISTER_PREIMAGE_OFFSET","Registers","borrow","borrow_mut","clone","clone_into","current_instruction_pointer","default","deref","deref_mut","deserialize","drop","fmt","from","general_purpose","heap_pointer","hi","index","index_mut","init","into","iter","lo","next_instruction_pointer","preimage_key","preimage_offset","serialize","to_owned","try_from","try_into","type_id","vzip","DecomposedMIPSTrace","MIPSTrace","init","new","pad_dummy","pad_with_row","pad_with_zeros","pad_witnesses","push_row","Env","MAX_ACC","MAX_NB_MEM_ACC","MAX_NB_REG_ACC","NUM_DECODING_LOOKUP_TERMS","NUM_GLOBAL_LOOKUP_TERMS","NUM_INSTRUCTION_LOOKUP_TERMS","NUM_LOOKUP_TERMS","SCRATCH_SIZE","SyscallEnv","add_constraint","add_lookup","add_witness","alloc_scratch","and_witness","bitmask","borrow","borrow","borrow_mut","borrow_mut","check_boolean","check_equal","check_is_zero","clone","clone_into","constant","copy","count_leading_ones","count_leading_zeros","create","create","decode_instruction","default","deref","deref","deref_mut","deref_mut","divmod","divmod_signed","drop","drop","equal","fetch_memory","fetch_memory_access","fetch_register","fetch_register_access","from","from","get_memory_access_page_index","get_memory_direct","get_memory_page_index","halt","hash_counter","increase_instruction_counter","init","init","instruction_counter","instruction_counter","into","into","inverse_or_zero","keccak_env","last_hint","last_memory_accesses","last_memory_write_index_accesses","memory","memory_write_index","mul_hi_lo","mul_hi_lo_signed","mul_signed_witness","next_instruction_counter","nor_witness","normalized_instruction_counter","or_witness","preimage","preimage_bytes_read","preimage_key","preimage_oracle","push_memory","push_memory_access","push_register_access_if","push_register_if","registers","registers_write_index","report_exit","request_hint_write","request_preimage_write","reset_scratch_state","scratch_state","scratch_state_idx","set_halted","shift_left","shift_right","shift_right_arithmetic","step","sub_witness","syscall_env","test_less_than","test_less_than_signed","test_zero","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","update_last_memory_access","update_last_memory_write_index_access","variable","vzip","vzip","write_column","write_field_column","xor_witness","PreImageOracle","PreImageOracleT","RW","ReadWrite","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cmd","create","create_bidirectional_channel","deref","deref","deref","deref_mut","deref_mut","deref_mut","drop","drop","drop","from","from","from","get_preimage","get_preimage","hint","hint","hint_client","hint_server","init","init","init","into","into","into","oracle_client","oracle_server","reader","start","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","writer","fold","LookupMode","RAMLookup","Read","Write","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deref","deref","deref_mut","deref_mut","drop","drop","fmt","fmt","fmt","from","from","init","init","into","into","into_logup","new","numerator","read_if","read_one","to_owned","to_owned","to_string","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","write_if","write_one","DecomposableTracer","DecomposedTrace","Foldable","Selector","Trace","Tracer","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","constraints","deref","deref","deref_mut","deref_mut","domain_size","domain_size","drop","drop","folding_constraints","folding_constraints","from","from","in_circuit","index","init","init","init","init","into","into","is_full","lookups","new","number_of_rows","pad_dummy","pad_dummy","pad_with_row","pad_with_row","pad_with_zeros","pad_with_zeros","pad_witnesses","push_row","push_row","reset","set_selector_column","to_folding_pair","to_folding_pair","to_owned","to_owned","trace","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","witness"],"q":[[0,"o1vm"],[19,"o1vm::cannon"],[271,"o1vm::cannon_cli"],[273,"o1vm::folding"],[417,"o1vm::keccak"],[488,"o1vm::keccak::column"],[706,"o1vm::keccak::constraints"],[732,"o1vm::keccak::environment"],[760,"o1vm::keccak::folding"],[787,"o1vm::keccak::helpers"],[810,"o1vm::keccak::interpreter"],[908,"o1vm::keccak::trace"],[917,"o1vm::keccak::witness"],[944,"o1vm::lookups"],[984,"o1vm::mips"],[995,"o1vm::mips::column"],[1030,"o1vm::mips::constraints"],[1092,"o1vm::mips::folding"],[1119,"o1vm::mips::interpreter"],[1478,"o1vm::mips::interpreter::debugging"],[1508,"o1vm::mips::registers"],[1548,"o1vm::mips::trace"],[1557,"o1vm::mips::witness"],[1672,"o1vm::preimage_oracle"],[1726,"o1vm::proof"],[1727,"o1vm::ramlookup"],[1772,"o1vm::trace"]],"d":["","Elliptic curve group of BN254","Domain size shared by the Keccak evaluations, MIPS …","Scalar field of BN254","","","","","","Modules mimicking the defined structures used by Cannon …","A CLI mimicking the Cannon CLI.","Integration with folding. Contains common trait …","Implementation of Keccak used by the zkVM.","Instantiation of the lookups for the VM project. …","MIPS interpreter. This module implements a zero-knowledge …","Preimage oracle interface used by the zkVM.","Proof system of the zkVM.","The RAM lookup argument.","Abstract execution traces, possible long, that can be …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of Challenge","Environment for the decomposable folding protocol, for a …","","Folding instance containing the commitment to a witness of …","Includes the data witness columns and also the dynamic …","","","Reuses the Alphas defined in the example of folding","Blinder used in the polynomial commitment scheme","","","","","","","","","","","","","","","Challenges for the proof. We do use 3 challenges:","","","","","","","","","","","","","Commitments to the witness columns, including the dynamic …","Corresponds to the omega evaluations, for both sides","Corresponds to the evaluations at ω, for both sides","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","","","","","Commitments to the witness columns, for both sides","Commitments to the witness columns, for both sides","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","Corresponds to the zeta*omega evaluations, for both sides …","Corresponds to the evaluations at ζω, for both sides …","","","This method takes an Instance and a commitment to zero and …","This method takes a witness and a vector of evaluations to …","","","","","Structure of the folded circuit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","All the names for constraints involved in the Keccak …","","Errors that can occur during the check of the witness","","","","","","","","","","","","","","","","","","","","","","","This module defines the custom columns used in the Keccak …","This module contains the constraints for one Keccak step.","","","","","","","This module contains the definition and implementation of …","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","This module defines the Keccak interpreter in charge of …","Calls U::from(self).","Calls U::from(self).","This function returns a vector of field elements that …","Standardizes a Keccak step to a common opcode","","","","","","","","","","","","This file contains the witness for the Keccak hash …","","Order of absorb steps in the computation depending on the …","An iterator over the variants of Absorbs","Block index inside the hash to enumerate preimage bytes","","","Column aliases used by the Keccak circuit. The number of …","","Hash identifier to distinguish inside the syscalls …","","The witness columns used by the Keccak circuit. The Keccak …","","","Total number of columns used in Keccak, including relation …","The maximum total number of witness columns used by the …","The number of columns required for the Keccak selectors. …","","","","","","","","","","","","Current step performs a round of the permutation. The …","","","Current step is a sponge","","","","","Variants of Keccak sponges","An iterator over the variants of Sponges","","Hash step identifier to distinguish inside interstep …","Variants of Keccak steps available for the interpreter. …","An iterator over the variants of Steps","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Map the column alias to the actual column index. Note that …","Map the column alias to the actual column index. Note that …","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","","Constraints that are added to the circuit","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Variables that are looked up in the circuit","","","","","","","","This struct contains all that needs to be kept track of …","","","","","Environment for the constraints (includes lookups). The …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","Starts a new Keccak environment for a given hash index and …","Nullifies the Witness and Constraint environments by …","Returns the selector of the current step in standardized …","Entrypoint for the interpreter. It executes one step of …","Current step","","","","","This function updates the next step of the environment …","","Environment for the witness (includes multiplicities)","Writes an integer value to a column of the Keccak witness","Writes a field value to a column of the Keccak witness","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a column alias to the corresponding witness column.","","Map a selector column to the corresponding witness column.","","Calls U::from(self).","","","","","","This trait contains helper functions for arithmetic …","This trait contains helper functions for boolean …","This trait contains helper functions for the lookups used …","Degree-2 variable encoding whether at least one of the two …","Degree-2 variable encoding whether the input is a boolean …","Degree-2 variable encoding whether the first input is …","Degree-1 variable encoding whether the input is the value …","","Adds a lookup to the Byte table","Adds a lookup to the Pad table","Adds a lookup to the RangeCheck16 table","Adds a lookup to the Reset table","Adds a lookup to the RoundConstants table","Adds a lookup to the Shift table","Degree-1 variable encoding the negation of the input Note: …","Returns a variable representing the value one","Degree-2 variable encoding the OR of two variables, which …","","Returns a variable representing the value two","Returns a variable representing the value 2^x","","Degree-2 variable encoding the XOR of two variables which …","Returns a variable representing the value zero","This trait includes functionalities needed to obtain the …","","","Adds a given Lookup to the environment if the condition …","This function returns a degree-2 variable that is computed …","Returns the block index as a variable","Returns a variable that encodes the idx-th block of bytes …","Creates a variable from a constant integer","Creates a variable from a constant field element","Adds one KeccakConstraint to the environment if the …","Constrains 332 checks of absorb sponges","Constrains 136 checks of booleanity for some mode flags.","Constrains 200 checks of the chi algorithm in round steps","Constrains 136 checks of correctness of mode flags","Constrains 4 checks of the iota algorithm in round steps","Constrains 6 checks of padding absorb sponges","Constrains 150 checks of the pirho algorithm in round steps","Constrains 389 checks of round steps","Constrains 354 checks of sponge steps","Constrains 16 checks of squeeze sponges","Constrains 35 checks of the theta algorithm in round steps","Creates all 879 constraints/checks to the environment:","Returns the (x,q)-th term of ThetaDenseC, as a variable","Returns the (y,x,q)-th variable of PiRhoDenseE","Returns the (x,q)-th variable of ThetaDenseRotC","Returns the (y,x,q)-th variable of PiRhoDenseRotE","Returns the (x,q)-th variable of ThetaExpandRotC","Returns the (y,x,q)-th variable of PiRhoExpandRotE","Returns a vector of pad bytes flags as variables, with idx …","This function returns the composed variable from dense …","COLUMN OPERATIONS /// This function returns the composed …","Returns the hash index as a variable","Returns a variable that encodes whether the idx-th byte of …","Returns the 100 step input variables, which correspond to …","Returns a slice of the input variables of the current step …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","SELECTOR OPERATIONS /// Returns a degree-2 variable that …","Returns a variable that encodes whether the current step …","Reads a Lookup containing the input of a step and writes a …","When in Squeeze mode, writes a Lookup containing the …","When in Absorb mode, reads Lookups containing the 136 …","Creates all possible 2361 lookups to the Keccak …","Adds the 800 lookups required for Chi in the round","Adds the 1 lookup required for Iota in the round","Adds the 700 lookups required for PiRho in the round","Adds the 120 lookups required for Theta in the round","Adds the 601 lookups required for the sponge","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a degree-1 variable that encodes whether the …","Returns a variable that encodes whether the current step …","Returns a variable that encodes whether the current step …","Returns the idx-th new state expanded quarter, as a …","Returns the idx-th old state expanded quarter, as a …","Returns the 100 step output variables, which correspond to …","Returns a slice of the output variables of the current …","Returns the 136 flags indicating which bytes of the new …","Returns a variable that encodes the bytelength of the …","Returns a variable that encodes the idx-th chunk of the …","Returns the (x)-th term of ThetaQuotientC, as a variable","Returns the (y,x,q)-th variable of PiRhoQuotientE","Returns the (x,q)-th variable of ThetaRemainderC","Returns the (y,x,q)-th variable of PiRhoRemainderE","Returns a variable that encodes the current round number […","Returns the 4 expanded quarters that encode the round …","Returns the (i,y,x,q)-th variable of ChiShiftsB","Returns the (i,x,q)-th variable of ThetaShiftsC","Returns the (i,y,x,q)-th variable of PiRhoShiftsE","Returns the (i,y,x,q)-th variable of ChiShiftsSum","Returns the idx-th byte of the sponge, as a variable","Returns the 200 bytes of the sponge, as variables","Returns the idx-th term of the shifts of the sponge, as a …","Returns the last 32 terms that are added to the new block …","Returns the (y,x,q)-th input of the theta algorithm, as a …","Returns the idx-th output of a round step as a variable","Returns the step index as a variable","Returns a variable that encodes the value 2^pad_length","Returns the variable corresponding to a given column alias.","Returns the 20 variables corresponding to ThetaDenseC","Returns the 100 variables corresponding to PiRhoDenseE","Returns the 20 variables corresponding to ThetaDenseRotC","Returns the 100 variables corresponding to PiRhoDenseRotE","Returns the 20 variables corresponding to ThetaExpandRotC","Returns the 100 variables corresponding to PiRhoExpandRotE","Returns the 5 variables corresponding to ThetaQuotientC","Returns the 100 variables corresponding to PiRhoQuotientE","Returns the 20 variables corresponding to ThetaRemainderC","Returns the 100 variables corresponding to PiRhoRemainderE","Returns the 400 variables corresponding to ChiShiftsB","Returns the 80 variables corresponding to ThetaShiftsC","Returns the 400 variables corresponding to PiRhoShiftsE","Returns the 400 variables corresponding to ChiShiftsSum","Returns the 400 terms that compose the shifts of the …","Returns the output of an absorb sponge, which is the XOR …","The Keccak circuit trace","A Keccak instruction trace","","","","","","","","This struct contains all that needs to be kept track of …","","","","","","","","Checks the constraint tag by checking that the input x is …","","","","","","Returns the argument unchanged.","","Calls U::from(self).","The multiplicities of each lookup entry. Should not be …","The fixed tables used in the Keccak gate","","","","","","","","The full state of the Keccak gate (witness)","Values from 0 to 4 to check the number of bytes read from …","All values that can be stored in a byte (amortized table, …","Input/Output of Keccak steps","All of the possible lookup table IDs used in the zkVM","","All [1..136] values of possible padding lengths, the value …","Single-column table of all values in the range [0, 2^16)","","Dual-column table of all values in the range [0, 2^16) and …","24-row table with all possible values for round and their …","Single-column table of 2^16 entries with the sparse …","Syscalls communication channel","","","","","","","","","","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Abstract columns (or variables of our multi-variate …","","Represents one line of the execution trace of the virtual …","All the witness columns used in MIPS","The number of columns used for relation witness in the …","The number of witness columns used to store the …","","","","","","","","","","","","","Returns the argument unchanged.","","","Map the column alias to the actual column index.","Map the column alias to the actual column index.","","","","Calls U::from(self).","","","","","","","","","The environment keeping the constraints between the …","","","","","","","","","","","","","A list of constraints, which are multi-variate polynomials …","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","This function checks that the preimage is read correctly. …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Map a column alias to the corresponding witness column.","Map a selector column to the corresponding witness column.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","An iterator over the variants of ITypeInstruction","","An iterator over the variants of Instruction","","","","An iterator over the variants of JTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","A position can be seen as an indexed variable","","","An iterator over the variants of RTypeInstruction","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Access the memory address addr, adding constraints …","Access the general purpose register with index idx, adding …","Access the general purpose register with index idx, adding …","Add a constraint to the proof system, asserting that …","","Returns x + y and the overflow bit, storing the results in …","Allocate a new abstract variable for the current step. The …","Returns x or y, storing the result in position.","Assert that the value x is boolean, and add a constraint …","Assert that the values x and y are equal, and add a …","Assert that the value assert_equals_zero is 0, and add a …","Extract the bits from the variable x between highest_bit …","","","","","","","","","","","","","","","","","Check that the witness value x is a boolean (0 or 1); …","Check that the witness values in x and y are equal; …","Check that the witness value in assert_equals_zero is 0; …","","","","","","","","","","","","","","","","","","","","","","","Returns the number of leading 1s in x, storing the result …","Returns the number of leading 0s in x, storing the result …","","","","","","","","","","","","","","","","","","","","","Returns (x / y, x % y), storing the results in …","Returns (x / y, x % y), storing the results in …","","","","","","","","","","","","","Returns 1 if x is equal to y, or 0 otherwise, storing the …","","","","","Fetch the memory value at address addr and store it in …","Fetch the last ‘access index’ that the memory at …","Fetch the value of the general purpose register with index …","Fetch the last ‘access index’ for the general purpose …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Increases the heap pointer by by_amount if if_is_true is 1…","","","","","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterate over the instruction variants","","","","","Returns x^(-1), or 0 if x is 0, storing the result in …","","","","","","","","","","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns ((x * y) >> 32, (x * y) & ((1 << 32) - 1)), …","Returns x * y, where x and y are treated as integers, …","","","","","","","","","Returns x nor y, storing the result in position.","","","","","Returns x or y, storing the result in position.","","","","","","","","","Set the memory value at address addr to value.","Set the last ‘access index’ for the memory at address …","Set the general purpose register with index idx to value.","Set the last ‘access index’ for the general purpose …","Set the last ‘access index’ for the general purpose …","Set the general purpose register with index idx to value …","","","","","","Request the preimage oracle for len bytes and store the …","","","","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Return the result of shifting x by by, storing the result …","Given a variable x, this function extends it to a signed …","","","","","Returns x + y and the underflow bit, storing the results …","Returns 1 if x < y as unsigned integers, or 0 otherwise, …","Returns 1 if x < y as signed integers, or 0 otherwise, …","Returns 1 if x is 0, or 0 otherwise, storing the result in …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns x xor y, storing the result in position.","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","This represents the internal state of the virtual machine.","","","","","","","","","","","","Returns the argument unchanged.","","","","","","","Calls U::from(self).","","","","","","","","","","","","The MIPS circuit trace","The MIPS instruction trace","","","","","","","","This structure represents the environment the virtual …","Maximum number of memory or register accesses per …","Maximum number of memory accesses per instruction (based …","Maximum number of register accesses per instruction (based …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","Computes what is the non-normalized next instruction …","","The actual number of instructions executed results from …","","","","","","","","","","","","","","","","","","","","","","Execute a single step of the MIPS program. Returns the …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","FIXME: DUMMY FOLD FUNCTION THAT ONLY KEEPS THE LAST …","Enum representing the two different modes of a RAMLookup","Struct containing a RAMLookup","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Transforms the current RAMLookup into an equivalent Logup","Creates a new RAMLookup from a mode, a table ID, a …","Returns the numerator corresponding to this lookup in the …","Reads one value when if_is_true is 1.","Reads one value from a table.","","","","","","","","","","","","Writes one value when if_is_true is 1.","Writes one value to a table.","DecomposableTracer builds traces for some program …","Struct representing a circuit execution trace which is …","The trait Foldable describes structures that can be folded.","","Implement a trace for a single instruction.","Tracer builds traces for some program executions. The …","","","","","","","","","","","","","","","The domain size of the circuit (should coincide with that …","","","Returns a map of constraints that are compatible with …","","Returns the argument unchanged.","Returns the argument unchanged.","Returns a boolean indicating whether the witness for the …","","Initialize a new trace with the given domain size, …","","","","Calls U::from(self).","Calls U::from(self).","Returns whether the witness for the given selector has …","","Create a new decomposable trace with the given domain …","Returns the number of rows that have been instantiated for …","Pad the rows of one opcode with the first row until …","","Pad the rows of one opcode with the given row until …","","Pads the rows of one opcode with zero rows until reaching …","","Pads the rows of the witnesses until reaching the domain …","Add a witness row to the circuit (only for relation …","","Resets the witness after folding","Sets the selector column to all ones, and the rest to all …","Returns the witness for the given selector as a folding …","","","","The traces are indexed by the selector Inside the witness …","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,1,2,3,4,5,6,1,2,3,4,5,6,9,10,4,13,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,13,15,5,6,9,10,13,15,16,18,1,2,3,4,5,6,16,18,1,5,6,16,15,15,6,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,18,9,10,15,15,3,13,3,9,10,13,15,16,18,1,2,3,4,5,6,3,9,10,13,15,16,18,1,2,3,4,5,6,15,15,15,3,2,5,15,3,15,3,15,15,15,3,3,15,13,15,5,3,3,5,15,4,0,3,6,4,1,2,3,4,5,6,15,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,9,10,13,15,16,18,1,2,3,4,5,6,0,0,32,0,0,0,0,0,0,32,32,37,37,31,34,32,35,37,39,31,34,32,35,37,39,31,34,37,32,35,37,39,32,35,37,39,31,34,37,39,37,31,34,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,32,39,32,39,32,35,37,39,31,34,32,32,35,37,39,37,37,32,39,32,39,37,39,31,34,32,35,37,39,31,34,31,34,32,35,37,39,35,32,35,31,34,35,35,31,34,35,35,37,39,31,34,35,31,34,37,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,31,34,32,35,37,39,39,60,60,60,60,0,60,60,60,0,59,0,60,59,60,60,60,60,60,0,60,0,60,60,60,60,59,60,59,60,59,60,59,60,0,0,59,60,59,60,59,60,0,59,60,59,60,59,60,0,59,60,0,59,60,0,59,60,0,0,59,60,0,59,60,59,60,59,60,59,60,0,65,0,0,63,63,63,0,67,63,63,0,67,67,0,0,0,67,63,63,63,63,63,63,63,63,63,63,62,63,63,62,63,63,63,63,0,0,65,63,0,0,63,63,63,63,63,63,63,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,65,67,65,67,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,65,67,63,62,65,67,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,65,67,63,62,65,67,70,70,70,70,63,62,64,65,66,67,68,63,62,64,65,66,67,68,62,64,66,68,63,62,65,67,64,66,68,64,66,68,64,66,68,64,66,68,64,66,68,63,62,65,67,64,66,68,63,62,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,63,62,64,65,66,67,68,0,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,71,0,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,74,0,0,0,0,75,75,75,75,75,75,75,75,75,75,75,75,75,76,76,76,75,75,75,75,75,75,75,0,0,0,127,127,127,127,127,128,128,128,128,128,128,127,129,127,128,129,129,128,127,129,0,0,77,77,130,130,130,77,77,77,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,77,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,130,0,0,78,79,78,78,78,79,78,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,72,72,72,0,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0,0,0,82,82,82,82,82,82,82,82,82,82,82,82,82,82,82,83,83,83,83,82,82,82,82,82,82,82,82,82,82,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,0,0,0,0,86,86,86,86,86,86,86,86,86,86,86,86,86,87,87,87,86,86,86,86,86,86,86,89,93,93,89,89,93,93,93,93,93,93,93,89,89,89,89,0,0,0,0,0,0,0,84,0,0,0,0,0,84,0,0,91,91,89,89,93,93,93,93,93,93,93,93,89,89,89,89,89,89,89,89,89,89,89,93,95,84,0,0,0,0,0,0,0,0,0,89,93,93,89,89,89,89,89,89,89,93,93,93,93,93,93,89,89,89,89,89,89,89,89,89,89,89,89,89,95,89,93,95,95,95,95,95,95,95,95,95,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,89,91,93,95,95,95,95,0,89,91,93,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,95,84,88,89,90,91,92,93,94,84,89,91,93,95,84,89,91,93,95,95,95,95,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,89,91,93,95,95,84,89,91,93,95,95,84,88,89,90,91,92,93,94,95,0,0,0,0,84,88,89,90,91,92,93,94,84,88,90,92,94,95,95,84,89,91,93,88,90,92,94,95,95,95,88,90,92,94,88,90,92,94,95,88,90,92,94,95,88,90,92,94,84,89,91,93,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,88,90,92,94,95,95,95,95,84,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,84,88,89,90,91,92,93,94,95,84,88,89,90,91,92,93,94,95,95,95,95,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,102,103,102,102,102,103,102,0,0,0,0,0,0,0,0,0,0,105,105,105,105,105,105,105,106,105,106,105,105,105,106,106,105,105,105,105,105,106,105,106,105,106,105,106,105,105,105,106,105,105,105,105,105,105,106,105,105,105,105,105,105,105,106,105,105,105,106,105,105,106,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,105,106,105,106,105,106,105,106,105,105,105,105,106,105,105,105,0,0,0,0,107,131,132,107,131,132,107,107,0,107,131,132,107,131,132,107,131,132,107,131,132,104,107,104,107,107,107,107,131,132,107,131,132,107,107,131,107,107,131,132,107,131,132,107,131,132,107,131,132,131,0,0,0,112,112,112,73,112,73,112,73,112,73,112,73,112,73,112,73,112,73,73,112,73,112,73,112,73,73,73,73,73,73,112,73,73,112,73,112,73,112,73,112,73,73,73,0,0,0,133,0,0,121,122,121,122,121,122,121,122,121,121,122,121,122,121,122,121,122,134,122,121,122,122,122,133,121,122,122,121,122,122,121,135,122,133,122,133,122,133,122,135,133,122,122,122,134,122,121,122,122,121,122,121,122,121,122,121,122,121],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[1,1],[2,2],[3,3],[4,4],[5,5],[6,6],[[]],[[]],[[]],[[]],[[]],[[]],[[[8,[7]]],9],[[[8,[7]]],10],[11,4],0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[12,[[14,[13]]]],[12,[[14,[15]]]],[12,[[14,[5]]]],[12,[[14,[6]]]],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[16,16],17],[[18,18],17],[[1,1],17],[[5,5],17],[[6,6],17],[[],17],0,0,[[6,19],[[21,[20]]]],[[13,22],23],[[15,22],23],[[16,22],23],[[18,22],23],[[1,22],23],[[2,22],23],[[3,22],23],[[4,22],23],[[5,22],23],[[6,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[24,[[14,[18]]]],[9,[[8,[7]]]],[10,[[8,[7]]]],0,0,0,0,0,[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[13,25],14],[[15,25],14],0,0,0,0,0,0,[24,[[14,[1,20]]]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[15,20],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],27],[28,3],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[31,[29,30]],32,33]],[[[34,[29,30]],32,33]],0,[32,32],[35,35],[[[37,[[0,[30,36]]]]],[[37,[[0,[30,36]]]]]],[[[39,[[0,[30,38]]]]],[[39,[[0,[30,38]]]]]],[[]],[[]],[[]],[[]],[[[31,[29,30]],40,33],41],[[[34,[29,30]],40,33],41],[[[37,[36]],[37,[36]]],[[37,[36]]]],[[[39,[38]],[39,[38]],38],[[39,[38]]]],0,0,0,[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[32,32],17],[[[39,[[0,[42,38]]]],[39,[[0,[42,38]]]]],17],[[],17],[[],17],[[32,22],23],[[35,22],23],[[[37,[[0,[43,36]]]],22],23],[[[39,[[0,[43,38]]]],22],23],[[]],[[]],[44,32],[[]],[[]],[[]],[[]],[[[37,[36]]],45],[[[37,[36]]]],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[32,50]],[[[39,[[0,[46,38]]]],50]],[[[37,[36]],32]],[[[39,[51]],52]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],35],[35,11],[[[53,[37]],[53,[39]]],[[31,[29,30]]]],[[[53,[37]],[53,[39]]],[[34,[29,30]]]],[35,21],[35,21],0,0,[[35,11],21],[[],54],[[],55],[[[57,[56]]],58],[[[31,[29,30]],33],41],[[[34,[29,30]],33],41],[35],0,0,[[[37,[36]]]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[59,59],[60,60],[[]],[[]],0,0,[11],[11],[11],[11],[11],[11],0,[[59,59],17],[[60,60],17],[[],17],[[],17],[[59,22],23],[[60,22],23],0,[[]],[[]],0,[[],11],[[],11],0,[[]],[[]],[11,[[53,[61]]]],[62,62],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[63,63],[62,62],[64,64],[65,65],[66,66],[67,67],[68,68],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[63,63],69],[[62,62],69],[[65,65],69],[[67,67],69],[[],65],[[],67],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[63,63],17],[[62,62],17],[[65,65],17],[[67,67],17],[[],17],[[],17],[[],17],[[],17],[[63,22],23],[[62,22],23],[[64,22],23],[[65,22],23],[[66,22],23],[[67,22],23],[[68,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[63,50]],[[62,50]],[[65,50]],[[67,50]],[[[70,[30]],62]],[[[70,[30]],63]],[[[70,[30]],62]],[[[70,[30]],63]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[62],[[]],[[]],[[]],[63,17],[[],64],[[],66],[[],68],[64,11],[66,11],[68,11],[64,21],[66,21],[68,21],[64,21],[66,21],[68,21],[[64,11],21],[[66,11],21],[[68,11],21],[[],54],[[],54],[[],54],[[63,63],[[21,[69]]]],[[62,62],[[21,[69]]]],[[65,65],[[21,[69]]]],[[67,67],[[21,[69]]]],[64],[66],[68],[63,52],[62,52],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[71,[61]],[73,[72]]]],[[]],[[]],[[[71,[30]]],[[71,[30]]]],[[]],[49],[61],[[[71,[61]],60]],0,[[],[[71,[61]]]],[11],[11],[11],[[[71,[43]],22],23],[[]],[[],11],[[]],0,[[]],[[],14],[[],14],[49],[[],26],[[[71,[61]],63]],[[]],0,[[]],[[]],[[[74,[30]]],[[74,[30]]]],[[]],0,[[],[[74,[61]]]],[11],[11],[11],[[[74,[43]],22],23],[[]],[[],11],[[]],[[49,[41,[7]]],[[74,[61]]]],[[[74,[61]]]],[[[74,[61]]],62],[[[74,[61]]]],0,[[]],[[],14],[[],14],[[],26],[[[74,[61]]]],[[]],0,[[[74,[61]],63,49]],[[[74,[61]],63,61]],0,0,0,0,[[]],[[]],[75,75],[[]],[11],[11],[11],[[75,75],17],[[],17],[[75,22],23],[[]],[[[0,[46,47]],48],49],[[75,50]],[[76,52]],[[76,63]],[[76,62]],[[],11],[[]],[[]],[[],14],[[],14],[[],26],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[8],[[]],[[]],[8],[[]],[[]],[[]],[[]],[8],[[]],[49],[8],[[]],[[]],0,0,0,[[[73,[72]]]],[11],[[]],[11,8],[49],[[]],[60],[62],[[77,62]],[[62,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[[77,62]],[[62,[8,[[8,[8]]]]]],[62],[[62,[8,[[8,[8]]]]],[[8,[[8,[8]]]]]],[62],[62],[62],[62,[[8,[[8,[8]]]]]],[62],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[[11,11]],[[11,11,11]],[11,8],[[41,[21,[11]],11]],[[41,[21,[11]],[21,[11]],[21,[11]],[21,[11]]]],[[]],[11],[[],53],[[],8],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[62],[11],[11],[[],53],[[],8],[[],53],[[]],[11],[11],[[11,11,11]],[[11,11]],[[11,11,11]],[[]],[[],53],[[11,11,11,11]],[[11,11,11]],[[11,11,11,11]],[[11,11,11,11]],[11],[[],53],[11],[[],53],[[11,11,11]],[11],[[]],[[]],[63],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[[],53],[11],0,0,[[11,62,74],78],[[11,74],79],[78,11],[[78,53],11],[78,11],[79],[[78,53]],0,[[[80,[61]],[73,[72]]]],[[]],[[]],[[[80,[30]]],[[80,[30]]]],[[]],[49],[61],[[[80,[61]],60]],[[],[[80,[61]]]],[11],[11],[11],[[[80,[43]],22],23],[[]],[[],11],[[]],0,0,[[]],[[],14],[[],14],[49],[[],26],[[[80,[61]],63]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[8,[72]]]],[[]],[[]],[72,72],[[]],[[72,72],69],[11],[11],[11],[[72,72],17],[[],17],[[72,22],23],[[]],[19,72],[[[0,[46,47]],48],49],[[72,50]],[[],11],[[]],[72,17],[[72,81],11],[72,11],[[72,72],[[21,[69]]]],[[]],[72,19],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[82,82],[[]],[[82,82],69],[11],[11],[11],[[82,82],17],[[],17],[[82,22],23],[[]],[[[0,[46,47]],48],49],[[82,50]],[[[83,[30]],84]],[[[83,[30]],82]],[[[83,[30]],82]],[[[83,[30]],84]],[[],11],[[]],[82,17],[[82,82],[[21,[69]]]],[82,52],[[]],[[],14],[[],14],[[],26],[[]],0,[[[85,[61]]]],[[[85,[61]],[73,[72]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]],19,19]],[[]],[[]],[[]],[[]],[[]],[19],0,[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[],[[85,[61]]]],[11],[11],[[[85,[61]]]],[[[85,[61]]]],[11],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[]],[[[85,[61]]]],[[],11],[[[85,[61]]]],[[]],[[[85,[61]]]],0,[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],0,[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[[85,[61]]]],[[],14],[[],14],[[],26],[[[85,[61]]]],[[]],[[[85,[61]]]],0,0,0,0,[[]],[[]],[86,86],[[]],[11],[11],[11],[[86,86],17],[[],17],[[86,22],23],[[]],[[[0,[46,47]],48],49],[[86,50]],[[87,52]],[[87,84]],[[87,82]],[[],11],[[]],[[]],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[73,[72]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84,84],[88,88],[89,89],[90,90],[91,91],[92,92],[93,93],[94,94],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[84,84],69],[[89,89],69],[[91,91],69],[[93,93],69],[19],[[]],[[]],[[]],0,[[],89],[[],91],[[],93],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[11],[11],[11],[11],[11],[11],[11],[11],[[84,84],17],[[89,89],17],[[91,91],17],[[93,93],17],[[]],[[],17],[[],17],[[],17],[[],17],[[]],[[]],[[]],[[]],[[84,22],23],[[88,22],23],[[89,22],23],[[90,22],23],[[91,22],23],[[92,22],23],[[93,22],23],[[94,22],23],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[[0,[46,47]],48],49],[[]],[[]],[[84,50]],[[89,50]],[[91,50]],[[93,50]],[[]],[[]],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[],11],[[]],[[95,84]],[[95,93]],[[95,91]],[[95,89]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84],[[]],[[]],[[]],[[]],[[]],[[]],[[],88],[[],90],[[],92],[[],94],[88,11],[90,11],[92,11],[94,11],[[]],[[]],[[]],[88,21],[90,21],[92,21],[94,21],[88,21],[90,21],[92,21],[94,21],[[]],[[88,11],21],[[90,11],21],[[92,11],21],[[94,11],21],[[]],[[],54],[[],54],[[],54],[[],54],[[84,84],[[21,[69]]]],[[89,89],[[21,[69]]]],[[91,91],[[21,[69]]]],[[93,93],[[21,[69]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19],[88],[90],[92],[94],[[]],[[]],[[]],[[]],[84,52],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[96,96],[[]],[19,96],[[],96],[11],[11],[12,[[14,[96]]]],[11],[96,19],[[96,96],17],[[],17],[[96,22],23],[[]],0,[[],11],[[]],0,0,0,0,[[96,25],14],0,[[]],[[],14],[[],14],[[],26],[[]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[[97,[30]]],[[97,[30]]]],[[]],0,[[],[[97,[98]]]],[11],[11],[12,[[14,[[97,[99]]]]]],[11],[[[97,[43]],22],23],[[]],0,0,0,[[[97,[30]],11]],[[[97,[30]],11]],[[],11],[[]],[97,100],0,0,0,0,[[[97,[101]],25],14],[[]],[[],14],[[],14],[[],26],[[]],0,0,[[11,84,85],102],[[11,85],103],[102,11],[[102,53],11],[102,11],[103],[[102,53]],0,0,0,0,0,0,0,0,0,0,[[[105,[61,104]]]],[[[105,[61,104]],[73,[72]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]],19,19]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[106,106],[[]],[19],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[11,15,104],[[105,[61,104]]]],[15,106],[[[105,[61,104]]]],[[],106],[11],[11],[11],[11],[[[105,[61,104]]]],[[[105,[61,104]]]],[11],[11],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[]],[[]],[[[105,[61,104]],19],11],[[[105,[61,104]],19],7],[[[105,[61,104]],19],11],0,0,[[[105,[61,104]]]],[[],11],[[],11],[[[105,[61,104]]]],0,[[]],[[]],[[[105,[61,104]]]],0,0,0,0,0,0,[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]],49],[[[105,[61,104]]]],[[[105,[61,104]]],49],[[[105,[61,104]]]],0,0,0,0,[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],0,0,[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],0,0,[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]],3,6,4],84],[[[105,[61,104]]]],0,[[[105,[61,104]]]],[[[105,[61,104]]]],[[[105,[61,104]]]],[[]],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[[105,[61,104]],11]],[[[105,[61,104]],11]],[[[105,[61,104]]]],[[]],[[]],[[[105,[61,104]],82,49]],[[[105,[61,104]],82,61]],[[[105,[61,104]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[[21,[2]]],107],[[],21],[11],[11],[11],[11],[11],[11],[11],[11],[11],[[]],[[]],[[]],[[[53,[7]]],9],[[107,[53,[7]]],9],[10],[[107,10]],0,0,[[],11],[[],11],[[],11],[[]],[[]],[[]],0,0,0,[107,108],[[],14],[[],14],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[],26],[[]],[[]],[[]],0,[[109,[110,[72]],[111,[8]]]],0,0,0,0,[[]],[[]],[[]],[[]],[112,112],[[[73,[30,[0,[30,113]]]]],[[73,[30,[0,[30,113]]]]]],[[]],[[]],[11],[11],[11],[11],[11],[11],[[112,22],23],[[[73,[43,[0,[43,113]]]],22],23],[[[73,[[0,[114,61]],113]],22],23],[[]],[[]],[[],11],[[],11],[[]],[[]],[[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]],[[120,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],[[112,113,[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],[41,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]]],[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],[[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]],[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]]],[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],[[113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]]],[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],[[]],[[]],[[],20],[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],[[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]]],[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],[[113,[8,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]]]]],[[73,[[0,[30,[115,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[116,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],[117,[[0,[30,[115,[[0,[30,115,116,117,43,118,119]]]],[116,[[0,[30,115,116,117,43,118,119]]]],[117,[[0,[30,115,116,117,43,118,119]]]],43,118,119]]]],43,118,119]]]],43,118,119]],113]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[[121,[[0,[30,29]]]]],[[121,[[0,[30,29]]]]]],[[[122,[[0,[30,29]]]]],[[122,[[0,[30,29]]]]]],[[]],[[]],0,[11],[11],[11],[11],0,0,[11],[11],[[],[[124,[[8,[123]]]]]],[[[122,[29]]],[[124,[[8,[[123,[29]]]]]]]],[[]],[[]],[[[122,[29]]],17],[[[122,[29]]]],[11],[[],11],[[],11],[11,[[122,[29]]]],[[]],[[]],[[[122,[29]]],17],0,[11],[[[122,[29]]],11],[[],11],[[[122,[29]]],11],[53,11],[[[122,[29]],53],11],[[],11],[[[122,[29]]],11],[[]],[53],[[[122,[29]],53]],[[[122,[29]]]],[[[122,[29]],11]],[[56,125]],[[[122,[29]],126,56,125]],[[]],[[]],0,[[],14],[[],14],[[],14],[[],14],[[],26],[[],26],[[]],[[]],0],"c":[],"p":[[4,"StepFrequency"],[3,"HostProgram"],[3,"VmConfiguration"],[3,"Start"],[3,"Symbol"],[3,"Meta"],[15,"u8"],[3,"Vec"],[3,"Preimage"],[3,"Hint"],[15,"usize"],[8,"Deserializer"],[3,"Page"],[4,"Result"],[3,"State"],[3,"ParsePreimageKeyError"],[15,"bool"],[3,"PreimageKey"],[15,"u32"],[3,"String"],[4,"Option"],[3,"Formatter"],[6,"Result"],[15,"str"],[8,"Serializer"],[3,"TypeId"],[3,"Command"],[3,"ArgMatches"],[8,"FoldingConfig"],[8,"Clone"],[3,"DecomposedFoldingEnvironment"],[4,"Challenge"],[4,"Side"],[3,"FoldingEnvironment"],[3,"ChallengeIter"],[8,"CommitmentCurve"],[3,"FoldingInstance"],[8,"FftField"],[3,"FoldingWitness"],[4,"CurrOrNext"],[15,"slice"],[8,"PartialEq"],[8,"Debug"],[4,"ChallengeTerm"],[4,"Alphas"],[8,"Hash"],[8,"Sized"],[8,"BuildHasher"],[15,"u64"],[8,"Hasher"],[6,"Fp"],[4,"Column"],[15,"array"],[3,"IterBridge"],[3,"RelaxedInstance"],[3,"Radix2EvaluationDomain"],[3,"Evaluations"],[3,"RelaxedWitness"],[4,"Error"],[4,"Constraint"],[8,"Field"],[4,"Steps"],[4,"ColumnAlias"],[3,"StepsIter"],[4,"Sponges"],[3,"SpongesIter"],[4,"Absorbs"],[3,"AbsorbsIter"],[4,"Ordering"],[6,"KeccakWitness"],[3,"Env"],[4,"LookupTableIDs"],[3,"RAMLookup"],[3,"KeccakEnv"],[3,"KeccakConfig"],[6,"KeccakFoldingWitness"],[8,"Interpreter"],[6,"KeccakTrace"],[6,"DecomposedKeccakTrace"],[3,"Env"],[8,"PrimeField"],[4,"ColumnAlias"],[6,"MIPSWitness"],[4,"Instruction"],[3,"Env"],[3,"DecomposableMIPSFoldingConfig"],[6,"MIPSFoldingWitness"],[3,"InstructionIter"],[4,"RTypeInstruction"],[3,"RTypeInstructionIter"],[4,"JTypeInstruction"],[3,"JTypeInstructionIter"],[4,"ITypeInstruction"],[3,"ITypeInstructionIter"],[8,"InterpreterEnv"],[3,"InstructionParts"],[3,"Registers"],[8,"Default"],[8,"Deserialize"],[8,"Iterator"],[8,"Serialize"],[6,"MIPSTrace"],[6,"DecomposedMIPSTrace"],[8,"PreImageOracleT"],[3,"Env"],[3,"SyscallEnv"],[3,"PreImageOracle"],[3,"Child"],[3,"EvaluationDomains"],[3,"ProofInputs"],[3,"Witness"],[4,"LookupMode"],[8,"LookupTableID"],[8,"Display"],[8,"Add"],[8,"Sub"],[8,"Mul"],[8,"One"],[8,"Zero"],[3,"Logup"],[3,"Trace"],[3,"DecomposedTrace"],[4,"FoldingCompatibleExpr"],[3,"BTreeMap"],[3,"SRS"],[8,"FqSponge"],[8,"BoolHelpers"],[8,"LogupHelpers"],[8,"ArithHelpers"],[8,"KeccakInterpreter"],[3,"ReadWrite"],[3,"RW"],[8,"Tracer"],[8,"Foldable"],[8,"DecomposableTracer"]]},\ "poly_commitment":{"doc":"","t":"ICIQKKAKKKKKKAKAAKLKKKAKAKDDIIDQQDFLFFMLLLLLLLLALLLLLLLFFLLFMMMLLLLLLLLLLLLLLLMLLMMMMLLLLLLLLLLLLFLLLLLLLLLKMMFFLLLLFMFFLKFLLLLLLLLLLLLLLLLLLLDDLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLMMLLLLLLLLLMLLMMNELLLLLLLLLLLLLLLLLLLDNENDLLLLLLMMLLLFLMLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLLLLLLLLLMMDDLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLMLLLLDLLLLLLLLLLLLLLLLLLLLLLFLLLLMLMLLMLLLLLLLLLLLLLL","n":["OpenProof","PolyComm","SRS","SRS","add_lagrange_basis","blinding_commitment","chunked","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","commitment","create","error","evaluation_proof","get_lagrange_basis","mask","mask_custom","max_poly_size","open","pairing_proof","size","srs","verify","BatchEvaluationProof","BlindedCommitment","CommitmentCurve","EndoCurve","Evaluation","Map","Params","PolyComm","absorb_commitment","add","b_poly","b_poly_coefficients","blinders","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","caml","chunk_blinding","chunk_commitment","clone","clone","clone_into","clone_into","combine","combine_commitments","combine_evaluations","combine_one","combine_one_endo","combined_inner_product","combined_inner_product","commitment","commitment","deref","deref","deref","deref","deref_mut","deref_mut","deref_mut","deref_mut","deserialize","deserialize","deserialize_as","drop","drop","drop","drop","elems","eq","equivalent","evalscale","evaluation_points","evaluations","evaluations","fmt","fmt","from","from","from","from","from","from","init","init","init","init","inner_prod","into","into","into","into","is_empty","len","map","multi_scalar_mul","new","of_coordinates","opening","polyscale","pows","product","scale","serialize","serialize","serialize_as","shift_scalar","sponge","squeeze_challenge","squeeze_prechallenge","sub","to_coordinates","to_group","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","zip","CamlOpeningProof","CamlPolyComm","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delta","deref","deref","deref_mut","deref_mut","drop","drop","fmt","from","from","from","from","from","from_value","from_value","init","init","into","into","into_value","into_value","lr","ocaml_binding","ocaml_binding","ocaml_desc","ocaml_desc","sg","shifted","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unique_id","unique_id","unshifted","vzip","vzip","z1","z2","BlindersDontMatch","CommitmentError","borrow","borrow_mut","clone","clone_into","deref","deref_mut","drop","fmt","fmt","from","init","into","provide","to_owned","to_string","try_from","try_into","type_id","vzip","Challenges","DensePolynomial","DensePolynomialOrEvaluations","Evaluations","OpeningProof","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","chal","chal_inv","challenges","clone","clone_into","combine_polys","default","delta","deref","deref","deref","deref_mut","deref_mut","deref_mut","deserialize","drop","drop","drop","fmt","from","from","from","from","init","init","init","into","into","into","lr","open","prechallenges","serialize","sg","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify","vzip","vzip","vzip","z1","z2","PairingProof","PairingSRS","add_lagrange_basis","blinding","blinding_commitment","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","create","create","create","default","default","deref","deref","deref_mut","deref_mut","deserialize","deserialize","drop","drop","eq","equivalent","fmt","fmt","from","from","full_srs","get_lagrange_basis","init","init","into","into","mask","mask_custom","max_poly_size","open","quotient","serialize","serialize","size","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","verifier_srs","verify","verify","vzip","vzip","SRS","add_lagrange_basis","add_lagrange_basis","blinding_commitment","borrow","borrow_mut","clone","clone_into","commit","commit_custom","commit_evaluations","commit_evaluations_custom","commit_evaluations_non_hiding","commit_non_hiding","create","create","create_parallel","create_trusted_setup","default","deref","deref_mut","deserialize","drop","endos","eq","equivalent","fmt","from","g","get_lagrange_basis","h","init","into","lagrange_bases","mask","mask_custom","max_degree","max_poly_size","open","prover_polynomials_to_verifier_evaluations","serialize","size","to_owned","try_from","try_into","type_id","verify","vzip"],"q":[[0,"poly_commitment"],[26,"poly_commitment::commitment"],[142,"poly_commitment::commitment::caml"],[192,"poly_commitment::error"],[213,"poly_commitment::evaluation_proof"],[274,"poly_commitment::pairing_proof"],[339,"poly_commitment::srs"]],"d":["","","","","","Get the group element used for blinding commitments","","Commits a polynomial, potentially splitting the result in …","Commit to a polynomial, with custom blinding factors. It …","Commit to evaluations with blinding factors, generated …","Commit to evaluations with custom blinding factors. It is …","Commit to evaluations, without blinding factors. It is …","This function commits a polynomial using the SRS’ basis …","This module implements Dlog-based polynomial commitment …","","","","Retrieve the precomputed Lagrange basis for the given …","Turns a non-hiding polynomial commitment into a hidding …","Same as SRS::mask except that you can pass the blinders …","The maximum polynomial degree that can be committed to","Parameters:","","","This module implements the Marlin structured reference …","","Contains the batch evaluation","","A useful trait extending AffineCurve for commitments. …","A trait extending CommitmentCurve for endomorphisms. …","Contains the evaluation of a polynomial commitment at a …","","","A polynomial commitment.","","","Returns (1 + chal[-1] x)(1 + chal[-2] x^2)(1 + chal[-3] …","","","","","","","","","","","","Multiplies each blinding chunk of f with powers of zeta^n","Multiplies each commitment chunk of f with powers of zeta^n","","","","","","This function populates the parameters scalars and points. …","Combine the (chunked) evaluations of multiple polynomials. …","Combine where x1 = one","Combine where x1 = one","Computes the linearization of the evaluations of a …","","The commitment of the polynomial being evaluated. Note …","","","","","","","","","","","","","","","","","","","","scaling factor for polynomials","The actual evaluation points. Each field evaluations of …","Contains an evaluation table. For instance, for vanilla …","A list of evaluations, each supposed to correspond to a …","","","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if the commitment is empty.","Returns the length of the commitment.","","Performs a multi-scalar multiplication between scalars elm …","","","batched opening proof","scaling factor for evaluation point powers","pows(d, x) returns a vector containing the first d powers …","Returns the product of all the field elements belonging to …","","","","","Inside the circuit, we have a specialized scalar …","The sponge used to generate/absorb the challenges.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","","","vector of rounds of L & R commitments","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","Commitment round challenges (endo mapped) and their …","","","","","","","","","","","","","Same as prechallenges, but maps scalar challenges using the","","","Combine the polynomials using polyscale, creating a single …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Vector of rounds of L & R commitments","","Computes a log-sized vector of scalar challenges for …","","A final folded commitment base","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Create a pairing proof. Parameters:","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","The full SRS is the one used by the prover. Can be seen as …","","","","Calls U::from(self).","Calls U::from(self).","","","","Parameters:","","","","","","","","","","","","","SRS to be used by the verifier. Can be seen as the “…","","","","","","Compute commitments to the lagrange basis corresponding to …","","","","","","","Commits a polynomial, potentially splitting the result in …","","","","","This function commits a polynomial using the SRS’ basis …","This function creates SRS instance for circuits with …","","This function creates SRS instance for circuits with …","This function creates a trusted-setup SRS instance for …","","","","","","","","","","Returns the argument unchanged.","The vector of group elements for committing to polynomials …","","A group element used for blinding commitments","","Calls U::from(self).","Commitments to Lagrange bases, per domain size","Turns a non-hiding polynomial commitment into a hidding …","Same as SRS::mask except that you can pass the blinders …","","The maximum polynomial degree that can be committed to","This function opens polynomial commitments in batch plnms: …","This function is a debugging helper.","","","","","","","This function verifies a batch of polynomial commitment …",""],"i":[0,0,0,60,61,61,0,61,61,61,61,61,61,0,61,0,0,61,61,61,61,60,0,61,0,60,0,0,0,0,0,22,22,0,0,7,0,0,6,23,16,7,6,23,16,7,6,0,7,7,7,6,7,6,55,0,0,55,55,0,16,23,6,23,16,7,6,23,16,7,6,7,6,7,23,16,7,6,7,7,7,16,16,23,16,7,6,23,16,7,7,7,6,23,16,7,6,0,23,16,7,6,7,7,7,7,7,22,16,16,0,0,7,7,6,7,0,16,0,0,7,22,0,7,6,23,16,7,6,23,16,7,6,23,16,7,6,23,16,7,6,7,0,0,33,42,33,42,33,33,42,33,42,33,42,33,42,33,33,33,33,42,42,33,42,33,42,33,42,33,42,42,33,42,33,42,42,33,33,33,42,33,42,33,42,33,42,33,33,42,42,42,8,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,62,0,62,0,62,52,41,62,52,41,52,52,41,41,41,0,41,41,62,52,41,62,52,41,41,62,52,41,41,62,52,41,41,62,52,41,62,52,41,41,41,41,41,41,41,62,52,41,62,52,41,62,52,41,41,62,52,41,41,41,0,0,57,58,57,58,57,58,57,58,57,58,57,57,57,57,57,57,57,58,57,57,58,57,58,57,58,57,58,57,58,57,57,57,58,57,58,57,57,57,58,57,58,57,57,57,57,58,58,58,57,57,58,57,58,57,58,57,58,57,57,58,58,58,57,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,0,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59,59],"f":[0,0,0,0,[1],[[]],0,[[2,3,[0,[4,5]]],6],[[2,3,7],[[9,[6,8]]]],[[1,[10,[1]],[0,[4,5]]],6],[[1,[10,[1]],7],[[9,[6,8]]]],[[1,[10,[1]]],7],[[2,3],7],0,[3],0,0,[3,[[12,[[11,[7]]]]]],[[7,[0,[4,5]]],6],[[7,7],[[9,[6,8]]]],[[],3],[[13,13,[0,[14,15]],[0,[4,5]]]],0,[[],3],0,[[[13,[[16,[15]]]],[0,[4,5]]],17],0,0,0,0,0,0,0,0,[[[15,[18,14,[0,[19,20]]]],[7,[14]]]],[[[7,[21]],[7,[21]]],[[7,[21]]]],[[[13,[18]],18],18],[[[13,[18]]],[[11,[18]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[7,[18]],18],18],[[[7,[22]]],[[7,[22]]]],[[[7,[14]]],[[7,[14]]]],[[[6,[[0,[22,14]]]]],[[6,[[0,[22,14]]]]]],[[]],[[]],[[13,13],11],[[[13,[[23,[22]]]],11,[11,[22]]]],[[[11,[[23,[22]]]]],11],[[13,13],11],[[13,13,24],11],[[19,19,[13,[[11,[[11,[19]]]]]]],19],0,0,0,[3],[3],[3],[3],[3],[3],[3],[3],[25,[[9,[[7,[[0,[26,27]]]]]]]],[25,[[9,[[6,[[0,[22,28]]]]]]]],[25,[[9,[7]]]],[3],[3],[3],[3],0,[[[7,[29]],[7,[29]]],17],[[],17],0,0,0,0,[[[7,[30]],31],32],[[[6,[[0,[22,30]]]],31],32],[[]],[[]],[33,[[7,[[0,[21,34,34]]]]]],[[]],[33,[[7,[[0,[21,34]]]]]],[[]],[[],3],[[],3],[[],3],[[],3],[[[13,[18]],[13,[18]]],18],[[]],[[]],[[]],[[]],[[[7,[[0,[26,27,14]]]]],17],[[[7,[[0,[26,27,14]]]]],3],[[[7,[[0,[26,27,14]]]],35],[[7,[[0,[26,27]]]]]],[[[13,[[7,[21]]]],13],[[7,[21]]]],[11,7],[[]],0,0,[[3,18],[[11,[18]]]],[36,18],[[[7,[21]]],[[7,[21]]]],[[[7,[[0,[26,27]]]],37],9],[[[6,[[0,[22,38]]]],37],9],[[7,37],9],[[]],0,[[[0,[19,20]],[15,[18,[0,[19,20]]]]],[[0,[19,20]]]],[[[15,[18,20]]],[[24,[20]]]],[[[7,[21]],[7,[21]]],[[7,[21]]]],[[],12],[[],22],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],39],[[],39],[[],39],[[],39],[[]],[[]],[[]],[[]],[[[7,[[0,[40,26,27]]]],[7,[[0,[40,26,27]]]]],[[12,[7]]]],0,0,[[]],[[]],[[]],[[]],[[[33,[14]]],[[33,[14]]]],[[]],0,[3],[3],[3],[3],[3],[3],[[[33,[30]],31],32],[[]],[[[7,[21]]],[[33,[[0,[[34,[21]],[34,[21]]]]]]]],[[[7,[21]]],[[33,[[34,[21]]]]]],[[[41,[21]]],[[42,[[34,[21]],34]]]],[[]],[43,[[33,[44]]]],[43,[[42,[44,44]]]],[[],3],[[],3],[[]],[[]],[[[33,[45]],46],43],[[[42,[45,45]],46],43],0,[[47,[12,[48]],17],49],[[47,[12,[48]],17],49],[[47,[13,[48]]],49],[[47,[13,[48]]],49],0,0,[[]],[[],9],[[],9],[[],9],[[],9],[[],39],[[],39],[[],50],[[],50],0,[[]],[[]],0,0,0,0,[[]],[[]],[8,8],[[]],[3],[3],[3],[[8,31],32],[[8,31],32],[[]],[[],3],[[]],[51],[[]],[[],49],[[],9],[[],9],[[],39],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[[41,[21]],[15,[21]]],52],[[[41,[[0,[14,21]]]]],[[41,[[0,[14,21]]]]]],[[]],[[13,3]],[[],[[41,[[0,[53,21]]]]]],0,[3],[3],[3],[3],[3],[3],[25,[[9,[[41,[[0,[26,27,21]]]]]]]],[3],[3],[3],[[[41,[[0,[30,21]]]],31],32],[[]],[[]],[[]],[[[42,[[54,[21]],54]]],[[41,[21]]]],[[],3],[[],3],[[],3],[[]],[[]],[[]],0,[[13,13,[0,[14,[15,[[0,[21,22,55]]]]]],[0,[4,5]]],[[41,[[0,[21,22,55]]]]]],[[[41,[21]],[15,[21]]],[[11,[24]]]],[[[41,[[0,[26,27,21]]]],37],9],0,[[]],[[],9],[[],9],[[],9],[[],9],[[],9],[[],9],[[],39],[[],39],[[],39],[[[13,[[16,[[0,[21,22,55]],[15,[[0,[21,22,55]]]],[41,[[0,[21,22,55]]]]]]]],[0,[4,5]]],17],[[]],[[]],[[]],0,0,0,0,[[[57,[56]],1]],0,[[[57,[56]]],22],[[]],[[]],[[]],[[]],[[[58,[56]]],[[58,[56]]]],[[[57,[56]]],[[57,[56]]]],[[]],[[]],[[[57,[56]],[2,[19]],3,[0,[4,5]]],[[6,[22]]]],[[[57,[56]],2,3,7],[[9,[[6,[22]],8]]]],[[[57,[56]],1,[10,[1]],[0,[4,5]]],[[6,[22]]]],[[[57,[56]],1,[10,[1]],7],[[9,[[6,[22]],8]]]],[[[57,[56]],1,[10,[1]]],[[7,[22]]]],[[[57,[56]],2,3],[[7,[22]]]],[[[57,[56]],13,[13,[19]],19],[[12,[[58,[56]]]]]],[[19,3],[[57,[56]]]],[3,[[57,[56]]]],[[],[[58,[56]]]],[[],[[57,[56]]]],[3],[3],[3],[3],[25,[[9,[[58,[56]]]]]],[25,[[9,[[57,[56]]]]]],[3],[3],[[[57,[[0,[29,56]]]],[57,[[0,[29,56]]]]],17],[[],17],[[[58,[[0,[30,56]]]],31],32],[[[57,[[0,[30,56]]]],31],32],[[]],[[]],0,[[[57,[56]],3],[[12,[[11,[[7,[22]]]]]]]],[[],3],[[],3],[[]],[[]],[[[57,[56]],[7,[22]],[0,[4,5]]],[[6,[22]]]],[[[57,[56]],[7,[22]],7],[[9,[[6,[22]],8]]]],[[[57,[56]]],3],[[13,13,[0,[14,[15,[22,19]]]],[0,[4,5]]],[[58,[56]]]],0,[[[58,[56]],37],9],[[[57,[56]],37],9],[[[57,[56]]],3],[[]],[[]],[[],9],[[],9],[[],9],[[],9],[[],39],[[],39],0,[[[13,[[16,[22,[15,[22,19]],[58,[56]]]]]],[0,[4,5]]],17],[[[58,[56]],[57,[56]],[11,[[23,[22]]]],19,[13,[19]]],17],[[]],[[]],0,[[[59,[22]],1]],[[[59,[22]],1]],[[[59,[22]]],22],[[]],[[]],[[[59,[14]]],[[59,[14]]]],[[]],[[[59,[22]],2,3,[0,[4,5]]],[[6,[22]]]],[[[59,[22]],2,3,7],[[9,[[6,[22]],8]]]],[[[59,[22]],1,[10,[1]],[0,[4,5]]],[[6,[22]]]],[[[59,[22]],1,[10,[1]],7],[[9,[[6,[22]],8]]]],[[[59,[22]],1,[10,[1]]],[[7,[22]]]],[[[59,[22]],2,3],[[7,[22]]]],[3,[[59,[22]]]],[3,[[59,[22]]]],[3,[[59,[22]]]],[3,[[59,[22]]]],[[],[[59,[53]]]],[3],[3],[25,[[9,[[59,[[0,[26,27]]]]]]]],[3],[[]],[[[59,[29]],[59,[29]]],17],[[],17],[[[59,[30]],31],32],[[]],0,[[[59,[22]],3],[[12,[[11,[[7,[22]]]]]]]],0,[[],3],[[]],0,[[[59,[22]],[7,[22]],[0,[4,5]]],[[6,[22]]]],[[[59,[22]],[7,[22]],7],[[9,[[6,[22]],8]]]],[[[59,[22]]],3],[[[59,[22]]],3],[[[59,[55,22]],13,13,[0,[14,[15,[55,22]]]],[0,[4,5]]],[[41,[55,22]]]],[[[59,[22]],13,13],[[11,[[23,[22]]]]]],[[[59,[[0,[26,27]]]],37],9],[[[59,[22]]],3],[[]],[[],9],[[],9],[[],39],[[[59,[22]],[13,[[16,[22,[15,[22]],[41,[22]]]]]],[0,[4,5]]],17],[[]]],"c":[],"p":[[3,"Radix2EvaluationDomain"],[3,"DensePolynomial"],[15,"usize"],[8,"RngCore"],[8,"CryptoRng"],[3,"BlindedCommitment"],[3,"PolyComm"],[4,"CommitmentError"],[4,"Result"],[3,"Evaluations"],[3,"Vec"],[4,"Option"],[15,"slice"],[8,"Clone"],[8,"FqSponge"],[3,"BatchEvaluationProof"],[15,"bool"],[8,"Field"],[8,"PrimeField"],[8,"SquareRootField"],[8,"AffineCurve"],[8,"CommitmentCurve"],[3,"Evaluation"],[3,"ScalarChallenge"],[8,"Deserializer"],[8,"CanonicalDeserialize"],[8,"CanonicalSerialize"],[8,"Deserialize"],[8,"PartialEq"],[8,"Debug"],[3,"Formatter"],[6,"Result"],[3,"CamlPolyComm"],[8,"From"],[8,"FnMut"],[8,"Iterator"],[8,"Serializer"],[8,"Serialize"],[3,"TypeId"],[8,"Copy"],[3,"OpeningProof"],[3,"CamlOpeningProof"],[4,"Value"],[8,"FromValue"],[8,"IntoValue"],[3,"OCamlRuntime"],[3,"Env"],[15,"str"],[3,"String"],[15,"u128"],[3,"Demand"],[3,"Challenges"],[8,"Default"],[8,"Into"],[8,"EndoCurve"],[8,"PairingEngine"],[3,"PairingSRS"],[3,"PairingProof"],[3,"SRS"],[8,"OpenProof"],[8,"SRS"],[4,"DensePolynomialOrEvaluations"]]},\ "snarky_deriver":{"doc":"This crate is not meant to be imported directly by users. …","t":"Y","n":["SnarkyType"],"q":[[0,"snarky_deriver"]],"d":["The SnarkyType derive macro. It generates implementations …"],"i":[0],"f":[0],"c":[],"p":[]},\ "test_optimism_preimage_read":{"doc":"","t":"F","n":["main"],"q":[[0,"test_optimism_preimage_read"]],"d":[""],"i":[0],"f":[[[],1]],"c":[],"p":[[3,"ExitCode"]]},\ diff --git a/rustdoc/settings.html b/rustdoc/settings.html index 9718890d0b..042ebee940 100644 --- a/rustdoc/settings.html +++ b/rustdoc/settings.html @@ -1 +1 @@ -Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file +Rustdoc settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/rustdoc/src/folding/eval_leaf.rs.html b/rustdoc/src/folding/eval_leaf.rs.html index d4911f7e1c..ca258f82e1 100644 --- a/rustdoc/src/folding/eval_leaf.rs.html +++ b/rustdoc/src/folding/eval_leaf.rs.html @@ -142,22 +142,22 @@ /// Result of a folding expression evaluation. pub enum EvalLeaf<'a, F> { Const(F), - Col(&'a Vec<F>), - Result(Vec<F>), + Col(&'a [F]), // slice will suffice + Result(Vec<F>), } impl<'a, F: std::fmt::Display> std::fmt::Display for EvalLeaf<'a, F> { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - let vec = match self { + let slice = match self { EvalLeaf::Const(c) => { write!(f, "Const: {}", c)?; return Ok(()); } EvalLeaf::Col(a) => a, - EvalLeaf::Result(a) => a, + EvalLeaf::Result(a) => a.as_slice(), }; writeln!(f, "[")?; - for e in vec.iter() { + for e in slice.iter() { writeln!(f, "{e}")?; } write!(f, "]")?; diff --git a/rustdoc/src/folding/expressions.rs.html b/rustdoc/src/folding/expressions.rs.html index 3941ee63dc..1f175032a6 100644 --- a/rustdoc/src/folding/expressions.rs.html +++ b/rustdoc/src/folding/expressions.rs.html @@ -1109,6 +1109,44 @@ 1109 1110 1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149
    //! Implement a library to represent expressions/multivariate polynomials that
     //! can be used with folding schemes like
     //! [Nova](https://eprint.iacr.org/2021/370).
    @@ -1749,6 +1787,44 @@
                 FoldingCompatibleExpr::Pow(e, p) => Pow(Box::new(e.map_variable(mapper)), p),
             }
         }
    +
    +    /// Map all quad columns into regular witness columns.
    +    pub fn flatten_quad_columns(
    +        self,
    +        mapper: &(dyn Fn(usize) -> Variable<C::Column>),
    +    ) -> FoldingCompatibleExpr<C> {
    +        use FoldingCompatibleExpr::*;
    +        match self {
    +            FoldingCompatibleExpr::Atom(atom) => match atom {
    +                FoldingCompatibleExprInner::Extensions(ExpExtension::ExtendedWitness(i)) => {
    +                    Atom(FoldingCompatibleExprInner::Cell((mapper)(i)))
    +                }
    +                atom => Atom(atom),
    +            },
    +            FoldingCompatibleExpr::Double(exp) => {
    +                Double(Box::new(exp.flatten_quad_columns(mapper)))
    +            }
    +            FoldingCompatibleExpr::Square(exp) => {
    +                Square(Box::new(exp.flatten_quad_columns(mapper)))
    +            }
    +            FoldingCompatibleExpr::Add(e1, e2) => {
    +                let e1 = Box::new(e1.flatten_quad_columns(mapper));
    +                let e2 = Box::new(e2.flatten_quad_columns(mapper));
    +                Add(e1, e2)
    +            }
    +            FoldingCompatibleExpr::Sub(e1, e2) => {
    +                let e1 = Box::new(e1.flatten_quad_columns(mapper));
    +                let e2 = Box::new(e2.flatten_quad_columns(mapper));
    +                Sub(e1, e2)
    +            }
    +            FoldingCompatibleExpr::Mul(e1, e2) => {
    +                let e1 = Box::new(e1.flatten_quad_columns(mapper));
    +                let e2 = Box::new(e2.flatten_quad_columns(mapper));
    +                Mul(e1, e2)
    +            }
    +            FoldingCompatibleExpr::Pow(e, p) => Pow(Box::new(e.flatten_quad_columns(mapper)), p),
    +        }
    +    }
     }
     
     impl<C: FoldingConfig> FoldingExp<C> {
    diff --git a/rustdoc/src/folding/lib.rs.html b/rustdoc/src/folding/lib.rs.html
    index 80bfd37271..82caf83888 100644
    --- a/rustdoc/src/folding/lib.rs.html
    +++ b/rustdoc/src/folding/lib.rs.html
    @@ -529,11 +529,11 @@
         fn challenge(&self, challenge: Chal, side: Side) -> F;
     
         /// Returns the evaluations of a given column witness at omega or zeta*omega.
    -    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &Vec<F>;
    +    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &[F];
     
         /// similar to [Self::col], but folding may ask for a dynamic selector directly
         /// instead of just column that happens to be a selector
    -    fn selector(&self, s: &Selector, side: Side) -> &Vec<F>;
    +    fn selector(&self, s: &Selector, side: Side) -> &[F];
     }
     
     type Evals<F> = Evaluations<F, Radix2EvaluationDomain<F>>;
    diff --git a/rustdoc/src/folding/standard_config.rs.html b/rustdoc/src/folding/standard_config.rs.html
    index ed4ff6ec30..92efbe6c3f 100644
    --- a/rustdoc/src/folding/standard_config.rs.html
    +++ b/rustdoc/src/folding/standard_config.rs.html
    @@ -516,11 +516,11 @@
         G: CommitmentCurve,
         I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone,
         W: Witness<G> + Clone,
    -    W: Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>,
    +    W: Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>,
         Col: Hash + Eq + Debug + Clone + FoldingColumnTrait,
         Sel: Ord + Copy + Hash + Debug,
         Chall: Hash + Eq + Debug + Copy,
    -    Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,
    +    Str: Clone + Index<Col, Output = [G::ScalarField]>,
     {
         type Column = Col;
     
    @@ -546,7 +546,7 @@
         G: CommitmentCurve,
         I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone,
         W: Witness<G> + Clone,
    -    W: Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>,
    +    W: Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>,
         Col: Hash + Eq,
     {
         instances: [I; 2],
    @@ -564,10 +564,10 @@
         G: CommitmentCurve,
         I: Instance<G> + Index<Chall, Output = G::ScalarField> + Clone,
         W: Witness<G> + Clone,
    -    W: Index<Col, Output = Vec<G::ScalarField>> + Index<Sel, Output = Vec<G::ScalarField>>,
    +    W: Index<Col, Output = [G::ScalarField]> + Index<Sel, Output = [G::ScalarField]>,
         Col: FoldingColumnTrait + Eq + Hash,
         Sel: Copy,
    -    Str: Clone + Index<Col, Output = Vec<G::ScalarField>>,
    +    Str: Clone + Index<Col, Output = [G::ScalarField]>,
     {
         type Structure = Str;
     
    @@ -595,7 +595,7 @@
             instance[challenge]
         }
     
    -    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &Vec<G::ScalarField> {
    +    fn col(&self, col: Col, curr_or_next: CurrOrNext, side: Side) -> &[G::ScalarField] {
             let witness = match side {
                 Side::Left => &self.witnesses[0],
                 Side::Right => &self.witnesses[1],
    @@ -629,7 +629,7 @@
             }
         }
     
    -    fn selector(&self, s: &Sel, side: Side) -> &Vec<G::ScalarField> {
    +    fn selector(&self, s: &Sel, side: Side) -> &[G::ScalarField] {
             //similar to the witness case of col, as expected
             let witness = match side {
                 Side::Left => &self.witnesses[0],
    @@ -824,7 +824,7 @@
         }
         // for selectors, () in this case as we have none
         impl<G: KimchiCurve> Index<()> for MyWitness<G> {
    -        type Output = Vec<G::ScalarField>;
    +        type Output = [G::ScalarField];
     
             fn index(&self, _index: ()) -> &Self::Output {
                 unreachable!()
    diff --git a/rustdoc/src/ivc/plonkish_lang.rs.html b/rustdoc/src/ivc/plonkish_lang.rs.html
    index 14dc55a04a..6ae470bc1e 100644
    --- a/rustdoc/src/ivc/plonkish_lang.rs.html
    +++ b/rustdoc/src/ivc/plonkish_lang.rs.html
    @@ -203,11 +203,43 @@
     203
     204
     205
    +206
    +207
    +208
    +209
    +210
    +211
    +212
    +213
    +214
    +215
    +216
    +217
    +218
    +219
    +220
    +221
    +222
    +223
    +224
    +225
    +226
    +227
    +228
    +229
    +230
    +231
    +232
    +233
    +234
    +235
    +236
    +237
     
    /// Provides definition of plonkish language related instance,
     /// witness, and tools to work with them. The IVC is specialized for
     /// exactly the plonkish language.
     use ark_ec::ProjectiveCurve;
    -use ark_ff::{FftField, One};
    +use ark_ff::{FftField, Field, One};
     use ark_poly::{Evaluations, Radix2EvaluationDomain as R2D};
     use folding::{instance_witness::Foldable, Alphas, Instance, Witness};
     use itertools::Itertools;
    @@ -223,42 +255,74 @@
     use std::ops::Index;
     use strum_macros::{EnumCount as EnumCountMacro, EnumIter};
     
    +/// Vector field over F. Something like a vector.
    +pub trait CombinableEvals<F: Field> {
    +    fn e_as_slice(&self) -> &[F];
    +    fn e_as_mut_slice(&mut self) -> &mut [F];
    +}
    +
    +impl<F: FftField> CombinableEvals<F> for Evaluations<F, R2D<F>> {
    +    fn e_as_slice(&self) -> &[F] {
    +        self.evals.as_slice()
    +    }
    +    fn e_as_mut_slice(&mut self) -> &mut [F] {
    +        self.evals.as_mut_slice()
    +    }
    +}
    +
    +impl<F: FftField> CombinableEvals<F> for Vec<F> {
    +    fn e_as_slice(&self) -> &[F] {
    +        self.as_slice()
    +    }
    +    fn e_as_mut_slice(&mut self) -> &mut [F] {
    +        self.as_mut_slice()
    +    }
    +}
    +
     #[derive(Clone, Debug, PartialEq, Eq, Hash)]
    -pub struct PlonkishWitness<const N_COL: usize, const N_FSEL: usize, F: FftField> {
    -    pub witness: GenericWitness<N_COL, Evaluations<F, R2D<F>>>,
    +pub struct PlonkishWitnessGeneric<const N_COL: usize, const N_FSEL: usize, F: Field, Evals> {
    +    pub witness: GenericWitness<N_COL, Evals>,
         // This does not have to be part of the witness... can be a static
         // precompiled object.
    -    pub fixed_selectors: GenericWitness<N_FSEL, Evaluations<F, R2D<F>>>,
    +    pub fixed_selectors: GenericWitness<N_FSEL, Evals>,
    +    pub phantom: std::marker::PhantomData<F>,
     }
     
    -impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Foldable<F>
    -    for PlonkishWitness<N_COL, N_FSEL, F>
    +pub type PlonkishWitness<const N_COL: usize, const N_FSEL: usize, F> =
    +    PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evaluations<F, R2D<F>>>;
    +
    +impl<const N_COL: usize, const N_FSEL: usize, F: Field, Evals: CombinableEvals<F>> Foldable<F>
    +    for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>
     {
         fn combine(mut a: Self, b: Self, challenge: F) -> Self {
             for (a, b) in (*a.witness.cols).iter_mut().zip(*(b.witness.cols)) {
    -            for (a, b) in a.evals.iter_mut().zip(b.evals) {
    -                *a += challenge * b;
    +            for (a, b) in (a.e_as_mut_slice()).iter_mut().zip(b.e_as_slice()) {
    +                *a += *b * challenge;
                 }
             }
             a
         }
     }
     
    -impl<const N_COL: usize, const N_FSEL: usize, Curve: CommitmentCurve> Witness<Curve>
    -    for PlonkishWitness<N_COL, N_FSEL, Curve::ScalarField>
    +impl<
    +        const N_COL: usize,
    +        const N_FSEL: usize,
    +        Curve: CommitmentCurve,
    +        Evals: CombinableEvals<Curve::ScalarField>,
    +    > Witness<Curve> for PlonkishWitnessGeneric<N_COL, N_FSEL, Curve::ScalarField, Evals>
     {
     }
     
    -impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<Column>
    -    for PlonkishWitness<N_COL, N_FSEL, F>
    +impl<const N_COL: usize, const N_FSEL: usize, F: FftField, Evals: CombinableEvals<F>> Index<Column>
    +    for PlonkishWitnessGeneric<N_COL, N_FSEL, F, Evals>
     {
    -    type Output = Vec<F>;
    +    type Output = [F];
     
         /// Map a column alias to the corresponding witness column.
         fn index(&self, index: Column) -> &Self::Output {
             match index {
    -            Column::Relation(i) => &self.witness.cols[i].evals,
    -            Column::FixedSelector(i) => &self.fixed_selectors[i].evals,
    +            Column::Relation(i) => self.witness.cols[i].e_as_slice(),
    +            Column::FixedSelector(i) => self.fixed_selectors[i].e_as_slice(),
                 other => panic!("Invalid column index: {other:?}"),
             }
         }
    @@ -268,7 +332,7 @@
     impl<const N_COL: usize, const N_FSEL: usize, F: FftField> Index<()>
         for PlonkishWitness<N_COL, N_FSEL, F>
     {
    -    type Output = Vec<F>;
    +    type Output = [F];
     
         fn index(&self, _index: ()) -> &Self::Output {
             unreachable!()
    diff --git a/rustdoc/src/o1vm/folding.rs.html b/rustdoc/src/o1vm/folding.rs.html
    index dcc6b3fab2..a1fd0e68f0 100644
    --- a/rustdoc/src/o1vm/folding.rs.html
    +++ b/rustdoc/src/o1vm/folding.rs.html
    @@ -633,7 +633,7 @@
             }
         }
     
    -    fn col(&self, col: C::Column, curr_or_next: CurrOrNext, side: Side) -> &Vec<ScalarField<C>> {
    +    fn col(&self, col: C::Column, curr_or_next: CurrOrNext, side: Side) -> &[ScalarField<C>] {
             let wit = match curr_or_next {
                 CurrOrNext::Curr => &self.curr_witnesses[side as usize],
                 CurrOrNext::Next => &self.next_witnesses[side as usize],
    @@ -650,7 +650,7 @@
             }
         }
     
    -    fn selector(&self, s: &C::Selector, side: Side) -> &Vec<ScalarField<C>> {
    +    fn selector(&self, s: &C::Selector, side: Side) -> &[ScalarField<C>] {
             let witness = &self.curr_witnesses[side as usize];
             &witness[*s].evals
         }
    @@ -712,7 +712,7 @@
             }
         }
     
    -    fn col(&self, col: C::Column, curr_or_next: CurrOrNext, side: Side) -> &Vec<ScalarField<C>> {
    +    fn col(&self, col: C::Column, curr_or_next: CurrOrNext, side: Side) -> &[ScalarField<C>] {
             let wit = match curr_or_next {
                 CurrOrNext::Curr => &self.curr_witnesses[side as usize],
                 CurrOrNext::Next => &self.next_witnesses[side as usize],
    @@ -729,7 +729,7 @@
             }
         }
     
    -    fn selector(&self, _s: &(), _side: Side) -> &Vec<ScalarField<C>> {
    +    fn selector(&self, _s: &(), _side: Side) -> &[ScalarField<C>] {
             unimplemented!("Selector not implemented for FoldingEnvironment. No selectors are supposed to be used when there is only one instruction.")
         }
     }