From de48ae18faec291cc0e6bd1d5e14fde557858639 Mon Sep 17 00:00:00 2001 From: dante <45801863+alexander-camuto@users.noreply.github.com> Date: Wed, 3 Jan 2024 16:10:58 +0000 Subject: [PATCH] refactor: lookup safety during cal should be selectable (#678) --- examples/notebooks/ezkl_demo.ipynb | 1 - examples/notebooks/svm.ipynb | 2 +- examples/onnx/1l_topk/gen.py | 10 +- examples/onnx/1l_topk/input.json | 2 +- examples/onnx/1l_topk/network.onnx | Bin 266 -> 572 bytes src/circuit/ops/hybrid.rs | 13 +- src/circuit/ops/layouts.rs | 12 +- src/circuit/ops/lookup.rs | 15 +- src/circuit/ops/poly.rs | 5 +- src/commands.rs | 5 + src/execute.rs | 16 +- src/graph/mod.rs | 27 +- src/graph/model.rs | 3 +- src/graph/node.rs | 36 +- src/graph/utilities.rs | 18 +- src/python.rs | 13 +- src/tensor/ops.rs | 21 +- tests/python/binding_tests.py | 2 +- tests/wasm/model.compiled | Bin 1658 -> 1658 bytes tests/wasm/proof.json | 7334 +--------------------------- tests/wasm/settings.json | 2 +- 21 files changed, 142 insertions(+), 7395 deletions(-) diff --git a/examples/notebooks/ezkl_demo.ipynb b/examples/notebooks/ezkl_demo.ipynb index 79bff5fcf..98b4907e3 100644 --- a/examples/notebooks/ezkl_demo.ipynb +++ b/examples/notebooks/ezkl_demo.ipynb @@ -589,7 +589,6 @@ " proof_path,\n", " settings_path,\n", " vk_path,\n", - " \n", " )\n", "\n", "assert res == True\n", diff --git a/examples/notebooks/svm.ipynb b/examples/notebooks/svm.ipynb index 977c87cd3..b733138d0 100644 --- a/examples/notebooks/svm.ipynb +++ b/examples/notebooks/svm.ipynb @@ -220,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "b1c561a8", "metadata": {}, "outputs": [], diff --git a/examples/onnx/1l_topk/gen.py b/examples/onnx/1l_topk/gen.py index cabc83698..7e6d79d0b 100644 --- a/examples/onnx/1l_topk/gen.py +++ b/examples/onnx/1l_topk/gen.py @@ -8,9 +8,11 @@ def __init__(self): super(MyModel, self).__init__() def forward(self, x): - topk = torch.topk(x, 4) - print(topk) - return [topk.values] + topk_largest = torch.topk(x, 4) + topk_smallest = torch.topk(x, 4, largest=False) + print(topk_largest) + print(topk_smallest) + return topk_largest.values + topk_smallest.values circuit = MyModel() @@ -21,7 +23,7 @@ def forward(self, x): torch.onnx.export(circuit, x, "network.onnx", export_params=True, # store the trained parameter weights inside the model file - opset_version=10, # the ONNX version to export the model to + opset_version=14, # the ONNX version to export the model to do_constant_folding=True, # whether to execute constant folding for optimization input_names=['input'], # the model's input names output_names=['output'], # the model's output names diff --git a/examples/onnx/1l_topk/input.json b/examples/onnx/1l_topk/input.json index 654f20300..56dae35a1 100644 --- a/examples/onnx/1l_topk/input.json +++ b/examples/onnx/1l_topk/input.json @@ -1 +1 @@ -{"input_data": [[2, 1, 5, 3, 3, 7]], "output_data": [[7, 5, 3, 3]]} \ No newline at end of file +{"input_data": [[2, 1, 5, 4, 8, 2]], "output_data": [[9, 7, 6, 6]]} \ No newline at end of file diff --git a/examples/onnx/1l_topk/network.onnx b/examples/onnx/1l_topk/network.onnx index 546c9bab287396704a281dfc72246c9e83fc1dda..1f4875554c24ac1a01d733b056a56e459acb3e15 100644 GIT binary patch literal 572 zcmd;J7h*4{EXglQ&X8g?(lgXEuv*N*;M1& diff --git a/src/circuit/ops/hybrid.rs b/src/circuit/ops/hybrid.rs index 06602306a..be3a35977 100644 --- a/src/circuit/ops/hybrid.rs +++ b/src/circuit/ops/hybrid.rs @@ -53,6 +53,7 @@ pub enum HybridOp { TopK { dim: usize, k: usize, + largest: bool, }, OneHot { dim: usize, @@ -151,8 +152,8 @@ impl Op for HybridOp { let res = tensor::ops::one_hot(&x, *num_classes, *dim)?; (res.clone(), inter_equals) } - HybridOp::TopK { dim, k } => { - let res = tensor::ops::topk_axes(&x, *k, *dim)?; + HybridOp::TopK { dim, k, largest } => { + let res = tensor::ops::topk_axes(&x, *k, *dim, *largest)?; let mut inter_equals = x .clone() @@ -302,7 +303,9 @@ impl Op for HybridOp { HybridOp::LessEqual => "LESSEQUAL".into(), HybridOp::Equals => "EQUALS".into(), HybridOp::Gather { dim, .. } => format!("GATHER (dim={})", dim), - HybridOp::TopK { k, dim } => format!("TOPK (k={}, dim={})", k, dim), + HybridOp::TopK { k, dim, largest } => { + format!("TOPK (k={}, dim={}, largest={})", k, dim, largest) + } HybridOp::GatherElements { dim, .. } => format!("GATHERELEMENTS (dim={})", dim), HybridOp::ScatterElements { dim, .. } => format!("SCATTERELEMENTS (dim={})", dim), HybridOp::OneHot { dim, num_classes } => { @@ -400,8 +403,8 @@ impl Op for HybridOp { HybridOp::Less => layouts::less(config, region, values[..].try_into()?)?, HybridOp::LessEqual => layouts::less_equal(config, region, values[..].try_into()?)?, HybridOp::Equals => layouts::equals(config, region, values[..].try_into()?)?, - HybridOp::TopK { dim, k } => { - layouts::topk_axes(config, region, values[..].try_into()?, *k, *dim)? + HybridOp::TopK { dim, k, largest } => { + layouts::topk_axes(config, region, values[..].try_into()?, *k, *dim, *largest)? } HybridOp::OneHot { dim, num_classes } => { layouts::one_hot_axis(config, region, values[..].try_into()?, *num_classes, *dim)? diff --git a/src/circuit/ops/layouts.rs b/src/circuit/ops/layouts.rs index 5bee3a1f4..d349c9e78 100644 --- a/src/circuit/ops/layouts.rs +++ b/src/circuit/ops/layouts.rs @@ -478,7 +478,7 @@ fn _sort_ascending( .get_int_evals()? .iter() .sorted_by(|a, b| a.cmp(b)) - .map(|x| Ok(Value::known(input.get_felt_evals()?.get(&[*x as usize])))) + .map(|x| Ok(Value::known(i128_to_felt(*x)))) .collect::>, Box>>()? } else { Tensor::new( @@ -544,8 +544,13 @@ fn _select_topk( region: &mut RegionCtx, values: &[ValTensor; 1], k: usize, + largest: bool, ) -> Result, Box> { - let sorted = _sort_descending(config, region, values)?.get_slice(&[0..k])?; + let sorted = if largest { + _sort_descending(config, region, values)?.get_slice(&[0..k])? + } else { + _sort_ascending(config, region, values)?.get_slice(&[0..k])? + }; Ok(sorted) } @@ -556,12 +561,13 @@ pub fn topk_axes( values: &[ValTensor; 1], k: usize, dim: usize, + largest: bool, ) -> Result, Box> { let topk_at_k = move |config: &BaseConfig, region: &mut RegionCtx, values: &[ValTensor; 1]| -> Result, Box> { - _select_topk(config, region, values, k) + _select_topk(config, region, values, k, largest) }; let output: ValTensor = multi_dim_axes_op(config, region, values, &[dim], topk_at_k)?; diff --git a/src/circuit/ops/lookup.rs b/src/circuit/ops/lookup.rs index 64be20165..c111f8b95 100644 --- a/src/circuit/ops/lookup.rs +++ b/src/circuit/ops/lookup.rs @@ -18,6 +18,7 @@ use halo2curves::ff::PrimeField; pub enum LookupOp { Abs, Div { denom: utils::F32 }, + Cast { scale: utils::F32 }, ReLU, Max { scale: utils::F32, a: utils::F32 }, Min { scale: utils::F32, a: utils::F32 }, @@ -115,6 +116,10 @@ impl Op for LookupOp { &x, f32::from(*denom).into(), )), + LookupOp::Cast { scale } => Ok(tensor::ops::nonlinearities::const_div( + &x, + f32::from(*scale).into(), + )), LookupOp::Recip { scale } => Ok(tensor::ops::nonlinearities::recip(&x, scale.into())), LookupOp::ReLU => Ok(tensor::ops::nonlinearities::leakyrelu(&x, 0_f64)), @@ -170,6 +175,7 @@ impl Op for LookupOp { LookupOp::LessThanEqual { .. } => "LESS_THAN_EQUAL".into(), LookupOp::Recip { scale, .. } => format!("RECIP(scale={})", scale), LookupOp::Div { denom, .. } => format!("DIV(denom={})", denom), + LookupOp::Cast { scale } => format!("CAST(scale={})", scale), LookupOp::Ln { scale } => format!("LN(scale={})", scale), LookupOp::ReLU => "RELU".to_string(), LookupOp::LeakyReLU { slope: a } => format!("L_RELU(slope={})", a), @@ -210,12 +216,9 @@ impl Op for LookupOp { /// Returns the scale of the output of the operation. fn out_scale(&self, inputs_scale: Vec) -> Result> { let scale = match self { - LookupOp::Div { denom } => { - let mut scale = inputs_scale[0]; - if scale == 0 { - scale += multiplier_to_scale(1. / denom.0 as f64); - } - scale + LookupOp::Cast { scale } => { + let in_scale = inputs_scale[0]; + in_scale + multiplier_to_scale(1. / scale.0 as f64) } LookupOp::Recip { scale } => { let mut out_scale = inputs_scale[0]; diff --git a/src/circuit/ops/poly.rs b/src/circuit/ops/poly.rs index c1b0a0313..69b2c7aee 100644 --- a/src/circuit/ops/poly.rs +++ b/src/circuit/ops/poly.rs @@ -406,7 +406,10 @@ impl Deserialize< } fn requires_homogenous_input_scales(&self) -> Vec { - if matches!(self, PolyOp::Add { .. } | PolyOp::Sub) { + if matches!( + self, + PolyOp::Add { .. } | PolyOp::Sub | PolyOp::Concat { .. } + ) { vec![0, 1] } else if matches!(self, PolyOp::Iff) { vec![1, 2] diff --git a/src/commands.rs b/src/commands.rs index a8844dcfd..ad26134de 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -71,6 +71,8 @@ pub const DEFAULT_OPTIMIZER_RUNS: &str = "1"; pub const DEFAULT_FUZZ_RUNS: &str = "10"; /// Default calibration file pub const DEFAULT_CALIBRATION_FILE: &str = "calibration.json"; +/// Default lookup safety margin +pub const DEFAULT_LOOKUP_SAFETY_MARGIN: &str = "2"; impl std::fmt::Display for TranscriptType { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { @@ -303,6 +305,9 @@ pub enum Commands { #[arg(long = "target", default_value = DEFAULT_CALIBRATION_TARGET)] /// Target for calibration. Set to "resources" to optimize for computational resource. Otherwise, set to "accuracy" to optimize for accuracy. target: CalibrationTarget, + /// the lookup safety margin to use for calibration. if the max lookup is 2^k, then the max lookup will be 2^k * lookup_safety_margin. larger = safer but slower + #[arg(long, default_value = DEFAULT_LOOKUP_SAFETY_MARGIN)] + lookup_safety_margin: i128, /// Optional scales to specifically try for calibration. Example, --scales 0,4 #[arg(long, value_delimiter = ',', allow_hyphen_values = true)] scales: Option>, diff --git a/src/execute.rs b/src/execute.rs index 54de669bf..9aa65d8a4 100644 --- a/src/execute.rs +++ b/src/execute.rs @@ -165,10 +165,19 @@ pub async fn run(command: Commands) -> Result> { settings_path, data, target, + lookup_safety_margin, scales, max_logrows, - } => calibrate(model, data, settings_path, target, scales, max_logrows) - .map(|e| serde_json::to_string(&e).unwrap()), + } => calibrate( + model, + data, + settings_path, + target, + lookup_safety_margin, + scales, + max_logrows, + ) + .map(|e| serde_json::to_string(&e).unwrap()), Commands::GenWitness { data, compiled_circuit, @@ -624,6 +633,7 @@ pub(crate) fn calibrate( data: PathBuf, settings_path: PathBuf, target: CalibrationTarget, + lookup_safety_margin: i128, scales: Option>, max_logrows: Option, ) -> Result> { @@ -748,7 +758,7 @@ pub(crate) fn calibrate( .map_err(|e| format!("failed to load circuit inputs: {}", e))?; circuit - .calibrate(&data, max_logrows) + .calibrate(&data, max_logrows, lookup_safety_margin) .map_err(|e| format!("failed to calibrate: {}", e))?; let settings = circuit.settings().clone(); diff --git a/src/graph/mod.rs b/src/graph/mod.rs index bab56e6eb..eec3d0e63 100644 --- a/src/graph/mod.rs +++ b/src/graph/mod.rs @@ -942,11 +942,16 @@ impl GraphCircuit { (ASSUMED_BLINDING_FACTORS + RESERVED_BLINDING_ROWS_PAD) as f64 } - fn calc_safe_range(res: &GraphWitness) -> (i128, i128) { - ( - RANGE_MULTIPLIER * res.min_lookup_inputs, - RANGE_MULTIPLIER * res.max_lookup_inputs, - ) + fn calc_safe_lookup_range(res: &GraphWitness, lookup_safety_margin: i128) -> (i128, i128) { + let mut margin = ( + lookup_safety_margin * res.min_lookup_inputs, + lookup_safety_margin * res.max_lookup_inputs, + ); + if lookup_safety_margin == 1 { + margin.0 -= 1; + margin.1 += 1; + } + margin } fn calc_num_cols(safe_range: (i128, i128), max_logrows: u32) -> usize { @@ -961,6 +966,7 @@ impl GraphCircuit { &mut self, res: &GraphWitness, max_logrows: Option, + lookup_safety_margin: i128, ) -> Result<(), Box> { // load the max logrows let max_logrows = max_logrows.unwrap_or(MAX_PUBLIC_SRS); @@ -969,14 +975,15 @@ impl GraphCircuit { let reserved_blinding_rows = Self::reserved_blinding_rows(); // check if has overflowed max lookup input - if res.max_lookup_inputs > MAX_LOOKUP_ABS / RANGE_MULTIPLIER - || res.min_lookup_inputs < -MAX_LOOKUP_ABS / RANGE_MULTIPLIER + if res.max_lookup_inputs > MAX_LOOKUP_ABS / lookup_safety_margin + || res.min_lookup_inputs < -MAX_LOOKUP_ABS / lookup_safety_margin { let err_string = format!("max lookup input ({}) is too large", res.max_lookup_inputs); + error!("{}", err_string); return Err(err_string.into()); } - let safe_range = Self::calc_safe_range(res); + let safe_range = Self::calc_safe_lookup_range(res, lookup_safety_margin); let mut min_logrows = MIN_LOGROWS; // degrade the max logrows until the extended k is small enough while min_logrows < max_logrows @@ -995,6 +1002,7 @@ impl GraphCircuit { "extended k is too large to accommodate the quotient polynomial with logrows {}", min_logrows ); + error!("{}", err_string); return Err(err_string.into()); } @@ -1100,9 +1108,10 @@ impl GraphCircuit { &mut self, input: &[Tensor], max_logrows: Option, + lookup_safety_margin: i128, ) -> Result<(), Box> { let res = self.forward(&mut input.to_vec(), None, None)?; - self.calc_min_logrows(&res, max_logrows) + self.calc_min_logrows(&res, max_logrows, lookup_safety_margin) } /// Runs the forward pass of the model / graph of computations and any associated hashing. diff --git a/src/graph/model.rs b/src/graph/model.rs index a29a334b0..1d6c69589 100644 --- a/src/graph/model.rs +++ b/src/graph/model.rs @@ -607,7 +607,7 @@ impl Model { debug!("intermediate min lookup inputs: {}", min); } debug!( - "------------ output node int {}: {} \n ------------ float: {} \n ------------ max: {} \n ------------ min: {}", + "------------ output node int {}: {} \n ------------ float: {} \n ------------ max: {} \n ------------ min: {} ------------ scale: {}", idx, res.output.map(crate::fieldutils::felt_to_i32).show(), res.output @@ -616,6 +616,7 @@ impl Model { .show(), res.output.clone().into_iter().map(crate::fieldutils::felt_to_i128).max().unwrap_or(0), res.output.clone().into_iter().map(crate::fieldutils::felt_to_i128).min().unwrap_or(0), + n.out_scale ); results.insert(idx, vec![res.output]); } diff --git a/src/graph/node.rs b/src/graph/node.rs index 1f2d82337..42c46bb4a 100644 --- a/src/graph/node.rs +++ b/src/graph/node.rs @@ -528,6 +528,8 @@ impl Node { idx: usize, symbol_values: &SymbolValues, ) -> Result> { + use log::warn; + trace!("Create {:?}", node); trace!("Create op {:?}", node.op); @@ -603,21 +605,25 @@ impl Node { .into_iter() .filter(|i| !deleted_indices.contains(i)) { - let input_node = other_nodes - .get_mut(&inputs[input].idx()) - .ok_or("input not found")?; - let input_opkind = &mut input_node.opkind(); - if let Some(constant) = input_opkind.get_mutable_constant() { - rescale_const_with_single_use( - constant, - in_scales.clone(), - param_visibility, - input_node.num_uses(), - )?; - input_node.replace_opkind(constant.clone_dyn().into()); - let out_scale = input_opkind.out_scale(vec![])?; - input_node.bump_scale(out_scale); - in_scales[input] = out_scale; + if inputs.len() > input { + let input_node = other_nodes + .get_mut(&inputs[input].idx()) + .ok_or("input not found")?; + let input_opkind = &mut input_node.opkind(); + if let Some(constant) = input_opkind.get_mutable_constant() { + rescale_const_with_single_use( + constant, + in_scales.clone(), + param_visibility, + input_node.num_uses(), + )?; + input_node.replace_opkind(constant.clone_dyn().into()); + let out_scale = input_opkind.out_scale(vec![])?; + input_node.bump_scale(out_scale); + in_scales[input] = out_scale; + } + } else { + warn!("input {} not found for rescaling, skipping ...", input); } } diff --git a/src/graph/utilities.rs b/src/graph/utilities.rs index 8266aa38e..b605b8eb2 100644 --- a/src/graph/utilities.rs +++ b/src/graph/utilities.rs @@ -310,7 +310,13 @@ pub fn new_op_from_onnx( deleted_indices.push(inputs.len() - 1); op = SupportedOp::Hybrid(crate::circuit::ops::hybrid::HybridOp::Gather { dim: axis, - constant_idx: Some(c.raw_values.map(|x| x as usize)), + constant_idx: Some(c.raw_values.map(|x| { + if x == -1.0 { + inputs[0].out_dims()[0][axis] - 1 + } else { + x as usize + } + })), }); } // } @@ -339,7 +345,11 @@ pub fn new_op_from_onnx( op.fallback_k.to_i64()? as usize }; - SupportedOp::Hybrid(crate::circuit::ops::hybrid::HybridOp::TopK { dim: axis, k }) + SupportedOp::Hybrid(crate::circuit::ops::hybrid::HybridOp::TopK { + dim: axis, + k, + largest: op.largest, + }) } "Onehot" => { let op = load_op::(node.op(), idx, node.op().name().to_string())?; @@ -791,8 +801,8 @@ pub fn new_op_from_onnx( if input_scales[0] != 0 { replace_const( 0, - SupportedOp::Nonlinear(LookupOp::Div { - denom: crate::circuit::utils::F32(scale_to_multiplier( + SupportedOp::Nonlinear(LookupOp::Cast { + scale: crate::circuit::utils::F32(scale_to_multiplier( input_scales[0], ) as f32), diff --git a/src/python.rs b/src/python.rs index 055c9895c..bcce9a39c 100644 --- a/src/python.rs +++ b/src/python.rs @@ -509,6 +509,7 @@ fn gen_settings( model = PathBuf::from(DEFAULT_MODEL), settings = PathBuf::from(DEFAULT_SETTINGS), target = CalibrationTarget::default(), // default is "resources + lookup_safety_margin = DEFAULT_LOOKUP_SAFETY_MARGIN.parse().unwrap(), scales = None, max_logrows = None, ))] @@ -517,10 +518,20 @@ fn calibrate_settings( model: PathBuf, settings: PathBuf, target: CalibrationTarget, + lookup_safety_margin: i128, scales: Option>, max_logrows: Option, ) -> Result { - crate::execute::calibrate(model, data, settings, target, scales, max_logrows).map_err(|e| { + crate::execute::calibrate( + model, + data, + settings, + target, + lookup_safety_margin, + scales, + max_logrows, + ) + .map_err(|e| { let err_str = format!("Failed to calibrate settings: {}", e); PyRuntimeError::new_err(err_str) })?; diff --git a/src/tensor/ops.rs b/src/tensor/ops.rs index 765eedc24..47d9ebfb7 100644 --- a/src/tensor/ops.rs +++ b/src/tensor/ops.rs @@ -1415,14 +1415,18 @@ pub fn prod_axes + Send + Sync>( /// Some(&[2, 15, 2, 1, 1, 0]), /// &[6], /// ).unwrap(); -/// let result = topk(&x, 3).unwrap(); +/// let result = topk(&x, 3, true).unwrap(); /// let expected = Tensor::::new( /// Some(&[15, 2, 2]), /// &[3], /// ).unwrap(); /// assert_eq!(result, expected); /// ``` -pub fn topk(a: &Tensor, k: usize) -> Result, TensorError> { +pub fn topk( + a: &Tensor, + k: usize, + largest: bool, +) -> Result, TensorError> { let mut indexed_a = a.clone(); indexed_a.flatten(); @@ -1432,7 +1436,11 @@ pub fn topk(a: &Tensor, k: usize) -> Result>(); - indexed_a.sort_by(|(_, a), (_, b)| b.partial_cmp(a).unwrap()); + if largest { + indexed_a.sort_by(|(_, a), (_, b)| b.partial_cmp(a).unwrap()); + } else { + indexed_a.sort_by(|(_, a), (_, b)| a.partial_cmp(b).unwrap()); + } let indexed_a = indexed_a .into_iter() @@ -1454,6 +1462,8 @@ pub fn topk(a: &Tensor, k: usize) -> Result(a: &Tensor, k: usize) -> Result::new( /// Some(&[15, 2, 1, 1]), /// &[2,2], @@ -1473,6 +1483,7 @@ pub fn topk_axes( a: &Tensor, k: usize, dim: usize, + largest: bool, ) -> Result, TensorError> { let mut new_dims = a.dims().to_vec(); new_dims[dim] = k; @@ -1496,7 +1507,7 @@ pub fn topk_axes( } } let sliced_value = a.get_slice(&slice)?; - let topk = topk(&sliced_value, k)?; + let topk = topk(&sliced_value, k, largest)?; Ok(topk[coord[dim]].clone()) })?; diff --git a/tests/python/binding_tests.py b/tests/python/binding_tests.py index 1951bfd45..96104395b 100644 --- a/tests/python/binding_tests.py +++ b/tests/python/binding_tests.py @@ -137,7 +137,7 @@ def test_calibrate_over_user_range(): assert res == True res = ezkl.calibrate_settings( - data_path, model_path, output_path, "resources", [0, 1, 2]) + data_path, model_path, output_path, "resources", 1, [0, 1, 2]) assert res == True assert os.path.isfile(output_path) diff --git a/tests/wasm/model.compiled b/tests/wasm/model.compiled index ee8f96f189770b2da00c8bf852133dde74bb4d2a..c0e4c80234ad73c327824c3ccebf9112b6b2c31b 100644 GIT binary patch delta 26 icmeyx^NVLgD9dCQCV|QMtQ?zjS-cn-nJ4dHJp=%KeF&2P delta 22 ecmeyx^NVLgD9hw{R*B8IEMAO^Op|x89s&ShEeELp diff --git a/tests/wasm/proof.json b/tests/wasm/proof.json index aa3006e6c..1aba7b13e 100644 --- a/tests/wasm/proof.json +++ b/tests/wasm/proof.json @@ -1,7333 +1 @@ -{ - "protocol": { - "domain": { - "k": 6, - "n": 64, - "n_inv": [ - 0, - 0, - 0, - 288230376151711744 - ], - "gen": [ - 13065489725457997378, - 11211756437640344014, - 7238224585957573902, - 708111906564994541 - ], - "gen_inv": [ - 12835574056175175549, - 9273301601072327479, - 17618698331133403535, - 2628560312543510721 - ] - }, - "preprocessed": [ - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 18112345141133463434, - 5818151611473276308, - 6654551641347296750, - 645001517410635059 - ], - "y": [ - 2541257524718876535, - 12026165214142124735, - 14947127798426010763, - 1291068511166000853 - ] - }, - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 10451083550665550188, - 4931025277335468226, - 7576131525244012751, - 732602398172653619 - ], - "y": [ - 11462807050877588281, - 17901628272728915965, - 3228101036953356146, - 986233803214739591 - ] - }, - { - "x": [ - 10451083550665550188, - 4931025277335468226, - 7576131525244012751, - 732602398172653619 - ], - "y": [ - 11462807050877588281, - 17901628272728915965, - 3228101036953356146, - 986233803214739591 - ] - }, - { - "x": [ - 13120457791693094846, - 7803260213243350901, - 9334382489125164659, - 2343255951908240068 - ], - "y": [ - 18049433600144337889, - 17102717865772125436, - 15465540052162829751, - 156365542653813991 - ] - }, - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 13120457791693094846, - 7803260213243350901, - 9334382489125164659, - 2343255951908240068 - ], - "y": [ - 18049433600144337889, - 17102717865772125436, - 15465540052162829751, - 156365542653813991 - ] - }, - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 13751579983794831648, - 10607539830531201775, - 14346507665568791169, - 3031042986966695519 - ], - "y": [ - 6664415047238284862, - 10692876107166835970, - 6673002649063812943, - 1112739967548021524 - ] - }, - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 0, - 0, - 0, - 0 - ], - "y": [ - 0, - 0, - 0, - 0 - ] - }, - { - "x": [ - 5207533914487648574, - 2482623105676331420, - 924019210298798756, - 2014946943582383048 - ], - "y": [ - 12267069497884989327, - 13028235170428579280, - 6590255043171984442, - 1919711059571291541 - ] - }, - { - "x": [ - 3653687220904353986, - 7139295517974691755, - 902009685081882976, - 344392366463050541 - ], - "y": [ - 8586460972570940541, - 201712786453498080, - 16338268784029778808, - 32063816462212425 - ] - }, - { - "x": [ - 12910798897758397770, - 5812219613194459466, - 16415404214239898386, - 2839857773326089528 - ], - "y": [ - 10019240196912393615, - 44278568251463749, - 11600986489485005436, - 2062942417595853570 - ] - }, - { - "x": [ - 1769711075627753904, - 7287362796573962511, - 3292140260059543489, - 993712661983547167 - ], - "y": [ - 17392234250344276877, - 2943451043809562240, - 122464511448808746, - 2876967788403718197 - ] - }, - { - "x": [ - 7956846759390884486, - 3992996272528664104, - 7718354087344238252, - 1643570499727917126 - ], - "y": [ - 4994719425190185360, - 6724111561246538675, - 1414229838379627472, - 155666135179288368 - ] - }, - { - "x": [ - 13235763218222015681, - 11865437313394681082, - 17563291980453539676, - 2778980649844752143 - ], - "y": [ - 6711591403635829163, - 14350153586387849994, - 708770078805058585, - 2958402263070329436 - ] - }, - { - "x": [ - 4996662368945975645, - 17247411496572037302, - 13327382757797463167, - 788899917023489273 - ], - "y": [ - 11658862546607536650, - 7230417578236958670, - 14139388206179467341, - 2827141974385716372 - ] - }, - { - "x": [ - 1162095217357138411, - 937154552799557412, - 12683739500322405654, - 2752651722385824038 - ], - "y": [ - 9491772874098003062, - 15662509551227095103, - 9788587755793733750, - 2005790496835314846 - ] - } - ], - "num_instance": [ - 4 - ], - "num_witness": [ - 6, - 2, - 6 - ], - "num_challenge": [ - 1, - 2, - 1 - ], - "evaluations": [ - { - "poly": 21, - "rotation": 0 - }, - { - "poly": 22, - "rotation": 0 - }, - { - "poly": 23, - "rotation": 0 - }, - { - "poly": 24, - "rotation": 0 - }, - { - "poly": 25, - "rotation": 0 - }, - { - "poly": 26, - "rotation": 0 - }, - { - "poly": 25, - "rotation": -1 - }, - { - "poly": 0, - "rotation": 0 - }, - { - "poly": 1, - "rotation": 0 - }, - { - "poly": 2, - "rotation": 0 - }, - { - "poly": 3, - "rotation": 0 - }, - { - "poly": 4, - "rotation": 0 - }, - { - "poly": 5, - "rotation": 0 - }, - { - "poly": 6, - "rotation": 0 - }, - { - "poly": 7, - "rotation": 0 - }, - { - "poly": 8, - "rotation": 0 - }, - { - "poly": 9, - "rotation": 0 - }, - { - "poly": 10, - "rotation": 0 - }, - { - "poly": 11, - "rotation": 0 - }, - { - "poly": 34, - "rotation": 0 - }, - { - "poly": 12, - "rotation": 0 - }, - { - "poly": 13, - "rotation": 0 - }, - { - "poly": 14, - "rotation": 0 - }, - { - "poly": 15, - "rotation": 0 - }, - { - "poly": 16, - "rotation": 0 - }, - { - "poly": 17, - "rotation": 0 - }, - { - "poly": 18, - "rotation": 0 - }, - { - "poly": 19, - "rotation": 0 - }, - { - "poly": 29, - "rotation": 0 - }, - { - "poly": 29, - "rotation": 1 - }, - { - "poly": 29, - "rotation": -6 - }, - { - "poly": 30, - "rotation": 0 - }, - { - "poly": 30, - "rotation": 1 - }, - { - "poly": 30, - "rotation": -6 - }, - { - "poly": 31, - "rotation": 0 - }, - { - "poly": 31, - "rotation": 1 - }, - { - "poly": 32, - "rotation": 0 - }, - { - "poly": 32, - "rotation": 1 - }, - { - "poly": 27, - "rotation": 0 - }, - { - "poly": 33, - "rotation": 0 - }, - { - "poly": 33, - "rotation": 1 - }, - { - "poly": 28, - "rotation": 0 - } - ], - "queries": [ - { - "poly": 21, - "rotation": 0 - }, - { - "poly": 22, - "rotation": 0 - }, - { - "poly": 23, - "rotation": 0 - }, - { - "poly": 24, - "rotation": 0 - }, - { - "poly": 25, - "rotation": 0 - }, - { - "poly": 26, - "rotation": 0 - }, - { - "poly": 25, - "rotation": -1 - }, - { - "poly": 29, - "rotation": 0 - }, - { - "poly": 29, - "rotation": 1 - }, - { - "poly": 30, - "rotation": 0 - }, - { - "poly": 30, - "rotation": 1 - }, - { - "poly": 31, - "rotation": 0 - }, - { - "poly": 31, - "rotation": 1 - }, - { - "poly": 30, - "rotation": -6 - }, - { - "poly": 29, - "rotation": -6 - }, - { - "poly": 32, - "rotation": 0 - }, - { - "poly": 32, - "rotation": 1 - }, - { - "poly": 27, - "rotation": 0 - }, - { - "poly": 33, - "rotation": 0 - }, - { - "poly": 33, - "rotation": 1 - }, - { - "poly": 28, - "rotation": 0 - }, - { - "poly": 0, - "rotation": 0 - }, - { - "poly": 1, - "rotation": 0 - }, - { - "poly": 2, - "rotation": 0 - }, - { - "poly": 3, - "rotation": 0 - }, - { - "poly": 4, - "rotation": 0 - }, - { - "poly": 5, - "rotation": 0 - }, - { - "poly": 6, - "rotation": 0 - }, - { - "poly": 7, - "rotation": 0 - }, - { - "poly": 8, - "rotation": 0 - }, - { - "poly": 9, - "rotation": 0 - }, - { - "poly": 10, - "rotation": 0 - }, - { - "poly": 11, - "rotation": 0 - }, - { - "poly": 12, - "rotation": 0 - }, - { - "poly": 13, - "rotation": 0 - }, - { - "poly": 14, - "rotation": 0 - }, - { - "poly": 15, - "rotation": 0 - }, - { - "poly": 16, - "rotation": 0 - }, - { - "poly": 17, - "rotation": 0 - }, - { - "poly": 18, - "rotation": 0 - }, - { - "poly": 19, - "rotation": 0 - }, - { - "poly": 35, - "rotation": 0 - }, - { - "poly": 34, - "rotation": 0 - } - ], - "quotient": { - "chunk_degree": 1, - "num_chunk": 4, - "numerator": { - "DistributePowers": [ - [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Negated": { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 7959790035488735211, - 12951774245394433045, - 16242874202584236123, - 560012691975822483 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Negated": { - "Negated": { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 5, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 7, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 6, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - }, - { - "Negated": { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - } - ] - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 8, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - }, - { - "Negated": { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - } - ] - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": -1 - } - }, - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 415066004289224689, - 11886516471525959549, - 3696305541684646538, - 3035258219084094862 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 9, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Product": [ - { - "Product": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 10, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 6425625360762666998, - 7924344314350639699, - 14762033076929465436, - 2023505479389396574 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 10, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 25, - "rotation": -1 - } - }, - { - "Product": [ - { - "Product": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Polynomial": { - "poly": 11, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 10, - "rotation": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 10, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Negated": { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": -1 - } - }, - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": 0 - } - }, - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 29, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": -6 - } - }, - { - "Sum": [ - { - "Product": [ - { - "Polynomial": { - "poly": 31, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 31, - "rotation": 0 - } - } - ] - }, - { - "Negated": { - "Polynomial": { - "poly": 31, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": 0 - } - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 30, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 29, - "rotation": -6 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": 0 - } - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 31, - "rotation": 0 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 30, - "rotation": -6 - } - } - } - ] - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "CommonPolynomial": { - "Lagrange": -6 - } - } - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "CommonPolynomial": { - "Lagrange": -5 - } - }, - { - "CommonPolynomial": { - "Lagrange": -4 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -3 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -2 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -1 - } - } - ] - } - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Polynomial": { - "poly": 29, - "rotation": 1 - } - }, - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 12, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 13, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 14, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 29, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 11100302345850292309, - 5109383341788583484, - 6450182039226333095, - 2498166472155664813 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 11922143911221101039, - 4762855335879493275, - 9634852812984583437, - 2104342265551292894 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "CommonPolynomial": { - "Lagrange": -6 - } - } - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "CommonPolynomial": { - "Lagrange": -5 - } - }, - { - "CommonPolynomial": { - "Lagrange": -4 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -3 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -2 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -1 - } - } - ] - } - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Polynomial": { - "poly": 30, - "rotation": 1 - } - }, - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 15, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 16, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 17, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 30, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 6393076176221150738, - 7283021187728417300, - 15472188617747294665, - 3366061389777165561 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 25, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 5185504448716010194, - 13473122879869045206, - 7110214824824105482, - 296185565312886903 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 26, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 3788189710366593638, - 12364756977029776224, - 17445039711624853376, - 2145282486335891750 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "CommonPolynomial": { - "Lagrange": -6 - } - } - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "CommonPolynomial": { - "Lagrange": -5 - } - }, - { - "CommonPolynomial": { - "Lagrange": -4 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -3 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -2 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -1 - } - } - ] - } - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Polynomial": { - "poly": 31, - "rotation": 1 - } - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 0, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 18, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 20, - "rotation": 0 - } - }, - { - "Product": [ - { - "Challenge": 1 - }, - { - "Polynomial": { - "poly": 19, - "rotation": 0 - } - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 31, - "rotation": 0 - } - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 0, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 4313891821910826284, - 3017229878821944834, - 2706732049417028840, - 1207705578258863476 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - }, - { - "Sum": [ - { - "Sum": [ - { - "Polynomial": { - "poly": 20, - "rotation": 0 - } - }, - { - "Product": [ - { - "Product": [ - { - "Challenge": 1 - }, - { - "Constant": [ - 13059828841148723808, - 11237179000843376725, - 9900274079592382525, - 739015709256124487 - ] - } - ] - }, - { - "CommonPolynomial": "Identity" - } - ] - } - ] - }, - { - "Challenge": 2 - } - ] - } - ] - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": 0 - } - }, - { - "Polynomial": { - "poly": 32, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": -6 - } - }, - { - "Polynomial": { - "poly": 32, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "CommonPolynomial": { - "Lagrange": -6 - } - } - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "CommonPolynomial": { - "Lagrange": -5 - } - }, - { - "CommonPolynomial": { - "Lagrange": -4 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -3 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -2 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -1 - } - } - ] - } - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Polynomial": { - "poly": 1, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 2, - "rotation": 0 - } - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - }, - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 16912579398983483403, - 13419314142665758269, - 16965902948054780928, - 1463492787413574090 - ] - } - ] - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - } - ] - } - ] - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 32, - "rotation": 1 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 32, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Polynomial": { - "poly": 1, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 2, - "rotation": 0 - } - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 27, - "rotation": 0 - } - }, - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 21, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 16912579398983483403, - 13419314142665758269, - 16965902948054780928, - 1463492787413574090 - ] - } - ] - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 23, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 3, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - } - ] - } - ] - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - } - ] - } - } - ] - } - } - ] - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": 0 - } - }, - { - "Polynomial": { - "poly": 33, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "CommonPolynomial": { - "Lagrange": -6 - } - }, - { - "Polynomial": { - "poly": 33, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "CommonPolynomial": { - "Lagrange": -6 - } - } - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "Sum": [ - { - "CommonPolynomial": { - "Lagrange": -5 - } - }, - { - "CommonPolynomial": { - "Lagrange": -4 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -3 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -2 - } - } - ] - }, - { - "CommonPolynomial": { - "Lagrange": -1 - } - } - ] - } - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Polynomial": { - "poly": 1, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 2, - "rotation": 0 - } - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - }, - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 16912579398983483403, - 13419314142665758269, - 16965902948054780928, - 1463492787413574090 - ] - } - ] - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - } - ] - } - ] - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - } - ] - }, - { - "Sum": [ - { - "Polynomial": { - "poly": 33, - "rotation": 1 - } - }, - { - "Negated": { - "Polynomial": { - "poly": 33, - "rotation": 0 - } - } - } - ] - } - ] - }, - { - "Negated": { - "Sum": [ - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Polynomial": { - "poly": 1, - "rotation": 0 - } - }, - { - "Polynomial": { - "poly": 2, - "rotation": 0 - } - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 28, - "rotation": 0 - } - }, - { - "Sum": [ - { - "DistributePowers": [ - [ - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 22, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 16912579398983483403, - 13419314142665758269, - 16965902948054780928, - 1463492787413574090 - ] - } - ] - } - ] - }, - { - "Sum": [ - { - "Product": [ - { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - }, - { - "Polynomial": { - "poly": 24, - "rotation": 0 - } - } - ] - }, - { - "Product": [ - { - "Sum": [ - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - }, - { - "Negated": { - "Product": [ - { - "Polynomial": { - "poly": 4, - "rotation": 0 - } - }, - { - "Constant": [ - 12436184717236109307, - 3962172157175319849, - 7381016538464732718, - 1011752739694698287 - ] - } - ] - } - } - ] - }, - { - "Constant": [ - 0, - 0, - 0, - 0 - ] - } - ] - } - ] - } - ], - { - "Challenge": 0 - } - ] - }, - { - "Challenge": 1 - } - ] - } - ] - } - } - ] - } - } - ] - } - ] - } - ], - { - "Challenge": 3 - } - ] - } - }, - "transcript_initial_state": [ - 5431536873760667688, - 17167224025770663825, - 4282675818781079647, - 1669050332380787723 - ], - "instance_committing_key": null, - "linearization": null, - "accumulator_indices": [] - }, - "instances": [ - [ - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ], - [ - 0, - 0, - 0, - 0 - ] - ] - ], - "proof": [ - 6, - 233, - 32, - 74, - 29, - 58, - 97, - 211, - 105, - 4, - 206, - 139, - 120, - 90, - 192, - 152, - 211, - 93, - 101, - 90, - 66, - 230, - 117, - 156, - 62, - 27, - 254, - 14, - 66, - 249, - 221, - 185, - 22, - 99, - 102, - 52, - 238, - 75, - 249, - 31, - 150, - 192, - 35, - 159, - 79, - 220, - 160, - 195, - 242, - 105, - 58, - 210, - 82, - 98, - 228, - 13, - 206, - 244, - 238, - 169, - 164, - 211, - 75, - 151, - 45, - 133, - 212, - 171, - 87, - 39, - 205, - 6, - 149, - 30, - 155, - 77, - 75, - 5, - 131, - 145, - 233, - 51, - 52, - 162, - 69, - 32, - 4, - 59, - 127, - 211, - 210, - 86, - 245, - 171, - 212, - 224, - 34, - 43, - 253, - 34, - 135, - 182, - 216, - 155, - 250, - 236, - 238, - 42, - 177, - 247, - 18, - 130, - 103, - 5, - 207, - 219, - 195, - 126, - 220, - 158, - 126, - 83, - 85, - 1, - 106, - 185, - 52, - 160, - 43, - 137, - 51, - 103, - 238, - 183, - 199, - 25, - 31, - 186, - 56, - 69, - 27, - 178, - 165, - 69, - 215, - 240, - 81, - 167, - 56, - 5, - 20, - 127, - 247, - 140, - 78, - 56, - 29, - 35, - 222, - 163, - 15, - 180, - 105, - 20, - 41, - 32, - 121, - 101, - 153, - 131, - 167, - 170, - 224, - 87, - 14, - 85, - 71, - 0, - 115, - 167, - 117, - 149, - 92, - 1, - 133, - 203, - 40, - 225, - 68, - 75, - 156, - 3, - 35, - 90, - 109, - 11, - 207, - 140, - 161, - 106, - 66, - 174, - 130, - 84, - 210, - 105, - 13, - 21, - 50, - 204, - 41, - 210, - 148, - 114, - 100, - 122, - 36, - 184, - 205, - 20, - 72, - 188, - 102, - 104, - 0, - 171, - 190, - 70, - 208, - 86, - 253, - 88, - 136, - 49, - 84, - 232, - 40, - 120, - 14, - 183, - 160, - 204, - 180, - 166, - 112, - 245, - 128, - 67, - 213, - 46, - 46, - 69, - 137, - 216, - 88, - 52, - 22, - 204, - 143, - 54, - 229, - 13, - 76, - 202, - 38, - 69, - 246, - 176, - 100, - 162, - 175, - 244, - 228, - 131, - 102, - 30, - 184, - 192, - 144, - 224, - 217, - 140, - 45, - 123, - 61, - 184, - 226, - 92, - 42, - 207, - 176, - 0, - 126, - 93, - 208, - 210, - 118, - 157, - 187, - 124, - 20, - 4, - 179, - 170, - 30, - 173, - 107, - 136, - 120, - 204, - 98, - 224, - 13, - 250, - 103, - 251, - 247, - 251, - 162, - 170, - 44, - 183, - 41, - 160, - 173, - 17, - 81, - 116, - 253, - 152, - 122, - 196, - 29, - 212, - 232, - 74, - 130, - 233, - 15, - 42, - 228, - 3, - 60, - 63, - 141, - 162, - 196, - 170, - 241, - 13, - 73, - 41, - 45, - 108, - 230, - 86, - 188, - 5, - 248, - 33, - 145, - 36, - 0, - 40, - 183, - 37, - 25, - 32, - 53, - 108, - 165, - 47, - 160, - 25, - 236, - 186, - 234, - 238, - 24, - 144, - 63, - 15, - 243, - 116, - 42, - 29, - 23, - 75, - 127, - 138, - 84, - 57, - 241, - 193, - 71, - 212, - 213, - 184, - 25, - 163, - 131, - 79, - 55, - 28, - 182, - 52, - 178, - 65, - 193, - 214, - 211, - 84, - 24, - 52, - 155, - 247, - 21, - 200, - 242, - 170, - 146, - 244, - 46, - 164, - 38, - 166, - 5, - 201, - 19, - 214, - 103, - 89, - 20, - 8, - 5, - 173, - 157, - 189, - 211, - 53, - 137, - 20, - 32, - 222, - 97, - 102, - 44, - 188, - 16, - 145, - 221, - 184, - 213, - 44, - 170, - 39, - 232, - 87, - 191, - 205, - 210, - 88, - 173, - 154, - 93, - 201, - 207, - 149, - 219, - 142, - 251, - 49, - 236, - 190, - 224, - 58, - 214, - 93, - 197, - 59, - 30, - 131, - 58, - 14, - 136, - 80, - 153, - 28, - 173, - 52, - 197, - 96, - 160, - 139, - 106, - 223, - 61, - 2, - 174, - 199, - 122, - 225, - 200, - 137, - 59, - 99, - 54, - 134, - 12, - 22, - 108, - 191, - 35, - 254, - 164, - 201, - 229, - 120, - 36, - 125, - 228, - 185, - 85, - 193, - 8, - 192, - 116, - 10, - 78, - 228, - 163, - 173, - 133, - 182, - 214, - 68, - 109, - 232, - 168, - 172, - 97, - 192, - 189, - 95, - 31, - 171, - 148, - 58, - 14, - 2, - 201, - 231, - 101, - 96, - 175, - 74, - 41, - 85, - 154, - 13, - 95, - 157, - 14, - 225, - 235, - 79, - 96, - 67, - 55, - 3, - 116, - 41, - 146, - 154, - 122, - 146, - 46, - 210, - 151, - 162, - 180, - 105, - 179, - 115, - 246, - 99, - 191, - 185, - 57, - 75, - 250, - 34, - 116, - 236, - 144, - 13, - 228, - 232, - 44, - 106, - 38, - 209, - 24, - 135, - 14, - 190, - 127, - 120, - 12, - 195, - 201, - 117, - 133, - 40, - 215, - 27, - 253, - 254, - 206, - 35, - 234, - 210, - 59, - 38, - 208, - 208, - 253, - 162, - 210, - 254, - 92, - 252, - 225, - 110, - 68, - 184, - 210, - 116, - 171, - 3, - 41, - 142, - 146, - 191, - 93, - 188, - 125, - 159, - 86, - 174, - 244, - 159, - 146, - 59, - 252, - 139, - 72, - 92, - 130, - 151, - 166, - 23, - 52, - 248, - 8, - 214, - 238, - 2, - 192, - 219, - 148, - 151, - 46, - 14, - 131, - 218, - 168, - 205, - 28, - 9, - 241, - 248, - 106, - 76, - 174, - 109, - 221, - 243, - 158, - 69, - 82, - 49, - 3, - 178, - 141, - 226, - 103, - 143, - 170, - 121, - 142, - 142, - 136, - 104, - 37, - 163, - 55, - 210, - 189, - 34, - 136, - 230, - 141, - 167, - 5, - 73, - 179, - 4, - 79, - 97, - 225, - 205, - 137, - 124, - 106, - 166, - 1, - 128, - 137, - 78, - 75, - 255, - 64, - 185, - 216, - 200, - 12, - 22, - 75, - 22, - 196, - 102, - 33, - 182, - 189, - 90, - 222, - 238, - 50, - 179, - 242, - 8, - 181, - 224, - 191, - 187, - 239, - 110, - 105, - 45, - 27, - 66, - 36, - 250, - 53, - 246, - 160, - 121, - 43, - 68, - 212, - 113, - 38, - 71, - 107, - 142, - 243, - 121, - 128, - 27, - 79, - 130, - 160, - 141, - 53, - 98, - 86, - 216, - 80, - 207, - 111, - 190, - 163, - 181, - 11, - 89, - 23, - 229, - 214, - 170, - 14, - 54, - 209, - 80, - 214, - 199, - 136, - 241, - 103, - 190, - 218, - 251, - 190, - 37, - 125, - 34, - 50, - 13, - 239, - 58, - 158, - 77, - 244, - 102, - 220, - 230, - 155, - 224, - 83, - 84, - 234, - 216, - 35, - 230, - 188, - 145, - 210, - 106, - 175, - 169, - 133, - 236, - 41, - 204, - 215, - 158, - 74, - 137, - 42, - 209, - 232, - 235, - 48, - 67, - 112, - 44, - 73, - 196, - 170, - 55, - 243, - 3, - 241, - 112, - 36, - 216, - 122, - 15, - 230, - 38, - 241, - 205, - 118, - 35, - 214, - 2, - 242, - 114, - 188, - 8, - 69, - 40, - 221, - 229, - 155, - 184, - 41, - 234, - 54, - 19, - 52, - 254, - 203, - 186, - 120, - 67, - 28, - 130, - 12, - 237, - 159, - 55, - 111, - 8, - 24, - 206, - 8, - 185, - 68, - 69, - 225, - 232, - 6, - 23, - 81, - 243, - 80, - 43, - 109, - 139, - 44, - 66, - 16, - 178, - 203, - 237, - 8, - 44, - 11, - 148, - 54, - 225, - 171, - 202, - 86, - 16, - 219, - 255, - 244, - 24, - 61, - 171, - 34, - 196, - 64, - 226, - 60, - 217, - 255, - 192, - 142, - 170, - 204, - 166, - 111, - 29, - 154, - 80, - 221, - 132, - 21, - 24, - 10, - 140, - 121, - 255, - 214, - 117, - 122, - 85, - 20, - 125, - 232, - 22, - 149, - 47, - 210, - 78, - 131, - 243, - 126, - 204, - 163, - 223, - 27, - 234, - 61, - 169, - 212, - 224, - 133, - 114, - 21, - 33, - 251, - 112, - 170, - 37, - 39, - 66, - 11, - 250, - 191, - 233, - 42, - 51, - 254, - 111, - 73, - 104, - 133, - 252, - 140, - 139, - 193, - 240, - 214, - 30, - 118, - 180, - 220, - 25, - 127, - 120, - 34, - 211, - 89, - 62, - 212, - 221, - 169, - 194, - 77, - 207, - 224, - 156, - 245, - 77, - 193, - 200, - 137, - 189, - 63, - 92, - 166, - 168, - 32, - 239, - 170, - 18, - 90, - 47, - 202, - 27, - 41, - 9, - 2, - 36, - 90, - 110, - 5, - 69, - 170, - 177, - 208, - 119, - 251, - 94, - 170, - 110, - 51, - 149, - 109, - 183, - 235, - 125, - 165, - 53, - 250, - 168, - 230, - 162, - 38, - 134, - 128, - 118, - 210, - 171, - 27, - 54, - 109, - 123, - 116, - 94, - 51, - 27, - 240, - 45, - 210, - 44, - 219, - 250, - 203, - 167, - 174, - 162, - 144, - 99, - 123, - 215, - 187, - 103, - 17, - 143, - 166, - 167, - 163, - 236, - 38, - 225, - 16, - 7, - 88, - 62, - 216, - 63, - 97, - 252, - 117, - 9, - 41, - 64, - 98, - 52, - 48, - 239, - 200, - 152, - 117, - 251, - 46, - 119, - 159, - 198, - 94, - 18, - 227, - 251, - 185, - 123, - 232, - 58, - 25, - 34, - 31, - 222, - 37, - 8, - 161, - 52, - 174, - 112, - 98, - 40, - 74, - 200, - 10, - 255, - 87, - 75, - 158, - 73, - 25, - 165, - 53, - 68, - 245, - 196, - 123, - 14, - 175, - 6, - 135, - 143, - 37, - 53, - 78, - 59, - 64, - 36, - 51, - 17, - 222, - 7, - 211, - 228, - 126, - 238, - 46, - 72, - 0, - 229, - 210, - 51, - 213, - 45, - 139, - 207, - 73, - 151, - 102, - 84, - 42, - 139, - 222, - 62, - 5, - 14, - 165, - 156, - 105, - 28, - 112, - 244, - 165, - 214, - 218, - 44, - 179, - 145, - 109, - 213, - 190, - 159, - 63, - 146, - 81, - 10, - 82, - 90, - 223, - 206, - 19, - 132, - 207, - 235, - 167, - 46, - 11, - 105, - 174, - 149, - 166, - 182, - 61, - 75, - 43, - 211, - 148, - 238, - 191, - 69, - 141, - 8, - 184, - 13, - 119, - 56, - 97, - 221, - 24, - 115, - 33, - 168, - 205, - 193, - 103, - 116, - 132, - 174, - 5, - 45, - 189, - 210, - 243, - 25, - 196, - 206, - 84, - 163, - 245, - 225, - 226, - 234, - 55, - 51, - 239, - 163, - 120, - 242, - 169, - 41, - 128, - 160, - 29, - 70, - 231, - 11, - 31, - 37, - 1, - 22, - 5, - 42, - 10, - 171, - 140, - 34, - 105, - 27, - 9, - 92, - 17, - 191, - 96, - 46, - 132, - 227, - 63, - 171, - 172, - 121, - 180, - 155, - 51, - 235, - 176, - 71, - 81, - 21, - 205, - 19, - 32, - 120, - 21, - 54, - 243, - 33, - 99, - 14, - 184, - 26, - 132, - 197, - 209, - 245, - 93, - 168, - 11, - 173, - 103, - 187, - 144, - 201, - 126, - 222, - 177, - 180, - 75, - 73, - 86, - 118, - 92, - 197, - 220, - 233, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 26, - 223, - 132, - 214, - 96, - 16, - 88, - 106, - 127, - 65, - 207, - 114, - 251, - 116, - 66, - 191, - 200, - 123, - 181, - 253, - 199, - 203, - 242, - 228, - 137, - 163, - 28, - 233, - 11, - 76, - 224, - 89, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 230, - 30, - 125, - 26, - 67, - 65, - 216, - 16, - 180, - 198, - 70, - 220, - 11, - 181, - 1, - 184, - 33, - 147, - 219, - 139, - 223, - 51, - 19, - 165, - 36, - 163, - 12, - 48, - 235, - 208, - 237, - 45, - 230, - 30, - 125, - 26, - 67, - 65, - 216, - 16, - 180, - 198, - 70, - 220, - 11, - 181, - 1, - 184, - 33, - 147, - 219, - 139, - 223, - 51, - 19, - 165, - 36, - 163, - 12, - 48, - 235, - 208, - 237, - 37, - 78, - 172, - 159, - 39, - 205, - 209, - 86, - 136, - 205, - 215, - 144, - 99, - 19, - 205, - 65, - 229, - 162, - 95, - 68, - 114, - 120, - 159, - 18, - 144, - 22, - 171, - 140, - 23, - 90, - 61, - 175, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 37, - 78, - 172, - 159, - 39, - 205, - 209, - 86, - 136, - 205, - 215, - 144, - 99, - 19, - 205, - 65, - 229, - 162, - 95, - 68, - 114, - 120, - 159, - 18, - 144, - 22, - 171, - 140, - 23, - 90, - 61, - 175, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 34, - 78, - 51, - 187, - 173, - 148, - 187, - 48, - 166, - 144, - 182, - 178, - 142, - 190, - 157, - 196, - 52, - 230, - 145, - 252, - 195, - 48, - 175, - 201, - 185, - 52, - 67, - 19, - 202, - 180, - 4, - 225, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 45, - 14, - 196, - 144, - 234, - 164, - 65, - 87, - 87, - 219, - 131, - 248, - 190, - 38, - 40, - 94, - 221, - 4, - 108, - 134, - 96, - 214, - 16, - 112, - 140, - 187, - 84, - 165, - 215, - 173, - 44, - 36, - 37, - 31, - 237, - 45, - 154, - 118, - 1, - 33, - 58, - 103, - 76, - 103, - 111, - 140, - 248, - 71, - 250, - 230, - 233, - 95, - 108, - 234, - 108, - 118, - 23, - 139, - 3, - 168, - 201, - 234, - 29, - 117, - 19, - 178, - 72, - 144, - 113, - 54, - 61, - 11, - 101, - 104, - 134, - 206, - 168, - 62, - 202, - 76, - 203, - 68, - 197, - 140, - 41, - 199, - 188, - 167, - 144, - 19, - 230, - 83, - 47, - 11, - 70, - 244, - 45, - 235, - 87, - 134, - 184, - 65, - 15, - 149, - 71, - 58, - 62, - 210, - 26, - 205, - 180, - 250, - 129, - 219, - 237, - 31, - 180, - 101, - 214, - 208, - 126, - 41, - 39, - 183, - 152, - 8, - 24, - 50, - 11, - 219, - 179, - 116, - 236, - 69, - 222, - 248, - 89, - 32, - 239, - 68, - 31, - 103, - 183, - 135, - 36, - 93, - 53, - 143, - 78, - 245, - 201, - 181, - 129, - 254, - 232, - 207, - 144, - 51, - 152, - 136, - 29, - 189, - 141, - 239, - 111, - 156, - 228, - 170, - 103, - 117, - 139, - 199, - 157, - 75, - 85, - 132, - 117, - 159, - 34, - 122, - 231, - 242, - 2, - 56, - 168, - 65, - 246, - 162, - 167, - 69, - 119, - 32, - 11, - 40, - 98, - 144, - 62, - 100, - 160, - 111, - 49, - 117, - 64, - 21, - 209, - 194, - 219, - 10, - 97, - 71, - 62, - 154, - 134, - 213, - 155, - 199, - 222, - 186, - 136, - 45, - 51, - 244, - 22, - 210, - 36, - 16, - 188, - 89, - 217, - 232, - 136, - 17, - 17, - 169, - 32, - 103, - 131, - 42, - 31, - 132, - 8, - 21, - 36, - 82, - 111, - 64, - 128, - 132, - 255, - 142, - 210, - 18, - 145, - 62, - 109, - 147, - 47, - 235, - 81, - 0, - 165, - 214, - 239, - 203, - 158, - 224, - 236, - 61, - 124, - 12, - 25, - 96, - 73, - 72, - 154, - 219, - 245, - 15, - 68, - 197, - 178, - 87, - 174, - 118, - 80, - 164, - 149, - 223, - 24, - 133, - 186, - 253, - 20, - 142, - 66, - 94, - 169, - 80, - 123, - 173, - 94, - 119, - 130, - 241, - 110, - 139, - 228, - 134, - 11, - 67, - 81, - 52, - 252, - 234, - 51, - 112, - 154, - 243, - 67, - 161, - 21, - 176, - 236, - 54, - 209, - 92, - 158, - 88, - 28, - 42, - 28, - 211, - 159, - 251, - 73, - 184, - 179, - 55, - 208, - 222, - 39, - 232, - 13, - 44, - 82, - 47, - 226, - 155, - 37, - 218, - 129, - 214, - 16, - 143, - 251, - 151, - 53, - 105, - 59, - 216, - 246, - 234, - 70, - 155, - 132, - 34, - 161, - 132, - 83, - 70, - 97, - 187, - 96, - 228, - 111, - 233, - 26, - 50, - 217, - 214, - 237, - 131, - 149, - 51, - 17, - 207, - 82, - 97, - 17, - 247, - 45, - 80, - 37, - 153, - 188, - 141, - 211, - 194, - 205, - 184, - 225, - 232, - 121, - 48, - 52, - 58, - 43, - 219, - 42, - 90, - 246, - 58, - 173, - 144, - 184, - 151, - 10, - 165, - 126, - 14, - 107, - 11, - 152, - 183, - 234, - 73, - 125, - 185, - 1, - 111, - 180, - 200, - 122, - 88, - 176, - 93, - 156, - 181, - 124, - 179, - 65, - 77, - 59, - 123, - 32, - 163, - 147, - 186, - 35, - 44, - 94, - 48, - 154, - 99, - 231, - 136, - 33, - 251, - 187, - 44, - 249, - 64, - 32, - 108, - 187, - 194, - 35, - 122, - 227, - 15, - 147, - 229, - 208, - 156, - 68, - 208, - 172, - 195, - 103, - 203, - 25, - 15, - 122, - 54, - 40, - 203, - 255, - 35, - 140, - 76, - 151, - 210, - 113, - 208, - 152, - 135, - 12, - 115, - 115, - 55, - 19, - 114, - 215, - 24, - 205, - 82, - 149, - 54, - 106, - 17, - 96, - 87, - 29, - 104, - 231, - 90, - 79, - 162, - 208, - 194, - 71, - 215, - 147, - 129, - 103, - 109, - 146, - 27, - 210, - 181, - 18, - 171, - 14, - 132, - 228, - 247, - 207, - 50, - 231, - 120, - 198, - 50, - 144, - 193, - 45, - 150, - 109, - 33, - 67, - 74, - 69, - 243, - 48, - 25, - 44, - 247, - 145, - 218, - 12, - 236, - 29, - 138, - 171, - 162, - 79, - 24, - 232, - 200, - 53, - 176, - 10, - 41, - 93, - 208, - 238, - 47, - 32, - 24, - 48, - 35, - 141, - 122, - 224, - 11, - 11, - 237, - 56, - 68, - 84, - 224, - 236, - 12, - 150, - 227, - 2, - 248, - 59, - 136, - 150, - 247, - 15, - 99, - 134, - 68, - 34, - 176, - 144, - 78, - 22, - 227, - 198, - 217, - 64, - 236, - 31, - 196, - 197, - 144, - 137, - 146, - 88, - 231, - 237, - 170, - 151, - 59, - 197, - 169, - 114, - 33, - 126, - 1, - 240, - 24, - 32, - 250, - 44, - 30, - 162, - 135, - 21, - 17, - 223, - 26, - 237, - 53, - 193, - 230, - 55, - 0, - 171, - 90, - 197, - 135, - 48, - 158, - 252, - 250, - 242, - 25, - 253, - 166, - 255, - 131, - 162, - 96, - 203, - 234, - 152, - 164, - 126, - 11, - 1, - 23, - 142, - 252, - 56, - 86, - 125, - 97, - 52, - 115, - 114, - 25, - 67, - 199, - 10, - 191, - 159, - 205, - 60, - 2, - 117, - 200, - 159, - 71, - 73, - 137, - 64, - 184, - 96, - 179, - 37, - 55, - 12, - 140, - 104, - 157, - 201, - 26, - 218, - 196, - 177, - 144, - 118, - 10, - 237, - 242, - 191, - 190, - 204, - 46, - 253, - 249, - 142, - 213, - 26, - 181, - 180, - 213, - 246, - 206, - 138, - 18, - 64, - 40, - 20, - 215, - 33, - 101, - 221, - 110, - 41, - 239, - 237, - 29, - 218, - 220, - 8, - 102, - 109, - 106, - 34, - 97, - 116, - 12, - 104, - 87, - 123, - 210, - 135, - 87, - 192, - 133, - 150, - 58, - 94, - 51, - 21, - 199, - 12, - 73, - 86, - 223, - 54, - 86, - 185, - 176, - 108, - 239, - 28, - 235, - 121, - 6, - 67, - 240, - 48, - 202, - 16, - 124, - 87, - 69, - 188, - 35, - 132, - 147, - 58, - 215, - 230, - 46, - 1, - 150, - 224, - 150, - 117, - 11, - 47, - 63, - 255, - 179, - 31, - 19, - 240, - 170, - 198, - 115, - 251, - 235, - 120, - 66, - 118, - 174, - 82, - 62, - 98, - 184, - 119, - 45, - 255, - 250, - 225, - 243, - 14, - 112, - 143, - 111, - 174, - 65, - 8, - 195, - 66, - 184, - 136, - 194, - 171, - 157, - 143, - 205, - 132, - 233, - 214, - 110, - 141, - 221, - 232, - 42, - 235, - 0, - 62, - 89, - 22, - 6, - 50, - 153 - ], - "transcript_type": "EVM", - "split": null, - "pretty_public_inputs": { - "rescaled_inputs": [], - "inputs": [], - "processed_inputs": [], - "processed_params": [], - "processed_outputs": [], - "rescaled_outputs": [ - [ - "0", - "0", - "0", - "0" - ] - ], - "outputs": [ - [ - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000000000000000000000000000000000000000000000" - ] - ] - }, - "timestamp": 1702477568094 -} \ No newline at end of file +{"protocol":null,"instances":[[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]],"proof":[0,228,53,25,72,96,41,33,55,84,178,177,112,81,54,16,46,60,22,112,162,82,199,20,13,22,35,181,120,179,251,142,32,3,138,204,87,167,94,57,35,229,44,44,29,175,13,233,123,75,158,232,105,162,10,174,249,95,202,68,197,61,112,210,35,240,24,205,164,172,191,218,222,68,190,94,4,189,146,121,12,66,107,158,119,10,252,87,249,227,55,208,221,182,68,203,28,31,230,89,249,126,34,31,191,245,251,241,141,145,39,170,185,155,10,76,145,88,13,70,30,211,9,53,104,99,224,212,7,239,203,25,197,15,23,26,113,115,121,113,115,153,255,48,41,170,20,209,11,55,27,214,217,241,134,28,173,3,72,59,9,181,82,109,101,63,238,150,154,237,87,89,213,133,130,126,199,47,63,198,77,245,223,60,160,208,83,84,240,77,96,64,23,68,146,138,147,221,48,227,81,114,39,231,238,132,79,134,72,216,211,47,170,101,242,198,111,27,52,236,202,210,174,58,18,10,121,8,43,27,28,84,247,223,196,5,227,24,220,132,98,217,28,129,220,174,98,197,30,193,26,253,45,157,20,64,40,195,3,247,9,184,117,238,88,244,207,69,130,120,121,37,142,244,57,27,109,252,64,220,149,185,219,244,172,150,191,134,32,28,146,189,200,50,245,173,77,201,0,139,224,177,67,130,89,150,182,229,91,150,153,212,0,198,247,164,189,239,163,240,28,201,147,132,135,141,56,45,91,116,23,139,52,235,181,82,33,57,99,188,14,161,143,4,175,97,152,216,145,244,13,104,10,70,233,148,170,54,240,247,243,2,171,134,236,91,36,220,238,209,180,54,237,173,136,175,169,168,98,154,6,77,236,192,42,29,23,75,127,138,84,57,241,193,71,212,213,184,25,163,131,79,55,28,182,52,178,65,193,214,211,84,24,52,155,247,21,200,242,170,146,244,46,164,38,166,5,201,19,214,103,89,20,8,5,173,157,189,211,53,137,20,32,222,97,102,44,188,16,145,221,184,213,44,170,39,232,87,191,205,210,88,173,154,93,201,207,149,219,142,251,49,236,190,224,58,214,93,197,59,30,131,58,14,136,80,153,28,173,52,197,96,160,139,106,223,61,2,174,199,122,225,200,137,59,99,54,134,12,22,108,191,42,64,64,170,155,42,16,174,219,249,96,168,50,241,53,56,96,186,18,242,34,222,89,120,220,21,230,209,215,91,17,230,37,59,112,69,63,206,114,211,230,178,194,71,149,187,112,62,120,70,47,143,251,6,48,123,9,67,244,69,234,242,237,26,1,176,119,81,94,20,162,120,254,176,174,117,6,165,27,217,37,67,97,124,222,113,103,168,197,204,200,165,159,75,150,23,24,17,52,70,170,102,1,31,81,95,160,144,252,178,197,64,195,115,75,213,23,93,19,144,12,215,109,89,105,92,85,59,8,151,63,179,54,186,165,251,227,156,171,9,59,117,204,28,104,154,3,229,111,244,237,180,141,151,14,146,245,169,197,213,3,233,94,121,170,200,125,66,235,177,121,2,50,205,17,218,147,146,187,112,132,212,106,28,10,135,214,45,191,173,26,244,34,194,126,19,9,2,91,175,173,62,246,97,194,186,106,220,60,140,171,19,16,134,121,89,148,138,111,214,250,186,223,117,45,9,55,152,251,63,192,233,180,173,35,220,157,55,148,186,74,227,201,195,226,178,141,42,234,148,9,76,196,84,193,84,41,215,239,79,105,52,113,195,41,132,144,38,39,175,57,129,181,211,118,180,245,183,149,4,212,13,65,172,62,164,26,98,38,71,83,125,54,27,177,16,113,168,62,33,234,215,228,209,15,206,192,231,190,134,35,58,168,117,60,155,141,98,228,204,9,46,18,1,237,99,220,87,85,10,130,226,226,207,138,103,162,17,242,168,30,79,237,194,228,45,85,77,92,118,199,99,12,69,238,2,29,9,39,66,70,90,239,163,217,223,42,68,33,195,4,67,102,132,21,164,131,134,199,61,209,136,120,222,43,116,41,155,176,68,182,249,89,3,34,181,233,219,192,29,4,17,130,190,51,131,216,12,202,199,54,198,58,150,142,210,6,96,223,249,211,81,85,53,65,183,234,100,168,51,164,251,235,93,100,220,159,73,91,103,124,249,182,170,88,125,191,157,18,252,210,136,164,37,47,216,133,209,5,165,47,166,217,172,253,167,241,128,191,28,201,233,53,188,43,23,16,11,109,40,26,176,235,37,193,71,97,96,148,12,43,2,184,114,134,242,10,244,204,140,18,48,245,182,52,53,179,234,66,232,11,80,23,82,153,81,61,136,75,121,26,143,188,125,178,237,39,26,23,39,254,97,197,141,231,169,224,108,228,251,113,183,36,114,16,244,169,231,34,75,57,80,38,73,112,14,106,161,85,27,65,76,49,6,204,37,59,149,50,32,107,136,61,150,5,184,36,202,195,184,155,123,180,234,36,68,13,48,79,114,182,23,229,214,33,138,147,48,154,14,95,118,1,48,51,138,90,247,12,98,175,57,173,215,238,224,104,78,149,154,79,229,22,191,2,188,74,79,132,206,72,192,80,7,202,172,240,76,79,205,17,158,237,185,236,238,33,139,83,9,207,37,39,24,177,92,46,12,52,67,136,97,136,10,117,128,248,99,110,87,66,236,36,252,14,33,37,40,165,204,245,104,40,105,75,166,48,50,145,213,85,57,245,163,253,19,84,99,120,78,3,128,147,87,41,22,209,73,105,240,157,164,78,123,148,142,38,67,154,170,59,39,46,72,187,252,73,240,135,36,2,97,17,201,146,191,1,134,253,193,244,66,178,160,176,140,9,4,202,226,105,165,7,248,57,54,114,73,76,20,112,143,144,242,89,217,201,51,35,182,129,11,253,137,220,247,242,158,73,46,126,79,172,201,79,210,97,206,192,92,187,234,114,130,75,118,210,126,116,53,23,164,195,216,194,111,127,131,118,192,214,179,18,84,236,50,129,12,110,143,94,127,59,37,16,40,255,174,248,70,62,238,0,57,146,228,216,222,174,97,86,123,56,149,255,161,149,185,144,21,103,158,26,45,40,207,180,186,122,247,157,214,12,91,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,156,173,28,45,222,230,154,190,124,233,122,198,63,119,250,116,217,18,83,221,118,176,98,116,87,44,244,168,75,194,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,138,136,70,27,151,11,75,149,44,47,9,142,149,118,60,135,128,142,255,199,47,30,2,211,84,188,239,143,160,46,53,32,138,136,70,27,151,11,75,149,44,47,9,142,149,118,60,135,128,142,255,199,47,30,2,211,84,188,239,143,160,46,53,22,47,8,175,41,74,126,92,40,52,220,215,167,195,154,53,189,28,80,142,135,172,63,231,188,186,153,14,136,217,96,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,47,8,175,41,74,126,92,40,52,220,215,167,195,154,53,189,28,80,142,135,172,63,231,188,186,153,14,136,217,96,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,66,157,65,78,89,171,110,74,87,234,47,72,128,236,129,171,252,215,24,34,167,220,137,255,171,65,131,15,187,214,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,115,195,208,10,5,125,228,36,95,30,38,146,146,183,192,116,165,230,178,149,234,216,117,242,23,24,36,175,78,149,250,12,108,164,255,108,122,71,123,184,122,133,40,11,78,59,250,253,166,241,213,254,245,144,81,8,104,235,249,140,213,48,138,22,22,222,236,137,78,27,166,24,9,252,50,5,55,185,118,241,200,217,71,253,126,0,160,154,134,91,231,87,140,53,74,26,68,110,207,194,87,246,239,51,187,18,93,22,201,175,145,223,101,218,21,174,155,214,5,236,145,149,201,112,10,185,96,40,153,73,241,160,104,95,231,129,236,145,180,159,45,164,104,24,226,158,10,59,20,152,93,88,58,166,12,12,170,143,227,42,153,39,167,34,104,23,177,103,113,239,106,9,165,178,48,156,119,194,202,104,174,100,218,154,114,67,210,212,126,171,184,38,209,167,60,184,152,139,232,77,209,1,35,63,97,187,9,72,16,33,42,146,97,130,250,132,56,115,123,170,80,162,246,2,81,147,245,151,161,0,204,59,101,125,238,79,188,86,22,72,184,211,99,66,73,148,20,206,204,120,159,208,119,58,88,47,23,42,56,254,166,238,243,185,39,33,187,51,186,200,248,69,179,171,197,141,42,18,203,132,111,8,253,204,119,44,228,14,19,42,137,200,159,173,79,52,129,16,103,212,233,150,194,48,253,88,172,175,127,97,14,184,167,229,12,52,57,150,230,5,6,106,175,95,207,116,80,222,242,119,149,51,84,252,34,235,59,136,169,71,232,240,143,180,228,55,252,168,174,26,179,21,200,5,74,186,149,10,250,147,45,205,16,72,252,129,146,23,227,115,9,81,63,41,185,133,228,14,17,107,89,5,198,20,166,84,126,220,93,175,37,25,107,192,41,229,158,195,189,151,111,28,17,160,22,30,207,228,233,30,27,124,219,145,75,41,18,8,2,247,56,12,224,149,165,213,191,49,85,164,98,239,105,134,74,122,231,16,237,123,149,232,20,190,167,255,236,43,61,182,80,222,161,164,95,89,217,51,254,164,19,186,156,219,2,152,155,199,181,164,120,64,57,186,183,25,59,115,229,34,246,228,181,164,193,150,106,206,68,159,229,188,233,17,186,247,140,203,168,2,19,121,203,31,81,131,65,200,176,27,126,8,12,42,163,141,205,25,78,85,40,199,250,4,162,123,84,102,100,144,174,80,87,254,35,143,121,111,215,104,37,69,121,19,210,62,24,83,229,231,208,196,234,14,226,202,184,221,199,77,167,233,23,134,188,53,116,173,90,63,33,101,236,137,177,8,104,190,154,237,33,198,144,237,98,142,215,102,136,208,4,243,81,19,35,178,19,190,5,104,77,163,180,33,60,196,88,44,156,235,208,95,18,102,21,167,193,2,144,87,231,215,234,97,153,78,34,172,145,180,125,19,234,49,194,198,60,41,147,0,150,94,132,111,253,106,130,45,115,93,128,123,98,237,225,98,145,87,168,202,26,13,249,218,196,3,147,3,243,133,142,27,128,75,203,227,69,221,63,188,215,86,254,36,210,132,246,224,146,102,134,234,247,128,207,88,207,59,26,154,60,245,84,18,253,199,213,146,35,100,19,120,55,96,112,173,52,194,242,250,74,40,233,142,200,133,30,71,168,191,35,109,7,144,134,43,130,72,165,80,202,226,236,84,218,133,166,220,236,136,74,10,221,120,76,196,127,197,107,171,127,94,146,176,48,229,255,41,180,64,226,35,0,175,166,156,34,81,107,57,241,218,176,140,15,165,92,32,190,217,236,157,128,5,193,106,61,158,93,31,95,109,161,13,37,122,115,240,131,230,46,241,253,210,38,240,135,101,34,70,120,228,96,167,241,51,195,120,214,37,41,42,48,187,222,134,134,254,111,90,174,60,55,34,51,191,123,17,126,159,232,172,87,3,145,251,68,71,16,15,46,176,243],"hex_proof":"0x00e43519486029213754b2b1705136102e3c1670a252c7140d1623b578b3fb8e20038acc57a75e3923e52c2c1daf0de97b4b9ee869a20aaef95fca44c53d70d223f018cda4acbfdade44be5e04bd92790c426b9e770afc57f9e337d0ddb644cb1c1fe659f97e221fbff5fbf18d9127aab99b0a4c91580d461ed309356863e0d407efcb19c50f171a717379717399ff3029aa14d10b371bd6d9f1861cad03483b09b5526d653fee969aed5759d585827ec72f3fc64df5df3ca0d05354f04d60401744928a93dd30e3517227e7ee844f8648d8d32faa65f2c66f1b34eccad2ae3a120a79082b1b1c54f7dfc405e318dc8462d91c81dcae62c51ec11afd2d9d144028c303f709b875ee58f4cf45827879258ef4391b6dfc40dc95b9dbf4ac96bf86201c92bdc832f5ad4dc9008be0b143825996b6e55b9699d400c6f7a4bdefa3f01cc99384878d382d5b74178b34ebb552213963bc0ea18f04af6198d891f40d680a46e994aa36f0f7f302ab86ec5b24dceed1b436edad88afa9a8629a064decc02a1d174b7f8a5439f1c147d4d5b819a3834f371cb634b241c1d6d35418349bf715c8f2aa92f42ea426a605c913d66759140805ad9dbdd335891420de61662cbc1091ddb8d52caa27e857bfcdd258ad9a5dc9cf95db8efb31ecbee03ad65dc53b1e833a0e8850991cad34c560a08b6adf3d02aec77ae1c8893b6336860c166cbf2a4040aa9b2a10aedbf960a832f1353860ba12f222de5978dc15e6d1d75b11e6253b70453fce72d3e6b2c24795bb703e78462f8ffb06307b0943f445eaf2ed1a01b077515e14a278feb0ae7506a51bd92543617cde7167a8c5ccc8a59f4b961718113446aa66011f515fa090fcb2c540c3734bd5175d13900cd76d59695c553b08973fb336baa5fbe39cab093b75cc1c689a03e56ff4edb48d970e92f5a9c5d503e95e79aac87d42ebb1790232cd11da9392bb7084d46a1c0a87d62dbfad1af422c27e1309025bafad3ef661c2ba6adc3c8cab1310867959948a6fd6fabadf752d093798fb3fc0e9b4ad23dc9d3794ba4ae3c9c3e2b28d2aea94094cc454c15429d7ef4f693471c32984902627af3981b5d376b4f5b79504d40d41ac3ea41a622647537d361bb11071a83e21ead7e4d10fcec0e7be86233aa8753c9b8d62e4cc092e1201ed63dc57550a82e2e2cf8a67a211f2a81e4fedc2e42d554d5c76c7630c45ee021d092742465aefa3d9df2a4421c30443668415a48386c73dd18878de2b74299bb044b6f9590322b5e9dbc01d041182be3383d80ccac736c63a968ed20660dff9d351553541b7ea64a833a4fbeb5d64dc9f495b677cf9b6aa587dbf9d12fcd288a4252fd885d105a52fa6d9acfda7f180bf1cc9e935bc2b17100b6d281ab0eb25c1476160940c2b02b87286f20af4cc8c1230f5b63435b3ea42e80b50175299513d884b791a8fbc7db2ed271a1727fe61c58de7a9e06ce4fb71b7247210f4a9e7224b39502649700e6aa1551b414c3106cc253b9532206b883d9605b824cac3b89b7bb4ea24440d304f72b617e5d6218a93309a0e5f760130338a5af70c62af39add7eee0684e959a4fe516bf02bc4a4f84ce48c05007caacf04c4fcd119eedb9ecee218b5309cf252718b15c2e0c34438861880a7580f8636e5742ec24fc0e212528a5ccf56828694ba6303291d55539f5a3fd135463784e038093572916d14969f09da44e7b948e26439aaa3b272e48bbfc49f08724026111c992bf0186fdc1f442b2a0b08c0904cae269a507f8393672494c14708f90f259d9c93323b6810bfd89dcf7f29e492e7e4facc94fd261cec05cbbea72824b76d27e743517a4c3d8c26f7f8376c0d6b31254ec32810c6e8f5e7f3b251028ffaef8463eee003992e4d8deae61567b3895ffa195b99015679e1a2d28cfb4ba7af79dd60c5b0000000000000000000000000000000000000000000000000000000000000000199cad1c2ddee69abe7ce97ac63f77fa74d91253dd76b06274572cf4a84bc21c0000000000000000000000000000000000000000000000000000000000000000208a88461b970b4b952c2f098e95763c87808effc72f1e02d354bcef8fa02e35208a88461b970b4b952c2f098e95763c87808effc72f1e02d354bcef8fa02e35162f08af294a7e5c2834dcd7a7c39a35bd1c508e87ac3fe7bcba990e88d960670000000000000000000000000000000000000000000000000000000000000000162f08af294a7e5c2834dcd7a7c39a35bd1c508e87ac3fe7bcba990e88d9606700000000000000000000000000000000000000000000000000000000000000001b429d414e59ab6e4a57ea2f4880ec81abfcd71822a7dc89ffab41830fbbd66b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001673c3d00a057de4245f1e269292b7c074a5e6b295ead875f2171824af4e95fa0c6ca4ff6c7a477bb87a85280b4e3bfafda6f1d5fef590510868ebf98cd5308a1616deec894e1ba61809fc320537b976f1c8d947fd7e00a09a865be7578c354a1a446ecfc257f6ef33bb125d16c9af91df65da15ae9bd605ec9195c9700ab960289949f1a0685fe781ec91b49f2da46818e29e0a3b14985d583aa60c0caa8fe32a9927a7226817b16771ef6a09a5b2309c77c2ca68ae64da9a7243d2d47eabb826d1a73cb8988be84dd101233f61bb094810212a926182fa8438737baa50a2f6025193f597a100cc3b657dee4fbc561648b8d36342499414cecc789fd0773a582f172a38fea6eef3b92721bb33bac8f845b3abc58d2a12cb846f08fdcc772ce40e132a89c89fad4f34811067d4e996c230fd58acaf7f610eb8a7e50c343996e605066aaf5fcf7450def277953354fc22eb3b88a947e8f08fb4e437fca8ae1ab315c8054aba950afa932dcd1048fc819217e37309513f29b985e40e116b5905c614a6547edc5daf25196bc029e59ec3bd976f1c11a0161ecfe4e91e1b7cdb914b29120802f7380ce095a5d5bf3155a462ef69864a7ae710ed7b95e814bea7ffec2b3db650dea1a45f59d933fea413ba9cdb02989bc7b5a4784039bab7193b73e522f6e4b5a4c1966ace449fe5bce911baf78ccba8021379cb1f518341c8b01b7e080c2aa38dcd194e5528c7fa04a27b54666490ae5057fe238f796fd76825457913d23e1853e5e7d0c4ea0ee2cab8ddc74da7e91786bc3574ad5a3f2165ec89b10868be9aed21c690ed628ed76688d004f3511323b213be05684da3b4213cc4582c9cebd05f126615a7c1029057e7d7ea61994e22ac91b47d13ea31c2c63c299300965e846ffd6a822d735d807b62ede1629157a8ca1a0df9dac4039303f3858e1b804bcbe345dd3fbcd756fe24d284f6e0926686eaf780cf58cf3b1a9a3cf55412fdc7d59223641378376070ad34c2f2fa4a28e98ec8851e47a8bf236d0790862b8248a550cae2ec54da85a6dcec884a0add784cc47fc56bab7f5e92b030e5ff29b440e22300afa69c22516b39f1dab08c0fa55c20bed9ec9d8005c16a3d9e5d1f5f6da10d257a73f083e62ef1fdd226f08765224678e460a7f133c378d625292a30bbde8686fe6f5aae3c372233bf7b117e9fe8ac570391fb4447100f2eb0f3","transcript_type":"EVM","split":null,"pretty_public_inputs":{"rescaled_inputs":[],"inputs":[],"processed_inputs":[],"processed_params":[],"processed_outputs":[],"rescaled_outputs":[["0","0","0","0"]],"outputs":[["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000000"]]},"timestamp":1704286433689} \ No newline at end of file diff --git a/tests/wasm/settings.json b/tests/wasm/settings.json index abc2c77cf..fcdf185f0 100644 --- a/tests/wasm/settings.json +++ b/tests/wasm/settings.json @@ -1 +1 @@ -{"run_args":{"tolerance":{"val":0.0,"scale":1.0},"input_scale":0,"param_scale":0,"scale_rebase_multiplier":10,"lookup_range":[-2,0],"logrows":6,"num_inner_cols":2,"variables":[["batch_size",1]],"input_visibility":"Private","output_visibility":"Public","param_visibility":"Private"},"num_rows":16,"total_assignments":32,"total_const_size":8,"model_instance_shapes":[[1,4]],"model_output_scales":[0],"model_input_scales":[0],"module_sizes":{"kzg":[],"poseidon":[0,[0]],"elgamal":[0,[0]]},"required_lookups":["ReLU"],"check_mode":"UNSAFE","version":"0.0.0","num_blinding_factors":null,"timestamp":1702474230544} \ No newline at end of file +{"run_args":{"tolerance":{"val":0.0,"scale":1.0},"input_scale":0,"param_scale":0,"scale_rebase_multiplier":10,"lookup_range":[-2,0],"logrows":6,"num_inner_cols":2,"variables":[["batch_size",1]],"input_visibility":"Private","output_visibility":"Public","param_visibility":"Private"},"num_rows":16,"total_assignments":32,"total_const_size":8,"model_instance_shapes":[[1,4]],"model_output_scales":[0],"model_input_scales":[0],"module_sizes":{"kzg":[],"poseidon":[0,[0]]},"required_lookups":["ReLU"],"check_mode":"UNSAFE","version":"0.0.0","num_blinding_factors":null,"timestamp":1702474230544} \ No newline at end of file