From 73095cf7335f49e0e52b74306f0341b38f48697e Mon Sep 17 00:00:00 2001 From: feltroid Prime <96737978+feltroidprime@users.noreply.github.com> Date: Fri, 6 Dec 2024 13:03:15 +0100 Subject: [PATCH] Bump Cairo to 2.9.1. (#264) --- .github/workflows/cairo.yml | 2 +- .github/workflows/e2e.yml | 2 +- .github/workflows/hydra.yml | 2 +- .github/workflows/maturin.yml | 2 +- .github/workflows/wasm.yml | 2 +- README.md | 2 +- docs/gitbook/installation/developer-setup.md | 2 +- hydra/garaga/modulo_circuit.py | 4 +- .../precompiled_circuits/all_circuits.py | 2 +- .../groth16_contract_generator/generator.py | 7 +- src/.tool-versions | 2 +- src/Scarb.toml | 3 +- src/contracts/drand_quicknet/Scarb.toml | 2 +- .../drand_quicknet/src/drand_verifier.cairo | 4 +- .../src/drand_verifier_constants.cairo | 1417 +- .../groth16_example_bls12_381/.tools-versions | 2 +- .../groth16_example_bls12_381/Scarb.toml | 2 +- .../src/groth16_verifier.cairo | 11 +- .../src/groth16_verifier_constants.cairo | 1637 ++- .../groth16_example_bn254/.tools-versions | 2 +- .../groth16_example_bn254/Scarb.toml | 2 +- .../src/groth16_verifier.cairo | 11 +- .../src/groth16_verifier_constants.cairo | 2013 ++- src/contracts/risc0_verifier_bn254/Scarb.toml | 2 +- .../src/groth16_verifier.cairo | 8 +- .../src/groth16_verifier_constants.cairo | 2066 ++- src/contracts/universal_ecip/Scarb.toml | 2 +- src/contracts/universal_ecip/src/lib.cairo | 12 +- src/src/basic_field_ops.cairo | 36 +- src/src/circuits.cairo | 12 +- src/src/circuits/dummy.cairo | 16 +- src/src/circuits/ec.cairo | 182 +- src/src/circuits/extf_mul.cairo | 32 +- src/src/circuits/isogeny.cairo | 230 +- src/src/circuits/multi_pairing_check.cairo | 484 +- src/src/circuits/tower_circuits.cairo | 358 +- src/src/core/circuit.cairo | 22 +- src/src/definitions.cairo | 578 +- src/src/ec_ops.cairo | 307 +- src/src/ec_ops_g2.cairo | 46 +- src/src/groth16.cairo | 100 +- src/src/lib.cairo | 2 +- src/src/pairing_check.cairo | 56 +- src/src/single_pairing_tower.cairo | 282 +- src/src/tests/msm_tests.cairo | 10756 +++++++-------- src/src/tests/pairing_tests.cairo | 11386 ++++++++-------- src/src/tests/tower_pairing_tests.cairo | 426 +- src/src/utils.cairo | 10 +- src/src/utils/calldata.cairo | 113 +- src/src/utils/drand.cairo | 402 +- src/src/utils/hashing.cairo | 28 +- src/src/utils/neg_3.cairo | 25 +- src/src/utils/risc0.cairo | 63 +- tools/make/setup.sh | 6 +- 54 files changed, 16381 insertions(+), 16802 deletions(-) diff --git a/.github/workflows/cairo.yml b/.github/workflows/cairo.yml index a7316429..dd841196 100644 --- a/.github/workflows/cairo.yml +++ b/.github/workflows/cairo.yml @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@v3 - uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.1" - run: scarb fmt --check working-directory: src/ - run: cd src/ && scarb test diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 451512c9..c130e0e9 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -38,7 +38,7 @@ jobs: - name: Setup Scarb uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.1" - name: Install dependencies run: make setup diff --git a/.github/workflows/hydra.yml b/.github/workflows/hydra.yml index 4cfbcadc..b2f1f178 100644 --- a/.github/workflows/hydra.yml +++ b/.github/workflows/hydra.yml @@ -54,7 +54,7 @@ jobs: - name: Set up Scarb uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.1" - name: Run make rewrite and check for unstaged changes run: | source venv/bin/activate diff --git a/.github/workflows/maturin.yml b/.github/workflows/maturin.yml index b29c39a5..f9dc23d1 100644 --- a/.github/workflows/maturin.yml +++ b/.github/workflows/maturin.yml @@ -164,7 +164,7 @@ jobs: - uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.1" - name: Set up Python 3.10 uses: actions/setup-python@v5 with: diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 3665d44e..d2233bfd 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -90,7 +90,7 @@ jobs: - uses: software-mansion/setup-scarb@v1 with: - scarb-version: "2.8.4" + scarb-version: "2.9.1" - name: Set up Python 3.10.14 uses: actions/setup-python@v5 with: diff --git a/README.md b/README.md index 4b1920b7..2cb6098e 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ To get started with Garaga, you'll need to have some tools and dependencies inst Ensure you have the following installed: - [Python 3.10](https://www.python.org/downloads/) - /!\ Make sure `python3.10` is a valid command in your terminal. The core language used for development. Make sure you have the correct dependencies installed (in particular, GMP) for the `fastecdsa` python package. See [here](https://pypi.org/project/fastecdsa/#installing) for linux and [here](https://github.com/AntonKueltz/fastecdsa/issues/74) for macos. -- [Scarb 2.8.4](https://docs.swmansion.com/scarb/download.html) - The Cairo package manager. Comes with Cairo inside. Requires [Rust](https://www.rust-lang.org/tools/install). +- [Scarb 2.9.1](https://docs.swmansion.com/scarb/download.html) - The Cairo package manager. Comes with Cairo inside. Requires [Rust](https://www.rust-lang.org/tools/install). ##### Optionally : diff --git a/docs/gitbook/installation/developer-setup.md b/docs/gitbook/installation/developer-setup.md index fbd20414..7c220f49 100644 --- a/docs/gitbook/installation/developer-setup.md +++ b/docs/gitbook/installation/developer-setup.md @@ -7,7 +7,7 @@ icon: wrench To work with Garaga, you need the following dependencies : * Python 3.10. The command `python3.10` should be available and working in your terminal. -* [Scarb](https://docs.swmansion.com/scarb/download.html) v2.8.4. +* [Scarb](https://docs.swmansion.com/scarb/download.html) v2.9.1. * [Rust](https://www.rust-lang.org/tools/install) Simply clone the [repository](https://github.com/keep-starknet-strange/garaga) : diff --git a/hydra/garaga/modulo_circuit.py b/hydra/garaga/modulo_circuit.py index 74dc5d73..39cec7a7 100644 --- a/hydra/garaga/modulo_circuit.py +++ b/hydra/garaga/modulo_circuit.py @@ -1098,9 +1098,9 @@ def compile_circuit_cairo_1( signature_input = "mut input: Array" if self.generic_circuit: - code = f"#[inline(always)]\nfn {function_name}({signature_input}, curve_index:usize)->{signature_output} {{\n" + code = f"#[inline(always)]\npub fn {function_name}({signature_input}, curve_index:usize)->{signature_output} {{\n" else: - code = f"#[inline(always)]\nfn {function_name}({signature_input})->{signature_output} {{\n" + code = f"#[inline(always)]\npub fn {function_name}({signature_input})->{signature_output} {{\n" # Define the input for the circuit. code, offset_to_reference_map, start_index = self.write_cairo1_input_stack( diff --git a/hydra/garaga/precompiled_circuits/all_circuits.py b/hydra/garaga/precompiled_circuits/all_circuits.py index 9f098cac..6adcdb48 100644 --- a/hydra/garaga/precompiled_circuits/all_circuits.py +++ b/hydra/garaga/precompiled_circuits/all_circuits.py @@ -599,7 +599,7 @@ def main( initialize_compilation(PRECOMPILED_CIRCUITS_DIR, CIRCUITS_TO_COMPILE) ) output_sizes_exceeding_limit = {filename: set() for filename in filenames_used} - limit = 15 + limit = 16 compile_circuits( CIRCUITS_TO_COMPILE, compilation_mode, diff --git a/hydra/garaga/starknet/groth16_contract_generator/generator.py b/hydra/garaga/starknet/groth16_contract_generator/generator.py index 548ad7dc..72d22b87 100644 --- a/hydra/garaga/starknet/groth16_contract_generator/generator.py +++ b/hydra/garaga/starknet/groth16_contract_generator/generator.py @@ -8,7 +8,7 @@ from garaga.starknet.cli.utils import create_directory, get_package_version from garaga.starknet.groth16_contract_generator.parsing_utils import Groth16VerifyingKey -ECIP_OPS_CLASS_HASH = 0x223A0051C2E31EDE1FD33DB4F01BC979901FD80F3429017710176CCE6AADA3B +ECIP_OPS_CLASS_HASH = 0x2F2A107CEE3E12D1FB6070D2AE30D18C1E412EFDF8EF5C8DD278FC00862F952 def precompute_lines_from_vk(vk: Groth16VerifyingKey) -> StructArray: @@ -79,7 +79,6 @@ def gen_groth16_verifier( use super::{{N_PUBLIC_INPUTS, vk, ic, precomputed_lines}}; const ECIP_OPS_CLASS_HASH: felt252 = {hex(ecip_class_hash)}; - use starknet::ContractAddress; #[storage] struct Storage {{}} @@ -159,7 +158,7 @@ def gen_groth16_verifier( create_directory(src_dir) with open(os.path.join(output_folder_path, ".tools-versions"), "w") as f: - f.write("scarb 2.8.4\n") + f.write("scarb 2.9.1\n") with open(os.path.join(src_dir, "groth16_verifier_constants.cairo"), "w") as f: f.write(constants_code) @@ -199,7 +198,7 @@ def get_scarb_toml_file(package_name: str, cli_mode: bool): [dependencies] garaga = {{ {dep} }} -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/.tool-versions b/src/.tool-versions index ff547533..3efd1f43 100644 --- a/src/.tool-versions +++ b/src/.tool-versions @@ -1 +1 @@ -scarb 2.8.4 +scarb 2.9.1 diff --git a/src/Scarb.toml b/src/Scarb.toml index 039fbde4..a1aa4f61 100644 --- a/src/Scarb.toml +++ b/src/Scarb.toml @@ -1,6 +1,7 @@ [package] name = "garaga" version = "0.14.0" +edition = "2023_10" licence = "MIT" keywords = ["zk", "snarks", "curve", "pairing", "groth16", "plonk", "bls", "elliptic", "signature"] description = "State-of-the-art Elliptic Curve operations and SNARKS verification for Cairo & Starknet" @@ -15,7 +16,7 @@ sierra-replace-ids = false [dependencies] [dev-dependencies] -cairo_test = "2.8.4" +cairo_test = "2.9.1" #snforge_std = { git = "https://github.com/foundry-rs/starknet-foundry.git", tag = "v0.30.0" } #assert_macros = "2.8." diff --git a/src/contracts/drand_quicknet/Scarb.toml b/src/contracts/drand_quicknet/Scarb.toml index b21a3e15..faa1a443 100644 --- a/src/contracts/drand_quicknet/Scarb.toml +++ b/src/contracts/drand_quicknet/Scarb.toml @@ -5,7 +5,7 @@ edition = "2024_07" [dependencies] garaga = { path = "../.." } -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/contracts/drand_quicknet/src/drand_verifier.cairo b/src/contracts/drand_quicknet/src/drand_verifier.cairo index 110539fb..db01023f 100644 --- a/src/contracts/drand_quicknet/src/drand_verifier.cairo +++ b/src/contracts/drand_quicknet/src/drand_verifier.cairo @@ -13,7 +13,7 @@ mod DrandQuicknet { use garaga::definitions::{G1Point, G1G2Pair}; use garaga::pairing_check::{multi_pairing_check_bls12_381_2P_2F, MPCheckHintBLS12_381}; use garaga::utils::drand::{ - round_to_curve_bls12_381, DRAND_QUICKNET_PUBLIC_KEY, HashToCurveHint + round_to_curve_bls12_381, DRAND_QUICKNET_PUBLIC_KEY, HashToCurveHint, }; use super::{precomputed_lines, G2_GEN}; use garaga::utils::hashing::hash_G1Point; @@ -37,7 +37,7 @@ mod DrandQuicknet { ) -> Option { let drand_hint: DrandHint = Serde::deserialize(ref full_proof_with_hints).unwrap(); let message = round_to_curve_bls12_381( - drand_hint.round_number, drand_hint.hash_to_curve_hint + drand_hint.round_number, drand_hint.hash_to_curve_hint, ); let check = multi_pairing_check_bls12_381_2P_2F( diff --git a/src/contracts/drand_quicknet/src/drand_verifier_constants.cairo b/src/contracts/drand_quicknet/src/drand_verifier_constants.cairo index 0013a5f8..924e471a 100644 --- a/src/contracts/drand_quicknet/src/drand_verifier_constants.cairo +++ b/src/contracts/drand_quicknet/src/drand_verifier_constants.cairo @@ -1,3571 +1,3568 @@ use garaga::definitions::{G2Line, G2Point, u384}; -pub const G2_GEN: G2Point = - G2Point { - x0: u384 { - limb0: 0xa805bbefd48056c8c121bdb8, - limb1: 0xb4510b647ae3d1770bac0326, - limb2: 0x2dc51051c6e47ad4fa403b02, - limb3: 0x24aa2b2f08f0a9126080527 - }, - x1: u384 { - limb0: 0x13945d57e5ac7d055d042b7e, - limb1: 0xb5da61bbdc7f5049334cf112, - limb2: 0x88274f65596bd0d09920b61a, - limb3: 0x13e02b6052719f607dacd3a0 - }, - y0: u384 { - limb0: 0x3baca289e193548608b82801, - limb1: 0x6d429a695160d12c923ac9cc, - limb2: 0xda2e351aadfd9baa8cbdd3a7, - limb3: 0xce5d527727d6e118cc9cdc6 - }, - y1: u384 { - limb0: 0x5cec1da1aaa9075ff05f79be, - limb1: 0x267492ab572e99ab3f370d27, - limb2: 0x2bc28b99cb3e287e85a763af, - limb3: 0x606c4a02ea734cc32acd2b0 - } - }; +pub const G2_GEN: G2Point = G2Point { + x0: u384 { + limb0: 0xa805bbefd48056c8c121bdb8, + limb1: 0xb4510b647ae3d1770bac0326, + limb2: 0x2dc51051c6e47ad4fa403b02, + limb3: 0x24aa2b2f08f0a9126080527, + }, + x1: u384 { + limb0: 0x13945d57e5ac7d055d042b7e, + limb1: 0xb5da61bbdc7f5049334cf112, + limb2: 0x88274f65596bd0d09920b61a, + limb3: 0x13e02b6052719f607dacd3a0, + }, + y0: u384 { + limb0: 0x3baca289e193548608b82801, + limb1: 0x6d429a695160d12c923ac9cc, + limb2: 0xda2e351aadfd9baa8cbdd3a7, + limb3: 0xce5d527727d6e118cc9cdc6, + }, + y1: u384 { + limb0: 0x5cec1da1aaa9075ff05f79be, + limb1: 0x267492ab572e99ab3f370d27, + limb2: 0x2bc28b99cb3e287e85a763af, + limb3: 0x606c4a02ea734cc32acd2b0, + }, +}; -pub const precomputed_lines: [ - G2Line - ; 136] = [ +pub const precomputed_lines: [G2Line; 136] = [ G2Line { r0a0: u384 { limb0: 0x36701a5831c9fb39250e2ea9, limb1: 0x26ad0ec05ad6440f1df034cf, limb2: 0x67cd27cf7598a85f81c23cd9, - limb3: 0x15a76ee3d8d1c3451005d560 + limb3: 0x15a76ee3d8d1c3451005d560, }, r0a1: u384 { limb0: 0x9009367bbf6e6aa19488df66, limb1: 0xce5cd2ccda4704dc0e4b92b6, limb2: 0xd7656829a6a71c42deb7dd, - limb3: 0x16d96e785c797fb5d6afcb14 + limb3: 0x16d96e785c797fb5d6afcb14, }, r1a0: u384 { limb0: 0x9d68b0bdf431a2f53189c109, limb1: 0x70e39167384e44fdaf716fa4, limb2: 0x3768099390a3f9d581d88280, - limb3: 0x4c208bdb300097927393e96 + limb3: 0x4c208bdb300097927393e96, }, r1a1: u384 { limb0: 0x68ab4b88cf058f147ba2cda9, limb1: 0xce3b4d4da03cbdac75933b54, limb2: 0x1be2f7e6eaa0f1474cb64c53, - limb3: 0x546ca700477f9c2f9def969 - } + limb3: 0x546ca700477f9c2f9def969, + }, }, G2Line { r0a0: u384 { limb0: 0x96e0f84058018a4538d64e8b, limb1: 0xdb7b84172cb1e68ddd09eb12, limb2: 0xcf3aaa45c2b370e810ea9361, - limb3: 0x14b92565b748c30f253912c6 + limb3: 0x14b92565b748c30f253912c6, }, r0a1: u384 { limb0: 0x9cdcddf4728a38086aebcd7, limb1: 0x7b8d9115b96656327dd79780, limb2: 0xbf914addbdcbe307142bf7cc, - limb3: 0x3c50d0829bdc305ff694cc9 + limb3: 0x3c50d0829bdc305ff694cc9, }, r1a0: u384 { limb0: 0xcc0dbe864e35231bdec2ef76, limb1: 0x4efa339ef551d8f751da95ba, limb2: 0xfde5910a13d5c428549ed3f5, - limb3: 0x105e4803f5b8472a138e00b + limb3: 0x105e4803f5b8472a138e00b, }, r1a1: u384 { limb0: 0x584879d210eb30bfd6518cf2, limb1: 0xa7c4af01b40d0e68243b050c, limb2: 0xade596dd94a41e4aedec2196, - limb3: 0x162a46f819eba8e3b9d215f9 - } + limb3: 0x162a46f819eba8e3b9d215f9, + }, }, G2Line { r0a0: u384 { limb0: 0xaa37b5f455262931a4a4b667, limb1: 0xd63d75f6f171228540731ca7, limb2: 0x1855073ef14fe67beee9ec53, - limb3: 0x703f29e5b69ff1dd1441781 + limb3: 0x703f29e5b69ff1dd1441781, }, r0a1: u384 { limb0: 0x310c4b87c8dca9036f6be0c0, limb1: 0x4b940b400d665d605ca8924b, limb2: 0x6d53ff2907765e3888b9709e, - limb3: 0x166de077ba25fe21aafb8d8 + limb3: 0x166de077ba25fe21aafb8d8, }, r1a0: u384 { limb0: 0xa28a55b43c534d6caa724f82, limb1: 0x5f55bbeb19616aec79892386, limb2: 0x3aacfc3b6bd889cf57af9e40, - limb3: 0x72ff7d1d3328dbb7c821e1 + limb3: 0x72ff7d1d3328dbb7c821e1, }, r1a1: u384 { limb0: 0xd5e91f70851719038228e756, limb1: 0xb4f970b567fc2d6738d65700, limb2: 0x8c886fe7294c08b41dc5dcbe, - limb3: 0x782b1bf6e81fef26d367768 - } + limb3: 0x782b1bf6e81fef26d367768, + }, }, G2Line { r0a0: u384 { limb0: 0x8d8ec958debf40520de5d867, limb1: 0x57bad55eb06d937414e80cc9, limb2: 0xcb178ebae0f48eb14ad4fba0, - limb3: 0x13aa75258cc1d54eb767a47e + limb3: 0x13aa75258cc1d54eb767a47e, }, r0a1: u384 { limb0: 0x7aec4216b9f9e33aa4f5af6, limb1: 0x607eabc6cb65b9f4b850a042, limb2: 0x1d93b61b06f4e64902410902, - limb3: 0x1860921bbe145ede9350b867 + limb3: 0x1860921bbe145ede9350b867, }, r1a0: u384 { limb0: 0xe104b73f6d12d90e3c339c6c, limb1: 0x27bab1ac67f3132355d4c1a0, limb2: 0x63ecc80d6bd96b3d592f63d9, - limb3: 0xdcb608c9ce643f854507b05 + limb3: 0xdcb608c9ce643f854507b05, }, r1a1: u384 { limb0: 0xe3895865374c9b06b8d02a7f, limb1: 0x8c09a76a05340ce642b99a1a, limb2: 0x4a4afdbe107c0182cfe2e6e7, - limb3: 0x1056de76a10fe55b2659ea44 - } + limb3: 0x1056de76a10fe55b2659ea44, + }, }, G2Line { r0a0: u384 { limb0: 0x6a72f085ee4e78bd4c2aef8e, limb1: 0xdec05cffe4a869aed2a64ee8, limb2: 0xd41aa908b1a833b94e768d2, - limb3: 0x56ceab5d5d994dee0ca07fc + limb3: 0x56ceab5d5d994dee0ca07fc, }, r0a1: u384 { limb0: 0xd23aad6cd3e84e398a4e7bc8, limb1: 0xb343a6878db6ec20bcac1275, limb2: 0x3111e14b674a67295a242cf3, - limb3: 0x39b596a976f556e5ea4016a + limb3: 0x39b596a976f556e5ea4016a, }, r1a0: u384 { limb0: 0x19fcdcac7feb1f0edbefdbf8, limb1: 0x71bc60f1a68459eb52df6a92, limb2: 0x2827dbba9d5d8516fb557dfb, - limb3: 0x4786cc02b147d13e701c1f5 + limb3: 0x4786cc02b147d13e701c1f5, }, r1a1: u384 { limb0: 0xcb7555c0db86510eb99cfadd, limb1: 0x43387d10f8329296e43e6610, limb2: 0xbf6789475132950c583823a, - limb3: 0x145f508c63c10d270e027b2b - } + limb3: 0x145f508c63c10d270e027b2b, + }, }, G2Line { r0a0: u384 { limb0: 0x411944418a1e44d0fbd8a4bd, limb1: 0xfa3933a100d5d920bb158196, limb2: 0xaf6096a850d10c6ee57b7d3f, - limb3: 0x7bc245f0c719ec216f4f7e7 + limb3: 0x7bc245f0c719ec216f4f7e7, }, r0a1: u384 { limb0: 0xd5f88a09ab7912a54504534a, limb1: 0x6c7b84068e05767f3ac72003, limb2: 0x2e783a6cd8933e5ce254ff56, - limb3: 0x648a93088ef22f73be5e1d5 + limb3: 0x648a93088ef22f73be5e1d5, }, r1a0: u384 { limb0: 0x72f4d88bd20cecc4c1d57b8f, limb1: 0x2164d957d0e784aca77a27b6, limb2: 0xe45f0a865306a8c7ccf8e465, - limb3: 0x182e7e79c81e19c5e6dba3b8 + limb3: 0x182e7e79c81e19c5e6dba3b8, }, r1a1: u384 { limb0: 0xf2b21292475b313a8591d232, limb1: 0x31975a79dd261ef9304ae69f, limb2: 0x3fca7e570497ea425d166e3f, - limb3: 0xb1e493cae679afa3aeeb48e - } + limb3: 0xb1e493cae679afa3aeeb48e, + }, }, G2Line { r0a0: u384 { limb0: 0x7bd212f8f60967471e995a8e, limb1: 0xec76fa31d0fd358f36ee756e, limb2: 0xa63e06c40964532a724817c3, - limb3: 0xd860767952ed2b694b64eea + limb3: 0xd860767952ed2b694b64eea, }, r0a1: u384 { limb0: 0xd18f8b1de21e64c50d3c6fc2, limb1: 0x456cec057d45521c48d0b547, limb2: 0x23fb8276293fac77c9a38c1b, - limb3: 0x1469d7cf50d58855fa523aa8 + limb3: 0x1469d7cf50d58855fa523aa8, }, r1a0: u384 { limb0: 0x52f1d22ea6bfc23435bf7e3b, limb1: 0x3e2d5122467bf39f2573a57b, limb2: 0x378db9e77f53b5b1e38981da, - limb3: 0x1015deb442db265529d8948 + limb3: 0x1015deb442db265529d8948, }, r1a1: u384 { limb0: 0x73c44618fb7917b2596bd460, limb1: 0x598ee13313073cf3232e1b37, limb2: 0xbd63e58ae4aa477bcd459ef2, - limb3: 0x272bfde06aa8302ab8c70d6 - } + limb3: 0x272bfde06aa8302ab8c70d6, + }, }, G2Line { r0a0: u384 { limb0: 0x84d7880d9c5ad98d07f1b961, limb1: 0xd5be4b6e58ad745353113073, limb2: 0x592ecc7534e44983a06d755c, - limb3: 0x15d60a0d6d8a2e4543194737 + limb3: 0x15d60a0d6d8a2e4543194737, }, r0a1: u384 { limb0: 0x9ba63990e4f1ea4875173006, limb1: 0xf84fa98d5f3742b3c571f427, limb2: 0xdd28189a4a2e3a70f78a170e, - limb3: 0x1ad5bc82425c66f655a75db + limb3: 0x1ad5bc82425c66f655a75db, }, r1a0: u384 { limb0: 0x49306522c22ca321950bf155, limb1: 0x369a747f27aa6472ebc5d290, limb2: 0x20d8977cbe5acf112574c70a, - limb3: 0xcdc103da1aac9ec5f855b64 + limb3: 0xcdc103da1aac9ec5f855b64, }, r1a1: u384 { limb0: 0x74517cbd651af3940075c057, limb1: 0x94d3802d81c93d69eb13518b, limb2: 0x76411c393dd03e5381661629, - limb3: 0x16e57b05faef24ef64868a07 - } + limb3: 0x16e57b05faef24ef64868a07, + }, }, G2Line { r0a0: u384 { limb0: 0x1a30592d98290c72cccd458b, limb1: 0x140a621ff20376f808a589fd, limb2: 0x49ba32b20969590620d93359, - limb3: 0x8505a11bd1aa7d53fffa788 + limb3: 0x8505a11bd1aa7d53fffa788, }, r0a1: u384 { limb0: 0xbedeeea8460644391170d35f, limb1: 0xcfc8f5f9f7606a79990e9242, limb2: 0x2747fe157739059a9b528ae0, - limb3: 0x13386caa378815cd519166ec + limb3: 0x13386caa378815cd519166ec, }, r1a0: u384 { limb0: 0x2adf79c700fc3a5a36c5ec26, limb1: 0x4f168c2853c5ec65b71b40ca, limb2: 0x7e0c13754f775e73a9419653, - limb3: 0x10616cc67745c7887ca4898e + limb3: 0x10616cc67745c7887ca4898e, }, r1a1: u384 { limb0: 0xde84fc636c0a8697ac4d8960, limb1: 0xdd66e4fac060783909cc83c4, limb2: 0x86edc8b2faa981346da2237c, - limb3: 0x11c912ed6ea0e8f7768ac884 - } + limb3: 0x11c912ed6ea0e8f7768ac884, + }, }, G2Line { r0a0: u384 { limb0: 0x6b6c23b2b461087f63e2fd50, limb1: 0x8454a8c69f81cfea8edb19ba, limb2: 0x2133ca31f8dd40f674513fd8, - limb3: 0x171663bdebf2ef26dc306e13 + limb3: 0x171663bdebf2ef26dc306e13, }, r0a1: u384 { limb0: 0x6b95f25b75fe9a8aa69ae917, limb1: 0x2f15c87206b024c108e4f4d4, limb2: 0xc4e3e65f02f2e19326083300, - limb3: 0x16172a9e775f111d4bf432bf + limb3: 0x16172a9e775f111d4bf432bf, }, r1a0: u384 { limb0: 0xc4289527cdf4e1662f27e1f9, limb1: 0x7f6c52aaea1458a5388d10eb, limb2: 0x4f6130d75d26097d0a4fa02a, - limb3: 0x16f8a911b684b408bbd72650 + limb3: 0x16f8a911b684b408bbd72650, }, r1a1: u384 { limb0: 0x648a1498ebbbd0e225db1ffc, limb1: 0xa36cfb4b46195b619bb220bf, limb2: 0xe327926a1726c7e5bb70bc97, - limb3: 0xfcef666ce7ecc2915258730 - } + limb3: 0xfcef666ce7ecc2915258730, + }, }, G2Line { r0a0: u384 { limb0: 0xb5abe92a46d0ff04a4205803, limb1: 0xdb760c98b7aad959e5dfc28d, limb2: 0xbea9b6e4adf41fa1060713ee, - limb3: 0x75707a467e7543c28370330 + limb3: 0x75707a467e7543c28370330, }, r0a1: u384 { limb0: 0x8b0715d2f6a16be8d5828197, limb1: 0x598a8a6da7ed2bcc091f594d, limb2: 0x18cfc9c1ee8960c06ff2c240, - limb3: 0x14061839f139644bb20e8647 + limb3: 0x14061839f139644bb20e8647, }, r1a0: u384 { limb0: 0xd529f0561fff46258f565dec, limb1: 0x80402f61ae7ce96272aff23b, limb2: 0x883367465c3a4bde2507377a, - limb3: 0x14fc234296369891318c6245 + limb3: 0x14fc234296369891318c6245, }, r1a1: u384 { limb0: 0x9fdc0242b4d20c44b72c8d49, limb1: 0x37e047238dd417acab9ea0c2, limb2: 0xc424c8845919fe27ac23e9, - limb3: 0x151e87d65d95c3b1cc9b1de6 - } + limb3: 0x151e87d65d95c3b1cc9b1de6, + }, }, G2Line { r0a0: u384 { limb0: 0xf5a9a8a9d8ecd9df033bb53b, limb1: 0x6f13c1f15ca3c43bd8dc862c, limb2: 0xaf9fffe39ed8b6f589e47e4f, - limb3: 0x1355d3f3bda0ba53c342406b + limb3: 0x1355d3f3bda0ba53c342406b, }, r0a1: u384 { limb0: 0x13c7baebedc25cd07fa0b8ea, limb1: 0x4e29e5e7fd865c69feb81131, limb2: 0xdcf94191f24d657ae6fc8c5c, - limb3: 0x162398b0a01eff8f7149ab6c + limb3: 0x162398b0a01eff8f7149ab6c, }, r1a0: u384 { limb0: 0x8cf50d2f7aa3da376e8317d5, limb1: 0x490a7502e8f6bc788f715c7a, limb2: 0xe6db018fa6b084ae40896c2b, - limb3: 0x184f93ce89fff4893629db4d + limb3: 0x184f93ce89fff4893629db4d, }, r1a1: u384 { limb0: 0x53e941ac4d20f05b66f3b0ec, limb1: 0x82b8a8efafffe40798a1d5da, limb2: 0xd08e35da426abf3dd1ce8bb, - limb3: 0xd49095a9c436bd86f9d4736 - } + limb3: 0xd49095a9c436bd86f9d4736, + }, }, G2Line { r0a0: u384 { limb0: 0x9bd8fa7a943e0e3a924e7492, limb1: 0xad948685eedfe9d3ac7315ff, limb2: 0x8148910d6004895792caa88d, - limb3: 0x1deabfaeb3374b50119ecb9 + limb3: 0x1deabfaeb3374b50119ecb9, }, r0a1: u384 { limb0: 0xfedf28954ae85d6e9f58c709, limb1: 0x7c01f5d8a4b9368fc9cbb8eb, limb2: 0xbe98bf07cbd25fe6f4ac154f, - limb3: 0x7c9b05e8adef4de506459f7 + limb3: 0x7c9b05e8adef4de506459f7, }, r1a0: u384 { limb0: 0x71812aeba8c33457117bfb0, limb1: 0xaf1a11b5a7571775ec17c1, limb2: 0x721e08542ff85e7037b2c02f, - limb3: 0x991d1db86230da71efb4475 + limb3: 0x991d1db86230da71efb4475, }, r1a1: u384 { limb0: 0x4122fa433f37c5e6888de07c, limb1: 0x144d977681671d8cd0854c34, limb2: 0x93981673fae1df08d18161aa, - limb3: 0x145eae6a49c250f2435d1ec8 - } + limb3: 0x145eae6a49c250f2435d1ec8, + }, }, G2Line { r0a0: u384 { limb0: 0x3ab208ad049d8dbf41ab2d8c, limb1: 0xe8d0eafc04fe7a37f53901c8, limb2: 0xbffd6b641b6f6961476d4a1b, - limb3: 0x16c1d585f68dee202ea9a988 + limb3: 0x16c1d585f68dee202ea9a988, }, r0a1: u384 { limb0: 0x3eba0d6e9e3751e7d1b4533f, limb1: 0x8e4692d56ab832e68469328a, limb2: 0x9d03908cf037ee8faf6dac32, - limb3: 0x2ef973d44d5dfe1f52b48e7 + limb3: 0x2ef973d44d5dfe1f52b48e7, }, r1a0: u384 { limb0: 0x6cd551023179a5ffe150ae4b, limb1: 0xd48575f40677168193ee4571, limb2: 0x81320f4ef3fa7936f5865695, - limb3: 0x37748234157e4931a4f54d7 + limb3: 0x37748234157e4931a4f54d7, }, r1a1: u384 { limb0: 0x73847e2fc69aee5b6a51756, limb1: 0x1cfd76b51ee2e57b733742b9, limb2: 0xe02551761eba32bebc8413bb, - limb3: 0x3136b909d615d39094ab565 - } + limb3: 0x3136b909d615d39094ab565, + }, }, G2Line { r0a0: u384 { limb0: 0xa8af53d78f2fa38c6e213a84, limb1: 0xc908fd45d36e147e8a3449ea, limb2: 0x9224181cd573d3836b141129, - limb3: 0x140090a04158ea562a90ed5 + limb3: 0x140090a04158ea562a90ed5, }, r0a1: u384 { limb0: 0x95e6526648a96a5a43488327, limb1: 0x5f5e4c24465495ee0dcb3055, limb2: 0x49f0985811804cda4142ca8c, - limb3: 0x9619ac570f151f7baaa7ae + limb3: 0x9619ac570f151f7baaa7ae, }, r1a0: u384 { limb0: 0xc2ef8275baa5e3b836a847d7, limb1: 0x9835333ce4136fda57f9c31e, limb2: 0x8392d675aba184475007124a, - limb3: 0x10f9170d8f4e3130ef5a354e + limb3: 0x10f9170d8f4e3130ef5a354e, }, r1a1: u384 { limb0: 0x4db131e9b2a50df6253da27e, limb1: 0x3210503344192c1a1d83234c, limb2: 0xb84a1ae100e6602d2a3eaa1d, - limb3: 0x146401ace26dcc76ec7cb805 - } + limb3: 0x146401ace26dcc76ec7cb805, + }, }, G2Line { r0a0: u384 { limb0: 0x9a29bb6c54b018b4ed75888b, limb1: 0x1437b2d93b1ecc564157059c, limb2: 0xf0add7baf8cfe1ddc30f0754, - limb3: 0x86553ec1cc3cc6a38436fbb + limb3: 0x86553ec1cc3cc6a38436fbb, }, r0a1: u384 { limb0: 0x516be99929795e7ae5112f30, limb1: 0xb182ffdb6110024a0018e3e7, limb2: 0x8e468869d60b7ae7fc6004bd, - limb3: 0x4916e8c2d5820861e32013a + limb3: 0x4916e8c2d5820861e32013a, }, r1a0: u384 { limb0: 0x78554bdd8568c0e9686a510e, limb1: 0x97bc0c8b458fe7d5dcf2264c, limb2: 0xfcc4906709b359120a9e0158, - limb3: 0x193f60f20d1cc7f2b1bf553c + limb3: 0x193f60f20d1cc7f2b1bf553c, }, r1a1: u384 { limb0: 0x2713699297ab49a2d9bf4f6d, limb1: 0xb396d1c4590471bf032b959c, limb2: 0x350113633de03c6e721c7597, - limb3: 0x79ef6c98d71e95eb13fae02 - } + limb3: 0x79ef6c98d71e95eb13fae02, + }, }, G2Line { r0a0: u384 { limb0: 0xb3bbccb4893a93d20a147b98, limb1: 0x5c46a12e68c1dcaf7d45545, limb2: 0xe1d3e9970b998f9ee1bfcc60, - limb3: 0xe0e611221166a37eaca4699 + limb3: 0xe0e611221166a37eaca4699, }, r0a1: u384 { limb0: 0x255f666baafad4929f87c34d, limb1: 0x1a1554e683a36d8c5359c91d, limb2: 0xb351c7146573abdf82d32baf, - limb3: 0x14bc0381e2ada56e42a08f14 + limb3: 0x14bc0381e2ada56e42a08f14, }, r1a0: u384 { limb0: 0x84b1b1e77e26467b905fa496, limb1: 0x28fdfc19e13b0752aba34749, limb2: 0xeee8045d6526734c1f95307d, - limb3: 0x1e4f12f75a3db50a60aa03e + limb3: 0x1e4f12f75a3db50a60aa03e, }, r1a1: u384 { limb0: 0xcd8114dc6e6775890632c756, limb1: 0x3c477ef68ef5ed0c85ca0a58, limb2: 0x706f9cac1acb2b71feb8358, - limb3: 0xeded7ab6bb655672cde9835 - } + limb3: 0xeded7ab6bb655672cde9835, + }, }, G2Line { r0a0: u384 { limb0: 0x6016ea652473b7f107a77710, limb1: 0xeb4242895460db86f361eac8, limb2: 0x5fe77df899b1ff5607b38de2, - limb3: 0x10efb35680805c93c2bab2ca + limb3: 0x10efb35680805c93c2bab2ca, }, r0a1: u384 { limb0: 0x9107262e5bb66980954e1a0f, limb1: 0x57ab274a8a9565abc99387cb, limb2: 0xbcd4f18d8a7e65b964541f5e, - limb3: 0xaf8d03faf1efb9183c00a2c + limb3: 0xaf8d03faf1efb9183c00a2c, }, r1a0: u384 { limb0: 0x751a66b007c730df74908a8, limb1: 0xf41cc4578874d56d020638c5, limb2: 0x5230861fde86bb685b68c62f, - limb3: 0xb5d973cfd5090cd49182b06 + limb3: 0xb5d973cfd5090cd49182b06, }, r1a1: u384 { limb0: 0x283597c889dd32a98401459a, limb1: 0xb44d0ac2827551860df4a510, limb2: 0x399fc7f05e1000db1a41c1a4, - limb3: 0xe3944c673891658df0e2ba3 - } + limb3: 0xe3944c673891658df0e2ba3, + }, }, G2Line { r0a0: u384 { limb0: 0x4396189ffbd89d01fe27fa5b, limb1: 0xe81217db1696daa3753ccd84, limb2: 0x55c6ad903c2a3e4b9f14a8da, - limb3: 0x15f5f0afe4eeb7545fb13eb0 + limb3: 0x15f5f0afe4eeb7545fb13eb0, }, r0a1: u384 { limb0: 0xd3da9931ffbf361f326b7282, limb1: 0xc9d2464eda778b0051c1027e, limb2: 0xb8f5f46e2bd5fc15d81b368a, - limb3: 0x1040f087e9a0b6633fa13692 + limb3: 0x1040f087e9a0b6633fa13692, }, r1a0: u384 { limb0: 0xf986f1a7ae6234649c858e8a, limb1: 0x4644ba4e2b6b06ac11907477, limb2: 0x95bcd96412c2b77c798589bf, - limb3: 0x122a0d20337a4865af008b55 + limb3: 0x122a0d20337a4865af008b55, }, r1a1: u384 { limb0: 0x201ad08d1e12f22740a2d61f, limb1: 0x4ec7ca2abf73f04dd4d3c1cc, limb2: 0xbe2da8c0b44af69f8c08bbe5, - limb3: 0x3bac9dd093b57980816b067 - } + limb3: 0x3bac9dd093b57980816b067, + }, }, G2Line { r0a0: u384 { limb0: 0xa91fa22e8afc80abea221520, limb1: 0x5bc71539a636bbf8ebbe74f6, limb2: 0x2922894d551b50829ba322fc, - limb3: 0x14e8b48d18e449e691aaf792 + limb3: 0x14e8b48d18e449e691aaf792, }, r0a1: u384 { limb0: 0xd260160df53ab2df298a0d4c, limb1: 0x854978d64707004860c8ebf6, limb2: 0x20a4348de1a9dd2d5347eb55, - limb3: 0x243d4a3903c17c3cc51c2e8 + limb3: 0x243d4a3903c17c3cc51c2e8, }, r1a0: u384 { limb0: 0xcd7b87ec09c28073ba10e0d1, limb1: 0xa5ab4f79373898318a3e146d, limb2: 0xe648aeb5fef1cf65d3fbd74b, - limb3: 0x2fa5e6b46df2191aabe0bef + limb3: 0x2fa5e6b46df2191aabe0bef, }, r1a1: u384 { limb0: 0x11b43fce26bc49795004ca02, limb1: 0x437fe31017f62de97ffc3e35, limb2: 0x97d41632c4cd7bb50f450ba6, - limb3: 0x9b7e59a28684bed532da137 - } + limb3: 0x9b7e59a28684bed532da137, + }, }, G2Line { r0a0: u384 { limb0: 0x4527a34a70ec377ccd63a5b2, limb1: 0x351c7771105a0a1096dd87f0, limb2: 0x57630dce3b4db45cbad696a6, - limb3: 0xf10733fed03fc5b7ae27fc4 + limb3: 0xf10733fed03fc5b7ae27fc4, }, r0a1: u384 { limb0: 0x53a208df401e3d6bf657857c, limb1: 0x306991a8af53fac94e1e9b52, limb2: 0x324634590aee6093dd239d9, - limb3: 0x855b8b1eedbf578f7498f37 + limb3: 0x855b8b1eedbf578f7498f37, }, r1a0: u384 { limb0: 0x71e5471ff515d0d4982815b6, limb1: 0x9a63281835ec15935519deca, limb2: 0x17a64faa9e7e4ab574a3f785, - limb3: 0x134b4a48f53fff9361e1952c + limb3: 0x134b4a48f53fff9361e1952c, }, r1a1: u384 { limb0: 0x56dc56f73bd268799b824fa3, limb1: 0x4180514d6004cf446a366719, limb2: 0x193a82567b226e738b11a0af, - limb3: 0x1498d7e7ad2a68346f7d2199 - } + limb3: 0x1498d7e7ad2a68346f7d2199, + }, }, G2Line { r0a0: u384 { limb0: 0x81e4894bdfaf54d49cb0c4d8, limb1: 0xeb9bf46cb3dcd89325b39d09, limb2: 0x5a8e743db320615a5a0c40cd, - limb3: 0x1850f244c5272718a19a040d + limb3: 0x1850f244c5272718a19a040d, }, r0a1: u384 { limb0: 0x857b482a44483bf0457331c7, limb1: 0xa67cfb7a4ea236dcedf6137a, limb2: 0x639d1a584ec879083798355d, - limb3: 0x14240af1c0466562ca4e24f5 + limb3: 0x14240af1c0466562ca4e24f5, }, r1a0: u384 { limb0: 0xb525edd6feb5970219a6995c, limb1: 0xb1205b041c3e38e20d2fe204, limb2: 0x8caed9ba4365ffbc1589b563, - limb3: 0xfdfce3b6d0c90f89ff5b6ff + limb3: 0xfdfce3b6d0c90f89ff5b6ff, }, r1a1: u384 { limb0: 0xf04c7ee058045bf0c52bcca9, limb1: 0x25da9c7e03f90300aa977fed, limb2: 0x5388457b2d4593b62df4c077, - limb3: 0x16cde52858fd178529b49d60 - } + limb3: 0x16cde52858fd178529b49d60, + }, }, G2Line { r0a0: u384 { limb0: 0x6c92af226aa27e2cbe8fae21, limb1: 0xbc299acce5e8da96b6b932d, limb2: 0xec46a86181ef1ff2f8317201, - limb3: 0x17900cb270764782b3eca3d2 + limb3: 0x17900cb270764782b3eca3d2, }, r0a1: u384 { limb0: 0x82358801a5440afa7826f03e, limb1: 0xd09104615d27b1dba405157c, limb2: 0xda33c37fe337917d32826e1b, - limb3: 0x1be7df7094ce56532653ce2 + limb3: 0x1be7df7094ce56532653ce2, }, r1a0: u384 { limb0: 0xd33c9c433bdeabd28a276748, limb1: 0x5dd445f6fe3bb3070cd0d395, limb2: 0x8b092b49f4fdf2a38337a44c, - limb3: 0x4e047a80a74764555b1ea3d + limb3: 0x4e047a80a74764555b1ea3d, }, r1a1: u384 { limb0: 0xd83bc84b011c607d97684972, limb1: 0x2b14aae22370badd22ec77ba, limb2: 0xd29b9c7b77c3f08055bb8a9, - limb3: 0x125b416bddff21db8d6f42ed - } + limb3: 0x125b416bddff21db8d6f42ed, + }, }, G2Line { r0a0: u384 { limb0: 0x1f7265a2588028a739940ca5, limb1: 0x1e3d7315d69b4f1540ef139b, limb2: 0xa239c997bf8c622c1716408, - limb3: 0xd9744d0ac86db4218e7e96d + limb3: 0xd9744d0ac86db4218e7e96d, }, r0a1: u384 { limb0: 0x90541dda73208a1d1eda111e, limb1: 0xd5a4dd2c69e927e6a84d8487, limb2: 0xbba86a67c752a3ce780b84ff, - limb3: 0x9a35294d76f0d15a59ad03e + limb3: 0x9a35294d76f0d15a59ad03e, }, r1a0: u384 { limb0: 0xaeae8c21bae747ea58e4eb2b, limb1: 0x22bee27e94b3df2f9e30496a, limb2: 0x3c490f390a6a3762549bdbf9, - limb3: 0x1777cd7c3048d009f9f72bea + limb3: 0x1777cd7c3048d009f9f72bea, }, r1a1: u384 { limb0: 0xec21f8b948e62cded22a7d58, limb1: 0xb8041010b7270992a963f6df, limb2: 0xbddd05cca8941058f062d094, - limb3: 0x10ad979954bdd8983ce4dfc2 - } + limb3: 0x10ad979954bdd8983ce4dfc2, + }, }, G2Line { r0a0: u384 { limb0: 0x6cf96397e7b79f2fc8c8275d, limb1: 0xfc7cd3706f331af3de61fabf, limb2: 0x78630a1ca624fae6d5770503, - limb3: 0x15ed1256df8e5e5ca95b56c8 + limb3: 0x15ed1256df8e5e5ca95b56c8, }, r0a1: u384 { limb0: 0xee76aa06cc2a711c9ed0f30e, limb1: 0xffa3eb442aaeb1342a8a3887, limb2: 0xcd5194bd83d804f9da8e5cda, - limb3: 0xf5886abb33616f07cfac605 + limb3: 0xf5886abb33616f07cfac605, }, r1a0: u384 { limb0: 0x3e0ff1e7d1f926d905c0e89f, limb1: 0x3fff1943b59d697a741845cd, limb2: 0x4e362d7df69aa3269ea5a418, - limb3: 0x13a520fad90f72497a67b697 + limb3: 0x13a520fad90f72497a67b697, }, r1a1: u384 { limb0: 0xce7bf1da23ccce53d8e13b8, limb1: 0x56957fccf1163143404a68dd, limb2: 0xd26ebbc9548a9897d0383b14, - limb3: 0x329392268b1afdd087dd27b - } + limb3: 0x329392268b1afdd087dd27b, + }, }, G2Line { r0a0: u384 { limb0: 0x8f61e98d8c6cfb102fc12599, limb1: 0x3b581910d31b036fd00d6cd, limb2: 0x960c67926f53a7c4400c36fe, - limb3: 0x1437622871bdaa8aa8f1620b + limb3: 0x1437622871bdaa8aa8f1620b, }, r0a1: u384 { limb0: 0xc06e7440dac5dc6345811f4c, limb1: 0xcfdd60e51cc453252af4fcc6, limb2: 0x756f2c0839d3582469c0b8c6, - limb3: 0x12d66e992019751bc4b8c1bb + limb3: 0x12d66e992019751bc4b8c1bb, }, r1a0: u384 { limb0: 0xb0f08516779af407c735061a, limb1: 0xaf9b916f38282785c75beb83, limb2: 0xb386d3a1dd1445469d29c602, - limb3: 0x24dbe829c015491a29896d1 + limb3: 0x24dbe829c015491a29896d1, }, r1a1: u384 { limb0: 0xac0f9105a6d03cc8551b7c70, limb1: 0x4f4b9b10e54191aae0271be0, limb2: 0x6bd62b1dce1efa964448250a, - limb3: 0x121963e40701951c40d3ccd2 - } + limb3: 0x121963e40701951c40d3ccd2, + }, }, G2Line { r0a0: u384 { limb0: 0x765ce308dd13ea9ec917f81d, limb1: 0x4c2cdefe8611811647fac337, limb2: 0x9e01fde22386755f816c125f, - limb3: 0x249a870907df1494e56fc21 + limb3: 0x249a870907df1494e56fc21, }, r0a1: u384 { limb0: 0xc3cd52b28123518842661348, limb1: 0x6678659f6f9ca9e64f594e30, limb2: 0xbdde01f23d77cc2219a64e1, - limb3: 0xa59546d0d9d0d18614e9879 + limb3: 0xa59546d0d9d0d18614e9879, }, r1a0: u384 { limb0: 0x7e7be141202ac55eb1d4a8b8, limb1: 0x22ee295a285099a1bdc85200, limb2: 0x7d274b729c40bb351c2bdd3c, - limb3: 0x105edf80625508ee7473afc3 + limb3: 0x105edf80625508ee7473afc3, }, r1a1: u384 { limb0: 0x8d19d95e92eb2f4d361b91e, limb1: 0xf6cc461a1b4bd0202cc3590b, limb2: 0x87ebac45146065b2dc8d4bde, - limb3: 0x1375f5a114849a9f8e0c3d37 - } + limb3: 0x1375f5a114849a9f8e0c3d37, + }, }, G2Line { r0a0: u384 { limb0: 0xf3f6022a346335909994d26b, limb1: 0xa2e674d9be45c130702c8393, limb2: 0xda934834c7f1f4550986c5, - limb3: 0x17170963f6200ba02d7f36db + limb3: 0x17170963f6200ba02d7f36db, }, r0a1: u384 { limb0: 0xc6bd88f8f5883c00bacb7319, limb1: 0x2865832a25d7695c70d60852, limb2: 0xd63579f3b9eb855ce78f80e0, - limb3: 0x16f67362c8cbffc3e300d83b + limb3: 0x16f67362c8cbffc3e300d83b, }, r1a0: u384 { limb0: 0xd5bef1e76085837868d52daa, limb1: 0xe17818fa8f87a1a29495c6f0, limb2: 0x33702bc5001cd8e3bab9709c, - limb3: 0x3ee9300c2e7d74b5e5774d + limb3: 0x3ee9300c2e7d74b5e5774d, }, r1a1: u384 { limb0: 0x79515359f6e9ac46c2da8b44, limb1: 0x8b1d7830cfb661bc910fe5b5, limb2: 0xa6f740bc62a497d501d49790, - limb3: 0x106645c420742d2fc191def9 - } + limb3: 0x106645c420742d2fc191def9, + }, }, G2Line { r0a0: u384 { limb0: 0x58f86bbd730aa1df76e95257, limb1: 0x3832640fbf5ff16fd5c86613, limb2: 0xaf56bfc4d589fd5479b90e9a, - limb3: 0x3ca74026cf32fba56ec4ff + limb3: 0x3ca74026cf32fba56ec4ff, }, r0a1: u384 { limb0: 0x577775e0ba37cd47da598900, limb1: 0xf402fb94e1c54fc0073a49b0, limb2: 0x2e06dce324741a7e96cd8fcc, - limb3: 0x16f491b5bd383da7e70c001 + limb3: 0x16f491b5bd383da7e70c001, }, r1a0: u384 { limb0: 0xf906737c542dde2e8b5d7bf7, limb1: 0x93d207424c8f01f866d09071, limb2: 0x7a8dc05cf5ae45304b21d8d, - limb3: 0x1d432a9b400dc09515479f5 + limb3: 0x1d432a9b400dc09515479f5, }, r1a1: u384 { limb0: 0x533a88fd57c73a7a668d47a8, limb1: 0x11cd23f02ff6e7610e1522a9, limb2: 0xbb9e0293df841db5d616e680, - limb3: 0x19f2811473fbfa9dddb16249 - } + limb3: 0x19f2811473fbfa9dddb16249, + }, }, G2Line { r0a0: u384 { limb0: 0xb84433d5bb94067c8083df37, limb1: 0x4a1c6dead6b06daaef49a331, limb2: 0xf045631520d7fcf91cd6d5bc, - limb3: 0x171679be9cc2fb7fca2ffb4b + limb3: 0x171679be9cc2fb7fca2ffb4b, }, r0a1: u384 { limb0: 0xbff0ab7bce5a89764c470c2b, limb1: 0x7c275c7485dd37e467e28e07, limb2: 0x976153708a70bd4353e49415, - limb3: 0x137b63810a42885e3d12973a + limb3: 0x137b63810a42885e3d12973a, }, r1a0: u384 { limb0: 0x33aaf9966841141dd4aeed0, limb1: 0xe937c580cfbd8a3936590a47, limb2: 0x7e2948f3ac9443871d29a3b0, - limb3: 0x17ae57245137f902685ea5f + limb3: 0x17ae57245137f902685ea5f, }, r1a1: u384 { limb0: 0xae14ce204d876228a369b45, limb1: 0x6e8aa97e94af3b53715ed047, limb2: 0x346c278c809a30daf1d01b7, - limb3: 0x22e054e6e6d8bf998a85e43 - } + limb3: 0x22e054e6e6d8bf998a85e43, + }, }, G2Line { r0a0: u384 { limb0: 0x453bf5d35812bbf0123c972a, limb1: 0x3a9bcdec2fe60921bf629abd, limb2: 0x8d4d0d00c4d2739ae3a0b176, - limb3: 0x9a76bae205af60fb63330d3 + limb3: 0x9a76bae205af60fb63330d3, }, r0a1: u384 { limb0: 0xa5e2fc320bd337a5e6bf6e59, limb1: 0x649bf53444907381a7d0f976, limb2: 0x57cfc1f1da9301aff5ef309c, - limb3: 0x79042a88c84c694ffd3fa12 + limb3: 0x79042a88c84c694ffd3fa12, }, r1a0: u384 { limb0: 0x8149e3cbfdcb7c4749e0ba73, limb1: 0x72f87f4ff2d25e09a5eae7db, limb2: 0x1d01fadf84a7202ce4489428, - limb3: 0x15652f54b134df28e3b93c7 + limb3: 0x15652f54b134df28e3b93c7, }, r1a1: u384 { limb0: 0xa1b43fd866b4d217c50e744a, limb1: 0xce197f05b592d754e8f84093, limb2: 0xbc7dc9245b7e2113d675abe4, - limb3: 0x2f8afc77fac6bc37b0c7667 - } + limb3: 0x2f8afc77fac6bc37b0c7667, + }, }, G2Line { r0a0: u384 { limb0: 0x5f799d84974b34b214204be7, limb1: 0x7e577069bef682a54f78cc32, limb2: 0x43803af2b35c7987d12eac96, - limb3: 0x3570c7ba557421c82cfaa6c + limb3: 0x3570c7ba557421c82cfaa6c, }, r0a1: u384 { limb0: 0x2aa9d33a1acddb979d7c2d2f, limb1: 0x2bb926928f20a965a10a6d22, limb2: 0x1d650b759bafd7750c78aa91, - limb3: 0xac21b07f22d3d31ceef607b + limb3: 0xac21b07f22d3d31ceef607b, }, r1a0: u384 { limb0: 0xa188a2df22f2cac6ae25fcff, limb1: 0x15f7af3ae3fe3ab80fcbf44b, limb2: 0x3cc65299b3a990d0b8f2dc21, - limb3: 0x720671ab41e616ac46a4d4 + limb3: 0x720671ab41e616ac46a4d4, }, r1a1: u384 { limb0: 0x8d5ce83450ecd58d21821d04, limb1: 0x600fb56fcdc4198005433d16, limb2: 0x60f583b87d52b7e7eae71b15, - limb3: 0xfb05f7038ebbb06ca53b3fd - } + limb3: 0xfb05f7038ebbb06ca53b3fd, + }, }, G2Line { r0a0: u384 { limb0: 0xa36890bfc74afe64e9f3840c, limb1: 0x8eeaf2f380047dfe3a21b11b, limb2: 0xeb84e8fad6b7625c837aa272, - limb3: 0x135ff64b4d73a3a2d0f886b2 + limb3: 0x135ff64b4d73a3a2d0f886b2, }, r0a1: u384 { limb0: 0x6fa3e40ac2853a97b01176dd, limb1: 0xcd16a519987e4aabf6bd8d1, limb2: 0xe4ee3c4f4c650fbfe5a0a370, - limb3: 0xcc7efdc19164223dbcb0b43 + limb3: 0xcc7efdc19164223dbcb0b43, }, r1a0: u384 { limb0: 0x9ed5597f7236b21674d039f4, limb1: 0x5cce2f4074bfb9593d07dcab, limb2: 0x1467dedd98c377f9f9b46e75, - limb3: 0x89f8ba7d879e18afda115ac + limb3: 0x89f8ba7d879e18afda115ac, }, r1a1: u384 { limb0: 0xce1eb5fb3e129849b7af9b61, limb1: 0xbb388e5edcc82d67d7e505d1, limb2: 0x37f0c598b86ce85a7ccc5e90, - limb3: 0xf3dfe35088599f2eeb97849 - } + limb3: 0xf3dfe35088599f2eeb97849, + }, }, G2Line { r0a0: u384 { limb0: 0xb1dad5dc4b347aa8cdea64f6, limb1: 0xcc2058c63fba33421acef87, limb2: 0x6671bbd574e8f23a8c33a473, - limb3: 0x173c0d3a77be26a04dc370a + limb3: 0x173c0d3a77be26a04dc370a, }, r0a1: u384 { limb0: 0x89c7ef66c7e6d4c7a5f1ee7b, limb1: 0xfa29a5dde6a8d29efb1b12b3, limb2: 0xc0f4a5b6342df0adc3da765b, - limb3: 0x154e74a84c92a5ff794fca30 + limb3: 0x154e74a84c92a5ff794fca30, }, r1a0: u384 { limb0: 0x3baf5745ddfc03d1be36473, limb1: 0x41fbbc02d24948d8a3c0efa1, limb2: 0xeba542193a176f39572880b7, - limb3: 0xba18efa42d34eea1333f2cd + limb3: 0xba18efa42d34eea1333f2cd, }, r1a1: u384 { limb0: 0x77fee73ea8d2cae877fc09bc, limb1: 0x4b28c7e9ba63b4a2a16dc3e3, limb2: 0x5ef0ade97bcf1bbd542b74c2, - limb3: 0x60c323e8930e93d6a8a8b53 - } + limb3: 0x60c323e8930e93d6a8a8b53, + }, }, G2Line { r0a0: u384 { limb0: 0xb9289920fc29c178a0728467, limb1: 0xf35e17ec8a43244f4e0efb63, limb2: 0xa46135ade487bf1a95a36590, - limb3: 0x4597ae1f4cfcdaacff3f6 + limb3: 0x4597ae1f4cfcdaacff3f6, }, r0a1: u384 { limb0: 0xe926fdfcdb55d8651b029bb7, limb1: 0x741390b7035f30b98e2dcd27, limb2: 0x697fa3901ef0c0d6f4f0693b, - limb3: 0xcc420802c358e2dedfc71d4 + limb3: 0xcc420802c358e2dedfc71d4, }, r1a0: u384 { limb0: 0x404a03b34791ba0f3fa9761, limb1: 0x50d30e7876bb541f3ef689f6, limb2: 0x7eca4b1c1a04fdc1c58f3065, - limb3: 0xa9e0b8c0194468d35c05fbd + limb3: 0xa9e0b8c0194468d35c05fbd, }, r1a1: u384 { limb0: 0xb370e739ea46b6699276bb50, limb1: 0x39805df77c609ca4cb80f044, limb2: 0x1f93a5fc91ea7ec7048f46d8, - limb3: 0x109841b0d6d23c644d831b58 - } + limb3: 0x109841b0d6d23c644d831b58, + }, }, G2Line { r0a0: u384 { limb0: 0x696c2443a8baa527eef5ec6e, limb1: 0x7c385a900f4614f62a38d2e7, limb2: 0xecef959f527ae42bb1b2a0ed, - limb3: 0x7fac72373dec09eeaf6db37 + limb3: 0x7fac72373dec09eeaf6db37, }, r0a1: u384 { limb0: 0xc84aa165d81984cbd1d40498, limb1: 0x7ef2f6d8a1b0b82a86a8aea1, limb2: 0x9f04cb828903af563a7ce955, - limb3: 0x1260f88b57dddd5bf01540db + limb3: 0x1260f88b57dddd5bf01540db, }, r1a0: u384 { limb0: 0x7d666c3a74212ecb676ee24e, limb1: 0x8ddff061953f45de2460c7ee, limb2: 0xb69a343af7532ec4af3c8894, - limb3: 0x213c5dddce502302ac58fec + limb3: 0x213c5dddce502302ac58fec, }, r1a1: u384 { limb0: 0x9b68c470206e0a6b23d993d7, limb1: 0x8e64f45ab3906177fca690b, limb2: 0x6b3ba9665c9e8cdb62669c9b, - limb3: 0x4535c1e41f9fe732b7c4780 - } + limb3: 0x4535c1e41f9fe732b7c4780, + }, }, G2Line { r0a0: u384 { limb0: 0x47796752c668f86cda3eea09, limb1: 0xabe85392bfe45c509b21188a, limb2: 0x17747fdbb10299befbd5f562, - limb3: 0x10f206ff106da3cd9621d6a7 + limb3: 0x10f206ff106da3cd9621d6a7, }, r0a1: u384 { limb0: 0x19e850771140dd110fd5f601, limb1: 0x49e65a215ab2cb29f8e19340, limb2: 0x7c583039a8252df0d94325d4, - limb3: 0xfdd46f3792b92d70b7938c8 + limb3: 0xfdd46f3792b92d70b7938c8, }, r1a0: u384 { limb0: 0x2973fb308f21f4591c6768bc, limb1: 0x7c10b3f79cbbfc0069738f2c, limb2: 0x227581522b2559c9557982fc, - limb3: 0x146f0ce0cb299800bb8186ed + limb3: 0x146f0ce0cb299800bb8186ed, }, r1a1: u384 { limb0: 0x7e45c08de7497185100c82e7, limb1: 0xf873456c3b1257743a548919, limb2: 0x4e414c1420aa0674960bf9f, - limb3: 0x12b9b73bea8424ee57b2038 - } + limb3: 0x12b9b73bea8424ee57b2038, + }, }, G2Line { r0a0: u384 { limb0: 0xf52c3a9e1924d9731f45159d, limb1: 0xb552aaa0c17ebf07b9461b81, limb2: 0x9e0e2d36095165665a56c844, - limb3: 0xdc948cfb597299725a35f46 + limb3: 0xdc948cfb597299725a35f46, }, r0a1: u384 { limb0: 0x37804446f6495b7f0eb8afe, limb1: 0x8290cde2fc690a09b1e27c3a, limb2: 0xac5737e20aed8460e392261b, - limb3: 0xcffa82f91cfb6f276a79a6 + limb3: 0xcffa82f91cfb6f276a79a6, }, r1a0: u384 { limb0: 0x13dd968a1b3c381b4b53e494, limb1: 0x231f8610c0c788da31f6a767, limb2: 0x1d90cef9842373ab0ed2113f, - limb3: 0xab763befb660bb27aeefea1 + limb3: 0xab763befb660bb27aeefea1, }, r1a1: u384 { limb0: 0xfb0924f8b0c0076931026ead, limb1: 0xc2303d081337f2117f9edd47, limb2: 0xbb530c1bf25042e905ef49b5, - limb3: 0x13cf2176e8c30a76d82031ff - } + limb3: 0x13cf2176e8c30a76d82031ff, + }, }, G2Line { r0a0: u384 { limb0: 0x14e4f467f4709129c1d6d6d7, limb1: 0x33e67ed9f2b5e1802523571, limb2: 0x3e76ea8acb143c96671cbc65, - limb3: 0x1137f470c8f7d00baa56e5c0 + limb3: 0x1137f470c8f7d00baa56e5c0, }, r0a1: u384 { limb0: 0xa2a95cfa92d0088ab1308e85, limb1: 0x85a5304db0b3422f71d7ac93, limb2: 0xbc8572953d8f42a55fe99700, - limb3: 0xf23701cea5719c6d8b0d3f3 + limb3: 0xf23701cea5719c6d8b0d3f3, }, r1a0: u384 { limb0: 0x380e418e3c32756e123587f9, limb1: 0x8a39d6b5872d774c57af0ba1, limb2: 0x11473256ad05f9eaac305647, - limb3: 0xa642f0b83f002f2b82a1d3f + limb3: 0xa642f0b83f002f2b82a1d3f, }, r1a1: u384 { limb0: 0xd5b5c903360b3614bde608b6, limb1: 0x407e2bf83df10c320c4ddafa, limb2: 0x3771cad615e4d7b5de69e962, - limb3: 0x105334af5850345d42c10c17 - } + limb3: 0x105334af5850345d42c10c17, + }, }, G2Line { r0a0: u384 { limb0: 0xcdb8e16f1b850432af115daf, limb1: 0x494ac8b75720d50e9d866f3a, limb2: 0xda7586ede3b806d6a6384fd, - limb3: 0xb859f60d04e4ff66fdfc85f + limb3: 0xb859f60d04e4ff66fdfc85f, }, r0a1: u384 { limb0: 0xe11de01127cbc1a326afb2b9, limb1: 0x6eebbbb38d51a71d3170ccd7, limb2: 0xd5cd24d22fecda4fe96bae46, - limb3: 0x101e2ac25b02edda9728dcd0 + limb3: 0x101e2ac25b02edda9728dcd0, }, r1a0: u384 { limb0: 0x71b27a86fd074f148f733377, limb1: 0x6ec32a4c65f5682adf1bb4da, limb2: 0xe8a268ef501888b89065c8ef, - limb3: 0x12f6fae4a11b2f7bae3b371a + limb3: 0x12f6fae4a11b2f7bae3b371a, }, r1a1: u384 { limb0: 0x925f04ea98dc22979ea69c0c, limb1: 0x7778ab2882af9fc10adda60f, limb2: 0x31b791ebfc10de4e0843db89, - limb3: 0x1884eaeeb4127c15465bd473 - } + limb3: 0x1884eaeeb4127c15465bd473, + }, }, G2Line { r0a0: u384 { limb0: 0xe8ab375f9e79671f77c33b38, limb1: 0x32c9317a9c538a1808d10350, limb2: 0x39b7c7695d2524211d5341f3, - limb3: 0x373d7203575fda92e7b4b02 + limb3: 0x373d7203575fda92e7b4b02, }, r0a1: u384 { limb0: 0x54a74ef22bb2c45a0f0992be, limb1: 0xe9d5746328bce07da2a04f41, limb2: 0xf657d148ed56fbf731787b28, - limb3: 0x7b03ee28e327f04166f5075 + limb3: 0x7b03ee28e327f04166f5075, }, r1a0: u384 { limb0: 0x754ae620f48dd7de6afcbb5b, limb1: 0x488b7b5de47bfe76c7d7f1ce, limb2: 0x5a2e05b269b38310ba8b4159, - limb3: 0x41965ba496910c39d2c8167 + limb3: 0x41965ba496910c39d2c8167, }, r1a1: u384 { limb0: 0xe544c97bb363e3619c50c630, limb1: 0x7fec53ec738123389016bbf, limb2: 0xb12f6ffb0998373cb04be875, - limb3: 0x4bf5cef5067781b9809ec64 - } + limb3: 0x4bf5cef5067781b9809ec64, + }, }, G2Line { r0a0: u384 { limb0: 0xee52fdd902c0488821edf979, limb1: 0x895d9ff17f5d04d1515dbb15, limb2: 0xda20231af600be908c9165c9, - limb3: 0xa88fa0e247a85049196ed0e + limb3: 0xa88fa0e247a85049196ed0e, }, r0a1: u384 { limb0: 0x1014f46d465b15781593a14d, limb1: 0xfde315a447ebeb1e31f0c737, limb2: 0xc264e73bcfcf21a95860cb90, - limb3: 0xa404fe10b300ee8062a4278 + limb3: 0xa404fe10b300ee8062a4278, }, r1a0: u384 { limb0: 0xde6e165032d17e0a1dd355b, limb1: 0x9ece35a48b0dac3133bcb2ed, limb2: 0x1dd3ea819651f9fffd805b91, - limb3: 0x2c3ab75a45f0062b01b25b5 + limb3: 0x2c3ab75a45f0062b01b25b5, }, r1a1: u384 { limb0: 0x1d435750c14e60fcffc44b18, limb1: 0x781f841326b5c6cd532ff483, limb2: 0x5bdc193e27d8e3050ed4a070, - limb3: 0x5865e1a9f5de7c0a57062e0 - } + limb3: 0x5865e1a9f5de7c0a57062e0, + }, }, G2Line { r0a0: u384 { limb0: 0x4d2b6e4cdcfd83a0692003b0, limb1: 0x41629374ff0d1ac17362c794, limb2: 0x18b16faf0521c1c5a11c3523, - limb3: 0x18b70eb629a79ff3f9834985 + limb3: 0x18b70eb629a79ff3f9834985, }, r0a1: u384 { limb0: 0xf6dd615a649c30b33d8b88ac, limb1: 0x526f609b923d7ba3b37b63c, limb2: 0x4289133e7279c670978cd569, - limb3: 0x11fa0abe9f21dc673b14d917 + limb3: 0x11fa0abe9f21dc673b14d917, }, r1a0: u384 { limb0: 0x7f14d726cf9a27a8c970bb68, limb1: 0xe380e6b07cde1eb0fffd95e6, limb2: 0x2c5722bd0e114b506bddd89a, - limb3: 0xd3fb948d9f8e2c898c1b3c + limb3: 0xd3fb948d9f8e2c898c1b3c, }, r1a1: u384 { limb0: 0x86aed9389c52f71bde01a5e0, limb1: 0x4c6baca3b4494d3a4a88343a, limb2: 0xe1083c4faf04588a29999bbc, - limb3: 0xcddd31531e910375fb212ff - } + limb3: 0xcddd31531e910375fb212ff, + }, }, G2Line { r0a0: u384 { limb0: 0x203fe85e2836c465e4db22af, limb1: 0xe308a1ed6dee139d030e8922, limb2: 0xc7908b59711d8544aa16934d, - limb3: 0xf2b561c5d125edf292a426b + limb3: 0xf2b561c5d125edf292a426b, }, r0a1: u384 { limb0: 0xdb11824ffa56d8b1596236ef, limb1: 0x2dba53ae227809d06646c213, limb2: 0xeb2f93a64e027c5e4973d8ae, - limb3: 0x70e748d64796b96d4704120 + limb3: 0x70e748d64796b96d4704120, }, r1a0: u384 { limb0: 0x651d82f84f2464b4da2dfaa5, limb1: 0x122eee1f6190b4da0deaaec, limb2: 0xa3f6869c83d36b0ad97eb0d3, - limb3: 0xc58ccf6806e87f189fcbb0a + limb3: 0xc58ccf6806e87f189fcbb0a, }, r1a1: u384 { limb0: 0x648157de5d81daa67c476971, limb1: 0x2845a24d3190c4fecbde2fa4, limb2: 0x72f924eac3a8d2c228a8b082, - limb3: 0x13673079ebcf601a5d5fae92 - } + limb3: 0x13673079ebcf601a5d5fae92, + }, }, G2Line { r0a0: u384 { limb0: 0x2d6310ed50636162786d1b75, limb1: 0x5cac54906e73bae3b4359998, limb2: 0xbd428c9c44f9a83980265ddd, - limb3: 0x2fc21e36ad4d0da0a00add9 + limb3: 0x2fc21e36ad4d0da0a00add9, }, r0a1: u384 { limb0: 0x80e8a4f63bb295c1f909c9f8, limb1: 0x76045a0b6f715c18ef69c37a, limb2: 0x8e2d6c8495568d22744ab3f3, - limb3: 0x2b70c4ecc512e5b7a263f20 + limb3: 0x2b70c4ecc512e5b7a263f20, }, r1a0: u384 { limb0: 0x74f73dffd0f8db5344a575d1, limb1: 0x8e6d3150c6b50fb0f30b8d42, limb2: 0x1caf7885c868849e8e700707, - limb3: 0x130fa43ef7b10a6b7c72a4af + limb3: 0x130fa43ef7b10a6b7c72a4af, }, r1a1: u384 { limb0: 0x1cd953b2a94a0b0460118689, limb1: 0x5c361d5ff78164edfe007331, limb2: 0x61315250d28c9b99d174dab6, - limb3: 0x252277581829378760d4033 - } + limb3: 0x252277581829378760d4033, + }, }, G2Line { r0a0: u384 { limb0: 0xf48b3d5c545dde843e9509d9, limb1: 0xec087b6dc32d167683bbc860, limb2: 0xecfa5e40ea40c9452bcaf0c9, - limb3: 0x1040fd02b48b11b85d471c89 + limb3: 0x1040fd02b48b11b85d471c89, }, r0a1: u384 { limb0: 0x4fcc4443458e23010506f346, limb1: 0x6c4848e26b5d994f5bc3e72e, limb2: 0xfe88288f9e882ff4e9a375b9, - limb3: 0x164597b0f78ad70a7b4bc1be + limb3: 0x164597b0f78ad70a7b4bc1be, }, r1a0: u384 { limb0: 0x755828105bc1eba4198f7dd7, limb1: 0x6eae5a58a81935ddf455bd6, limb2: 0x6240aac72233651a6dfb3db5, - limb3: 0xb4497d73d44dff355f96fc3 + limb3: 0xb4497d73d44dff355f96fc3, }, r1a1: u384 { limb0: 0xe9e516384450aed995eae178, limb1: 0xb13053f758b857a1479bef06, limb2: 0xb18ba337770920df12a72642, - limb3: 0x121a732dec2700ebe307b235 - } + limb3: 0x121a732dec2700ebe307b235, + }, }, G2Line { r0a0: u384 { limb0: 0xf313b674fee5c83040549617, limb1: 0x864b49b4b96dc11dcb31a6b2, limb2: 0x7afa88358fa085d4db1d9e6f, - limb3: 0x10b916005fc2476498beed41 + limb3: 0x10b916005fc2476498beed41, }, r0a1: u384 { limb0: 0xa5f1bacd2bc2f38d4e1a34d, limb1: 0x45d1d4d76b0b03b8d7da125b, limb2: 0x74a0ba0ae49290dd243bdc61, - limb3: 0x185827ff9e3c833ac46e1e16 + limb3: 0x185827ff9e3c833ac46e1e16, }, r1a0: u384 { limb0: 0xffae650825626bdffd8ed424, limb1: 0x126a57866536ac1d0b34b17b, limb2: 0x517ba3e3b50188d25dc23dc8, - limb3: 0x1276dc74f1b2a7173802ff0f + limb3: 0x1276dc74f1b2a7173802ff0f, }, r1a1: u384 { limb0: 0xa73951cadbaab9fe957c0fed, limb1: 0xa232a5178de78c8f681635e5, limb2: 0x30adf5deb8ee4da1fcc053b2, - limb3: 0xd840dfc0aae66492a176a2e - } + limb3: 0xd840dfc0aae66492a176a2e, + }, }, G2Line { r0a0: u384 { limb0: 0xbec850cf3cae0ae894430855, limb1: 0x471169ffbfc02b7ee8b53c48, limb2: 0xf24c8150520d1054b6fc8530, - limb3: 0x2627371854bd7fa799b809f + limb3: 0x2627371854bd7fa799b809f, }, r0a1: u384 { limb0: 0xbdc8b09d11fbd315b7aa7980, limb1: 0x2f2fcf7338f1747f606b3a25, limb2: 0x27fb2eb96b07297a58fabfe6, - limb3: 0x111b90bded70421c6543f89a + limb3: 0x111b90bded70421c6543f89a, }, r1a0: u384 { limb0: 0xfdb1c553460611b281b896a7, limb1: 0x9e417f1af210f3a016ad9c83, limb2: 0x5908b9614188572d05b39a67, - limb3: 0x16f5fc4c7d6ca25189a5da6 + limb3: 0x16f5fc4c7d6ca25189a5da6, }, r1a1: u384 { limb0: 0xf515c6bd1b302886cb3cb5fb, limb1: 0x6357aa94ce3eecae26fc87a3, limb2: 0x66f86efa4a89422f8fa42672, - limb3: 0x131a1613cd2ea3831b5cdcfe - } + limb3: 0x131a1613cd2ea3831b5cdcfe, + }, }, G2Line { r0a0: u384 { limb0: 0x3ce32e18da41a2016fbf41b1, limb1: 0xda3e0d01e0bbb52a301585cf, limb2: 0xaf508b2248a1fe6ffc5d18d0, - limb3: 0x1274aa625858db0bb675b3bf + limb3: 0x1274aa625858db0bb675b3bf, }, r0a1: u384 { limb0: 0x4cbc0be362614fff6f6d4898, limb1: 0xdf8603dfa938bc22d0aa98e, limb2: 0xaf3784151a3a1a7585c177cf, - limb3: 0xcd9b76612194b440cbd9c67 + limb3: 0xcd9b76612194b440cbd9c67, }, r1a0: u384 { limb0: 0x93de5b0d4ce155335ed8a6ff, limb1: 0x9dc6c21cddb15edd7f401cc4, limb2: 0x2601d5b08d144c3608181a8f, - limb3: 0x872d334a6e81b6937f7580f + limb3: 0x872d334a6e81b6937f7580f, }, r1a1: u384 { limb0: 0xa90ea56305b0b457ffd7dfd9, limb1: 0x3fd7486324393fe073a67746, limb2: 0x22aaac8be67217e0e49366ff, - limb3: 0xdc78f4f3c40b0984ec316e - } + limb3: 0xdc78f4f3c40b0984ec316e, + }, }, G2Line { r0a0: u384 { limb0: 0x32410e4bdcd6030081ee0117, limb1: 0x9711111255797439f6866cb6, limb2: 0x8a1650034dda2434eadb9c77, - limb3: 0x13f6a882a25deeaef4bbe62d + limb3: 0x13f6a882a25deeaef4bbe62d, }, r0a1: u384 { limb0: 0xcc47fc627ad939824b8320f1, limb1: 0x3f1cb2532c6db9d1abc737e4, limb2: 0x4883356c3277f2df6283a2ab, - limb3: 0x11e02397acfe9612a98a14f9 + limb3: 0x11e02397acfe9612a98a14f9, }, r1a0: u384 { limb0: 0x1588bd50c2f4f5c5ebbe62bd, limb1: 0x87a259e41ba48ccad1a07c48, limb2: 0xb22b4f666071523b8a172736, - limb3: 0x96f9baf300ca7342721fd8e + limb3: 0x96f9baf300ca7342721fd8e, }, r1a1: u384 { limb0: 0xf0c2d5fba2f156c3f26673ef, limb1: 0x71558132bb663713ad20817f, limb2: 0xb07619c97cbceccc4c0fb256, - limb3: 0x13ed85faec0618c507d395a1 - } + limb3: 0x13ed85faec0618c507d395a1, + }, }, G2Line { r0a0: u384 { limb0: 0x35a50965750c7716c237772d, limb1: 0xe96b0c22d39fbbbe7f55d6bc, limb2: 0x40864a9ec51fc3fceddf7498, - limb3: 0x232f7c41bf2d0ca9a4a6560 + limb3: 0x232f7c41bf2d0ca9a4a6560, }, r0a1: u384 { limb0: 0xebd5d6880bc93e525c5283bd, limb1: 0x911e6efcf7cc8f0983f3a122, limb2: 0xeb2d53ffa24eaa0527809305, - limb3: 0x126b7366a9ba4cdc1648b905 + limb3: 0x126b7366a9ba4cdc1648b905, }, r1a0: u384 { limb0: 0xd7789f5359bb3bd4b674719b, limb1: 0xecaa3bff242dc5a63ed57279, limb2: 0x85e8faaf82c119cc47bdfe4d, - limb3: 0x1042198c5b912b48953f03ee + limb3: 0x1042198c5b912b48953f03ee, }, r1a1: u384 { limb0: 0x52c926fe4d73775c8dcc54b9, limb1: 0x56410c723b730b245d2639ae, limb2: 0xe6b9bc3d2b2a15155d82e48f, - limb3: 0x11772d7a9fa0b3530a88bfa - } + limb3: 0x11772d7a9fa0b3530a88bfa, + }, }, G2Line { r0a0: u384 { limb0: 0x62a31df1dfbbec432d547277, limb1: 0xafbad67ab615bf2d350b1688, limb2: 0x1f5843187c62f057fcb3c202, - limb3: 0x2cd9ff07b37d472a54a7189 + limb3: 0x2cd9ff07b37d472a54a7189, }, r0a1: u384 { limb0: 0xfd689866343571218470d805, limb1: 0x94b9219861e6e367cfd9d27b, limb2: 0x5937c015c497d2c235302c66, - limb3: 0xfdf7276579ca6fa0076c8a9 + limb3: 0xfdf7276579ca6fa0076c8a9, }, r1a0: u384 { limb0: 0xcc39c0acfde5d2338853dbb6, limb1: 0x4d33a9fe71565a4342df96fd, limb2: 0xf1c085869a954cb4994a6d7a, - limb3: 0x993491756f5c241452a5dd8 + limb3: 0x993491756f5c241452a5dd8, }, r1a1: u384 { limb0: 0x59049f9dae7a7044e79531ad, limb1: 0x1b01d078a53d321ef18d7b49, limb2: 0x81acaa38fb3196010e594ce1, - limb3: 0x12c347a131f6b1191d4b563f - } + limb3: 0x12c347a131f6b1191d4b563f, + }, }, G2Line { r0a0: u384 { limb0: 0x90b1d3aaedd7ae3ae5ef62ec, limb1: 0x9c2237332a12d63f617991e0, limb2: 0x88f758a89df448c1dd45282d, - limb3: 0x3c52126f27d2dd758ab0770 + limb3: 0x3c52126f27d2dd758ab0770, }, r0a1: u384 { limb0: 0x8bf85f2a28b11ffbcc48f29d, limb1: 0xb79fc38b4398e2af5a4ac3f4, limb2: 0x877b0d7e053d12f91fa49c91, - limb3: 0x19ee364564c01cbdf0bd4257 + limb3: 0x19ee364564c01cbdf0bd4257, }, r1a0: u384 { limb0: 0xfbe824718174525ae3cbf681, limb1: 0xb434f93ab3f012e5c5fab625, limb2: 0xfaaa0bb2878017e90fb07ac6, - limb3: 0x616944a1484a78b2946360a + limb3: 0x616944a1484a78b2946360a, }, r1a1: u384 { limb0: 0x84c489abf936bfadd293c732, limb1: 0xaa7ca8e76a07f14d2a712245, limb2: 0xef338c44111cd8f2538f16e0, - limb3: 0x2f06c9cef716ae3e32a1bd1 - } + limb3: 0x2f06c9cef716ae3e32a1bd1, + }, }, G2Line { r0a0: u384 { limb0: 0xa31fe2909d2e70ef0eed8a97, limb1: 0x7cd66cae105a1a65a0469bb5, limb2: 0x57c0d04a99e4fdd24818d48d, - limb3: 0xf143a86d061937bfc43197a + limb3: 0xf143a86d061937bfc43197a, }, r0a1: u384 { limb0: 0xef3417fc2e604cb1afd28f22, limb1: 0xc03449a2171f0466673fe015, limb2: 0xb9e650989501677fe2bf4b6c, - limb3: 0x1a45a939634b50313d5b551 + limb3: 0x1a45a939634b50313d5b551, }, r1a0: u384 { limb0: 0xc7a854c7a9f5c64683ace9b0, limb1: 0xc0d2319347b83f932d66c058, limb2: 0x7a12cc7266442611728385d8, - limb3: 0xfc3c7544bdb8ce9030892a9 + limb3: 0xfc3c7544bdb8ce9030892a9, }, r1a1: u384 { limb0: 0x9adf18823ca540f0e6bf7f36, limb1: 0xa5a5ea82ecc4affdc735afce, limb2: 0x84c176ba131be177ad7d141b, - limb3: 0xbb932dd6da950ed35007f86 - } + limb3: 0xbb932dd6da950ed35007f86, + }, }, G2Line { r0a0: u384 { limb0: 0x49369971c3fc33245bb7b9cb, limb1: 0xce9896e5addb637375420be1, limb2: 0x7d4c97a8e9d64c41cf2dffa1, - limb3: 0x287b1e39767a3c2d102a825 + limb3: 0x287b1e39767a3c2d102a825, }, r0a1: u384 { limb0: 0x6f6e6c10c2da68b535025ac5, limb1: 0x9b6128f5e000427659557e1, limb2: 0xba4e1537236425a49e10a76b, - limb3: 0xdccc3a8b263abdc2c1112a2 + limb3: 0xdccc3a8b263abdc2c1112a2, }, r1a0: u384 { limb0: 0xf0f26fb9d99f34211c52ec21, limb1: 0xb091a74cf88bb5563ee29bd1, limb2: 0xb1a3c0e6479e60ec2bf5e312, - limb3: 0x6ea612bf02bd6df77f7af9a + limb3: 0x6ea612bf02bd6df77f7af9a, }, r1a1: u384 { limb0: 0x773745b51d209d3643ac70f3, limb1: 0xb837418d0188d5d41911d38c, limb2: 0xae750841ca68ec61dd2fac9a, - limb3: 0x9b4aec971d45aee69870aa6 - } + limb3: 0x9b4aec971d45aee69870aa6, + }, }, G2Line { r0a0: u384 { limb0: 0x34fc38759fef61effd88d5eb, limb1: 0x145b73bdd49f8b9841131ec5, limb2: 0x5b032e13495cad2de8fc511d, - limb3: 0x14a5c34da7fefd80bfd917bf + limb3: 0x14a5c34da7fefd80bfd917bf, }, r0a1: u384 { limb0: 0x7289910ae15b593b5d0fe9ef, limb1: 0x321eb1200e5c9d49765ad730, limb2: 0x7fbf84b5e04d1a87072209ff, - limb3: 0x120c78a1a8543136a69d721f + limb3: 0x120c78a1a8543136a69d721f, }, r1a0: u384 { limb0: 0x7b91d266ea9310fa2b902bf3, limb1: 0xc3c6f100aa36d1105c43d928, limb2: 0xcd92532364b0794355ab6fc5, - limb3: 0x3e83fd62b6b3aecc9dee3cb + limb3: 0x3e83fd62b6b3aecc9dee3cb, }, r1a1: u384 { limb0: 0xdbfa72bf64242d0e4130bab1, limb1: 0xbba2b4aa87acd80bda65c1ff, limb2: 0x53c0d1281064d6d42f3ca6e5, - limb3: 0x7538323c443e424ba2139a2 - } + limb3: 0x7538323c443e424ba2139a2, + }, }, G2Line { r0a0: u384 { limb0: 0x9658e94dff575b044fd12535, limb1: 0x9e633711f24267eeff96b84c, limb2: 0xd09be055097f3f4285b74b29, - limb3: 0xeba32ca0fdf04b16e700d02 + limb3: 0xeba32ca0fdf04b16e700d02, }, r0a1: u384 { limb0: 0xdac31a776bf2f2a7eb8d07b1, limb1: 0x99ff3b68fe53867aeee330e, limb2: 0xfc016b0e19f5a9dafe6150af, - limb3: 0x1853f7c388088cef95618ee7 + limb3: 0x1853f7c388088cef95618ee7, }, r1a0: u384 { limb0: 0x25afd3c9e43a6bd85d8f83da, limb1: 0x6636bcf8f7c4ffb03262b3ad, limb2: 0xfab2ea835f15ffa64289aee0, - limb3: 0x19a40512a2bc92b145d4a15f + limb3: 0x19a40512a2bc92b145d4a15f, }, r1a1: u384 { limb0: 0x457e5f8262a3fb1f68e2ee64, limb1: 0x2c8e29f8273ba32411548171, limb2: 0x6b7ec622d4cf5c7605c02c7f, - limb3: 0x16d592d1bda21aa16790c116 - } + limb3: 0x16d592d1bda21aa16790c116, + }, }, G2Line { r0a0: u384 { limb0: 0x418f88c2ec9095086a11212, limb1: 0x9bbb92abebe257d874d88812, limb2: 0xef0f443e07ba39689c54a875, - limb3: 0x15190f05d2854f4f23244780 + limb3: 0x15190f05d2854f4f23244780, }, r0a1: u384 { limb0: 0x73562c95a5ced7285783ea44, limb1: 0xebc6a876c7f862dd940990a4, limb2: 0x806ab610b9ba3826809481f9, - limb3: 0xd738e6b4748294d2ef71b46 + limb3: 0xd738e6b4748294d2ef71b46, }, r1a0: u384 { limb0: 0x2f88f9cb9b43366fca45401c, limb1: 0x981bc3797c4e9ed2343a8465, limb2: 0x10f951c9ceda971d01120a50, - limb3: 0x197593f4646346745cba98ce + limb3: 0x197593f4646346745cba98ce, }, r1a1: u384 { limb0: 0x6352dd6f1f276ebd12e36438, limb1: 0xbc94e96354513cd65cbb7831, limb2: 0x63f9809778a9e5a3a14bd9c6, - limb3: 0x12399967b752e1ae762754b4 - } + limb3: 0x12399967b752e1ae762754b4, + }, }, G2Line { r0a0: u384 { limb0: 0x1393c1940f25665663934fc8, limb1: 0xea7d0b2339e762ea1d7417bc, limb2: 0x38e8c939bcfc597914fa0bc4, - limb3: 0x10e5f821e745ef290f773399 + limb3: 0x10e5f821e745ef290f773399, }, r0a1: u384 { limb0: 0x3fb68057499c7406aa1ace48, limb1: 0x41257c93b17f3e38108e6f37, limb2: 0x6e97eb8687dab2a2a640c57f, - limb3: 0x14df29fafe098da44c7fd33 + limb3: 0x14df29fafe098da44c7fd33, }, r1a0: u384 { limb0: 0x59456b76c2b8257a9ee80887, limb1: 0xb92657cb2cd74cfb0e2e2af8, limb2: 0x74366a9ca17b733790bace94, - limb3: 0x18a62b6be3320f12ef9121ed + limb3: 0x18a62b6be3320f12ef9121ed, }, r1a1: u384 { limb0: 0xd05f8b04255c124be737ddfb, limb1: 0xcaf73bd136dd217b40f1b669, limb2: 0xda811888424a2ec800ca2f97, - limb3: 0x157c5205e1188acb79fbef71 - } + limb3: 0x157c5205e1188acb79fbef71, + }, }, G2Line { r0a0: u384 { limb0: 0x8b374dcb293da523769439f3, limb1: 0x2fa24f2a394fefc00be6551e, limb2: 0x5b56b235703e81f9581fb812, - limb3: 0xa510fba0090ee3f2da90e03 + limb3: 0xa510fba0090ee3f2da90e03, }, r0a1: u384 { limb0: 0x4c287e611b512a841d227d6c, limb1: 0xb311b662d2c9a4106ab64890, limb2: 0x3f74ad8a1056c7ee37f181a, - limb3: 0x387ccbb5fd44513ebd1364a + limb3: 0x387ccbb5fd44513ebd1364a, }, r1a0: u384 { limb0: 0x238250f751fe359ea48e6612, limb1: 0x48d78fe66c255cda27a7797a, limb2: 0x270135167f0b9910bbe997c5, - limb3: 0x13f053dabc35bea274b5dac0 + limb3: 0x13f053dabc35bea274b5dac0, }, r1a1: u384 { limb0: 0xb7350395e2c37b4d15be0abf, limb1: 0x578ec20dcde4919879af4f9, limb2: 0xebdad8f8ae78030cf33a9584, - limb3: 0x214f9275dbd80c3514f9cad - } + limb3: 0x214f9275dbd80c3514f9cad, + }, }, G2Line { r0a0: u384 { limb0: 0x54863ab6d50bc9ff4874b6e6, limb1: 0x937c0d4560eae2eee4b7ce1e, limb2: 0x337805ebca15d19f40277942, - limb3: 0x10ff70c91cbb8869a0659bf2 + limb3: 0x10ff70c91cbb8869a0659bf2, }, r0a1: u384 { limb0: 0x7b3cfe640c29faece9a85e53, limb1: 0xcddbe3decddda92adfd9039a, limb2: 0x42f145b0f85554ee195ae299, - limb3: 0x1951ff3142b9a208e5e69e59 + limb3: 0x1951ff3142b9a208e5e69e59, }, r1a0: u384 { limb0: 0x94a7ee20add6c18015e26733, limb1: 0xd0f2a6ab15fefff1caa7366a, limb2: 0x9c055a1d93c3f27e46d0b3da, - limb3: 0x60f554e35125b7f5d7aac8b + limb3: 0x60f554e35125b7f5d7aac8b, }, r1a1: u384 { limb0: 0xd92e5b001022ee7874cbebeb, limb1: 0x4aed0fd23b92aebc139f77db, limb2: 0xd2bca1fe5ad39a274c9dfeec, - limb3: 0xcfab0e5b8e8d7c7a8765b15 - } + limb3: 0xcfab0e5b8e8d7c7a8765b15, + }, }, G2Line { r0a0: u384 { limb0: 0x13f5a17e28b8aeda870323da, limb1: 0x337d2b7adfbf1364a8611853, limb2: 0xa8dd9b2b05f3350a8569d92c, - limb3: 0xddc998d17c49e6381aa6256 + limb3: 0xddc998d17c49e6381aa6256, }, r0a1: u384 { limb0: 0xde207fd9d271001c6efb9576, limb1: 0x6c856b0c104190652dfdd937, limb2: 0x80feca357961f12e69a3a05d, - limb3: 0x2595adff1024c23c63dec73 + limb3: 0x2595adff1024c23c63dec73, }, r1a0: u384 { limb0: 0xd7040b7ee5b45a1422495780, limb1: 0x13f3e065ea119be3775d97ed, limb2: 0xeecf7ac81f371c5e390f85ec, - limb3: 0x1047da85dc9dba631527134c + limb3: 0x1047da85dc9dba631527134c, }, r1a1: u384 { limb0: 0x7017211aee3c7150478d96ee, limb1: 0x8c7564a3a9ef6bfd96289765, limb2: 0x6df1f2b21ce6b08419e214c, - limb3: 0xa4e778d427042d100d7ae3e - } + limb3: 0xa4e778d427042d100d7ae3e, + }, }, G2Line { r0a0: u384 { limb0: 0x21805f763874894483dc214c, limb1: 0x2c02b4ccd505fbbb8d8bd064, limb2: 0xe32a1465866e01898f1f3b14, - limb3: 0x15d2f6b35415870ddc7054f2 + limb3: 0x15d2f6b35415870ddc7054f2, }, r0a1: u384 { limb0: 0xf6749d4bc9865ee9e261110a, limb1: 0x81c4e72fdd8802ef73ab15ef, limb2: 0xb89ca852d2ba8b3590cd5301, - limb3: 0x183abed5b2d1d128fa596426 + limb3: 0x183abed5b2d1d128fa596426, }, r1a0: u384 { limb0: 0xf71ebb04aab85e83aec862c0, limb1: 0xf473b3e5a56fd96d60f8a264, limb2: 0x3e4b66f8493911a4a00afa1e, - limb3: 0x12be1dc90541ee9c7cb4fa59 + limb3: 0x12be1dc90541ee9c7cb4fa59, }, r1a1: u384 { limb0: 0xba5f7a9ccd0748c2fa4e54c8, limb1: 0x1640f7800984bafe7fa1a76d, limb2: 0x48e76aab062b19911f92bcd, - limb3: 0x72cecd9e5c7c437cbbc1e4a - } + limb3: 0x72cecd9e5c7c437cbbc1e4a, + }, }, G2Line { r0a0: u384 { limb0: 0xdf166caff55624c628e9c39d, limb1: 0x375583a43ba61cf4f2aadb7, limb2: 0xf0d0784be04235e91497af3a, - limb3: 0x144cf709d68b63a9939bcd7f + limb3: 0x144cf709d68b63a9939bcd7f, }, r0a1: u384 { limb0: 0x9b47104ec1159ac61ff360a, limb1: 0xfa833b0d43df77cd013e21cb, limb2: 0xcad1fb67c8db4e6c39d8bd59, - limb3: 0x10e847c87beb83adb8a5feb + limb3: 0x10e847c87beb83adb8a5feb, }, r1a0: u384 { limb0: 0xb1fd17f45af8d452043abc61, limb1: 0xcae758a71dc8e5d49f433bca, limb2: 0xf97f2de839369b6c827e9eeb, - limb3: 0x2e3050a5cb33641e4b5f617 + limb3: 0x2e3050a5cb33641e4b5f617, }, r1a1: u384 { limb0: 0x71666e0e514a3e5352f26d8a, limb1: 0x46273d30eb76103fb756a8fe, limb2: 0x8bdb306ed674d669da0ac3b8, - limb3: 0xf6c2f57d5d282ff86ccd9a6 - } + limb3: 0xf6c2f57d5d282ff86ccd9a6, + }, }, G2Line { r0a0: u384 { limb0: 0x1f078a90be515d55a39025dd, limb1: 0xa69e73a9a0f2894ad32c28d8, limb2: 0x406d92af351a91a43b294110, - limb3: 0xab36c91eeeaabb24820b390 + limb3: 0xab36c91eeeaabb24820b390, }, r0a1: u384 { limb0: 0x873b5a72e8ea0e7d255b970a, limb1: 0xf64973cbec18695bfc945495, limb2: 0x533e34319846e866ad7ddd36, - limb3: 0x1029fa62305109a4d20176b9 + limb3: 0x1029fa62305109a4d20176b9, }, r1a0: u384 { limb0: 0x429cba0cb76b0c492577722a, limb1: 0x771bc089fee5e3632dbffa1a, limb2: 0xa7c64b6f38e532de16959d0d, - limb3: 0xf38b71fb4269dd2e038223a + limb3: 0xf38b71fb4269dd2e038223a, }, r1a1: u384 { limb0: 0xddc796c5033428b0b8111c4f, limb1: 0x60ad337fb316c52ef8de0b21, limb2: 0x951808daa18d3ec520bd6279, - limb3: 0x3455cf600b5f6c549f38f14 - } + limb3: 0x3455cf600b5f6c549f38f14, + }, }, G2Line { r0a0: u384 { limb0: 0x3c9e33deec176793b8c762c5, limb1: 0xcdd0e402436d39a6117033db, limb2: 0x30c585d12e787c8be912d406, - limb3: 0xf298f9a8c4459a08f210e47 + limb3: 0xf298f9a8c4459a08f210e47, }, r0a1: u384 { limb0: 0x170c6ad3a877e65fe91c69db, limb1: 0xa41f211a3763ffcdb9eb1e9b, limb2: 0xb84a114f23f1978d9ebd06a4, - limb3: 0x60bac8f5945907e791dfcda + limb3: 0x60bac8f5945907e791dfcda, }, r1a0: u384 { limb0: 0x354e5a1eec75069b04ac0541, limb1: 0x91be6e4159dcb28c19a4e3e2, limb2: 0xfd452118a540f6f88b01e089, - limb3: 0x12b2b6a5dda55d157e1f8b + limb3: 0x12b2b6a5dda55d157e1f8b, }, r1a1: u384 { limb0: 0xe47f5498f54067daeffa00b8, limb1: 0xbccfe6edd60b7ef921ce57a1, limb2: 0xd917099499398bfacccaba05, - limb3: 0xbb67b42bd655fa485081a90 - } + limb3: 0xbb67b42bd655fa485081a90, + }, }, G2Line { r0a0: u384 { limb0: 0x8deb02d48f2ee3be7ae899ed, limb1: 0x4b66f01a40c86e83fded6847, limb2: 0x9c08bb4fe0abcaefc921a40, - limb3: 0x8bda1d762c986632aeaca1e + limb3: 0x8bda1d762c986632aeaca1e, }, r0a1: u384 { limb0: 0x72be08cacb4795f5ddd8497f, limb1: 0xfaddee2a55b5154b35e26966, limb2: 0x7c67f5884f061f219cb8ff55, - limb3: 0x6d4fe75b0153bdec12dba82 + limb3: 0x6d4fe75b0153bdec12dba82, }, r1a0: u384 { limb0: 0xc235fffbfefdf8e9ef54d2bc, limb1: 0x6581ebd151a1e73c53b163cb, limb2: 0xf60ffd0dd3608c742fba7902, - limb3: 0xe9437af3be8b35cbae1f171 + limb3: 0xe9437af3be8b35cbae1f171, }, r1a1: u384 { limb0: 0xdb98cff46b3033365ae5b731, limb1: 0x19f3ec2adf9517d4533cdf7c, limb2: 0xa60fbca3376090bf8f17f4b9, - limb3: 0x169bff5211482ee5e64f50ae - } + limb3: 0x169bff5211482ee5e64f50ae, + }, }, G2Line { r0a0: u384 { limb0: 0x2dac7db08633bccae086b486, limb1: 0x89b8e12695d31ec21d7bc0f0, limb2: 0xb6b895ef82cd3e31f6f0cc3f, - limb3: 0x2785eedc1bcd70ba4ebd308 + limb3: 0x2785eedc1bcd70ba4ebd308, }, r0a1: u384 { limb0: 0x8a0217a58db8f5cb124445ec, limb1: 0xae392df0fd76493bd2ded923, limb2: 0x73881097a5c82a443ee9e130, - limb3: 0x145337977ac0a11a17f3345 + limb3: 0x145337977ac0a11a17f3345, }, r1a0: u384 { limb0: 0x82060ee8ae4f3cb6db6ad231, limb1: 0x90e8ec63f2e39f1218f21605, limb2: 0x4ff00df2e2cc6da42f40ca0b, - limb3: 0x96b5a0e4cf36d245f2a2213 + limb3: 0x96b5a0e4cf36d245f2a2213, }, r1a1: u384 { limb0: 0x183bfac0d6d302cda44cc090, limb1: 0xb8bab9cdf785cfc48b82cde3, limb2: 0x2b99c1ff7e44f0267431fbc2, - limb3: 0x9253c3d3a7875099bb7116b - } + limb3: 0x9253c3d3a7875099bb7116b, + }, }, G2Line { r0a0: u384 { limb0: 0x89eec90cedffb5559d9f7cd6, limb1: 0x838145c7842da8419fcaba0e, limb2: 0xa322ce58631513aed92ce0df, - limb3: 0x5a79df85b0a96adf6e2dab8 + limb3: 0x5a79df85b0a96adf6e2dab8, }, r0a1: u384 { limb0: 0xf36133a552f9211634fe2feb, limb1: 0x712f911d31ea73387b467687, limb2: 0xfb3d98acbbe375c161f9d2a8, - limb3: 0x11b7c924610a8268c34b8259 + limb3: 0x11b7c924610a8268c34b8259, }, r1a0: u384 { limb0: 0x50e7cae27aa8b11d0d2bfe43, limb1: 0xf88979ed0a59e7daa98895c9, limb2: 0xdf00ec512e87f5862a699c22, - limb3: 0xcad7fd28c40cc541a820fe4 + limb3: 0xcad7fd28c40cc541a820fe4, }, r1a1: u384 { limb0: 0x936b0157ffd80fabb32930f9, limb1: 0xc6bffa14bca99e467c671b75, limb2: 0x609410c23cb1d2ce4e5e9242, - limb3: 0x5aeec94c1d7d2fb257ce4f7 - } + limb3: 0x5aeec94c1d7d2fb257ce4f7, + }, }, G2Line { r0a0: u384 { limb0: 0xc41d067c71069998cf8843d1, limb1: 0xb14da36d1c97315bd61ba35, limb2: 0x8aa0d451828d59a5f72d09dd, - limb3: 0x6032c39bd848710bcb60e49 + limb3: 0x6032c39bd848710bcb60e49, }, r0a1: u384 { limb0: 0xed46bd973c771a1b363a7d4c, limb1: 0xf133793366e26684ef2f32b3, limb2: 0x12ff177280c137134c3f25c4, - limb3: 0x127cf801e7f2dd085ba1a751 + limb3: 0x127cf801e7f2dd085ba1a751, }, r1a0: u384 { limb0: 0xdc817a66a6c7d907bae27871, limb1: 0x7ba4fed3737fceac11ec899b, limb2: 0x90e031e803e3d6cbe2868427, - limb3: 0x12ea6c6e770758121970dfd + limb3: 0x12ea6c6e770758121970dfd, }, r1a1: u384 { limb0: 0x70cc7c1f3299456ae1e20184, limb1: 0xb40d30be5118767fa201dfec, limb2: 0xccc12af1cb317ea89224e94a, - limb3: 0xdab488f3ca14571f8255bf5 - } + limb3: 0xdab488f3ca14571f8255bf5, + }, }, G2Line { r0a0: u384 { limb0: 0xa05df784a5a683833d2e1464, limb1: 0x544aef13d7757e76ac4a6a2c, limb2: 0x337b308d7d37a5e715e2c6a7, - limb3: 0x1971f0b4a71e609b35922e78 + limb3: 0x1971f0b4a71e609b35922e78, }, r0a1: u384 { limb0: 0x9afd8643829c2749745e919d, limb1: 0x3fe5162dcc95efeedb645acb, limb2: 0x771a45a92c45f43bb070b7fd, - limb3: 0x503aa962b29d72a5d9f6cf2 + limb3: 0x503aa962b29d72a5d9f6cf2, }, r1a0: u384 { limb0: 0x8e80c44f884a20fe7070ea42, limb1: 0x78c55b9104f9b5b599cf0cf7, limb2: 0x6aa9312bbcf5dad8ca58d47c, - limb3: 0xa42156c0b189a8b23065b2c + limb3: 0xa42156c0b189a8b23065b2c, }, r1a1: u384 { limb0: 0x507ea5597266a41fa17c0e3e, limb1: 0x61ca6c9ff959cacbd2e0502f, limb2: 0xe921d3d10d8336d32c718050, - limb3: 0x15bd96df3160aaf601255ae2 - } + limb3: 0x15bd96df3160aaf601255ae2, + }, }, G2Line { r0a0: u384 { limb0: 0x5e4b2d8014672689adf74c5e, limb1: 0xa727aa7b0714aee11ce04e22, limb2: 0x2b8081578ba7e36449332477, - limb3: 0x136517c5cbf60d7fd893217d + limb3: 0x136517c5cbf60d7fd893217d, }, r0a1: u384 { limb0: 0x1e6b6dce21e6c8fbc8c3059, limb1: 0xd40eaed17a285915e6dd5328, limb2: 0x84bb3dc7596ffeecac6c017c, - limb3: 0xe145b9da771dcb825de00b8 + limb3: 0xe145b9da771dcb825de00b8, }, r1a0: u384 { limb0: 0x73b866053fe5eda748e0cabb, limb1: 0x402fac191721abee446bc895, limb2: 0x4b03c3a6b6268986ca81d9ac, - limb3: 0x6b4c9aac6eed89d9f0a6121 + limb3: 0x6b4c9aac6eed89d9f0a6121, }, r1a1: u384 { limb0: 0x2af39075f96b16e132587e7, limb1: 0x13bcad0b04e3dd70f7c5f56, limb2: 0xda8eba78634610f509f07778, - limb3: 0x110e70b034d243106e204662 - } + limb3: 0x110e70b034d243106e204662, + }, }, G2Line { r0a0: u384 { limb0: 0xbb42fc51b2f0d50a3d7a6796, limb1: 0xfcbc9d2df3136cbd1a372ac4, limb2: 0xea313e60d4b8240679b0175e, - limb3: 0x1657a4b33e1400ef6e296282 + limb3: 0x1657a4b33e1400ef6e296282, }, r0a1: u384 { limb0: 0xaf91b402ecc6cf1a742796cf, limb1: 0xab44b72c1fc2f89b5eaa0345, limb2: 0x9f6a20404576105e15a4930c, - limb3: 0x10992497f5f8bf4451121322 + limb3: 0x10992497f5f8bf4451121322, }, r1a0: u384 { limb0: 0xd9355bfe72d92c6a0950eafd, limb1: 0x89de0bfbfd06c9911cb2d6fb, limb2: 0xe2092d1e99ab65a7a33ba1cd, - limb3: 0x1c317a68eeef4d833e396de + limb3: 0x1c317a68eeef4d833e396de, }, r1a1: u384 { limb0: 0x631d3efa10e591b7ebcb8dbc, limb1: 0x6a4a0815d19cf339e4663ba9, limb2: 0xe2fb7d9878d26c7c97299a01, - limb3: 0x4c4dc455aad226b744ebdd4 - } + limb3: 0x4c4dc455aad226b744ebdd4, + }, }, G2Line { r0a0: u384 { limb0: 0x656bbea0391d35835dc24b51, limb1: 0x3d5a46760e1d5b5be2d560bb, limb2: 0x8ab4befe76903930bf03b6cc, - limb3: 0xde3dfb225e924a4e1dd60a6 + limb3: 0xde3dfb225e924a4e1dd60a6, }, r0a1: u384 { limb0: 0xbf76b6d5dcffe10f806efc9c, limb1: 0x89c3bf595b72110cd64c7807, limb2: 0xad1b9df71cca0f160ddb2c6a, - limb3: 0xe1ae8d30b5cac8a9a485f95 + limb3: 0xe1ae8d30b5cac8a9a485f95, }, r1a0: u384 { limb0: 0xfcef3581dc552b239364bb18, limb1: 0x1785b2ccd39c6ea191ba4ad7, limb2: 0xb26676ceebabd25d429a9122, - limb3: 0x20c29df3088771981853b6e + limb3: 0x20c29df3088771981853b6e, }, r1a1: u384 { limb0: 0xe1d699d9ac66a9464fbdc974, limb1: 0xd53858123c2581584cab83ef, limb2: 0x8e59c936d52fd331132acf92, - limb3: 0x42a7ceaf3c3cc116eb1a41a - } + limb3: 0x42a7ceaf3c3cc116eb1a41a, + }, }, G2Line { r0a0: u384 { limb0: 0xe51e461db9c85f42519fea6, limb1: 0x234a9695204bd44f55ea4de6, limb2: 0xc8d34c6b4580edfc55e023b1, - limb3: 0x16691c1bdf57ba041abb3d97 + limb3: 0x16691c1bdf57ba041abb3d97, }, r0a1: u384 { limb0: 0xa81022cb0b3b0c523ae71819, limb1: 0x47f7df16fff0877b21676607, limb2: 0xdee4fe1d3c64b3fedec56326, - limb3: 0xcfbf5ccb325675b1a3becef + limb3: 0xcfbf5ccb325675b1a3becef, }, r1a0: u384 { limb0: 0x6d42b9d9e765f92b0817551, limb1: 0x352adc09dd7760a5f4208a1e, limb2: 0x5397846e3fff77f500da6dbc, - limb3: 0xe26d685c4365e342109d0ba + limb3: 0xe26d685c4365e342109d0ba, }, r1a1: u384 { limb0: 0x9bc1051782d84793806d878b, limb1: 0x1642edf27f040ad57feb6f89, limb2: 0x11a5d3523a88580869d28ca2, - limb3: 0xd22ff50c5a9bd729115a889 - } + limb3: 0xd22ff50c5a9bd729115a889, + }, }, G2Line { r0a0: u384 { limb0: 0x1974fc785431be1e90b76cf1, limb1: 0x5523616ad31f45b5acbb41f0, limb2: 0x4db84aa19ed0d09fdfd72a39, - limb3: 0x4bee7a1546e6a96b8c65312 + limb3: 0x4bee7a1546e6a96b8c65312, }, r0a1: u384 { limb0: 0x1fff8fc0e33c70b81adce7d, limb1: 0x5503816c20ef23cb62024c84, limb2: 0x1d58103be6d430043405b3ef, - limb3: 0x107fb3faa9b9af026c550cd7 + limb3: 0x107fb3faa9b9af026c550cd7, }, r1a0: u384 { limb0: 0xed84d2bc957cddd0e6e4ad25, limb1: 0x1800d9d9c9bdeeb05cada676, limb2: 0x6bc88f0ada5bbcfb48988f0b, - limb3: 0x177faefe6e97b317f26d47c2 + limb3: 0x177faefe6e97b317f26d47c2, }, r1a1: u384 { limb0: 0xe487165be396059ee48112a2, limb1: 0x57fae5a95d9b810b370239e, limb2: 0x9959f70caa80a4c337de8fdf, - limb3: 0x744e597435d3317bd2d3cee - } + limb3: 0x744e597435d3317bd2d3cee, + }, }, G2Line { r0a0: u384 { limb0: 0x30d36077b6d0262e218111c1, limb1: 0xc74774ca1af660eaed4d8329, limb2: 0x6448cecfde912a7d2029dbc, - limb3: 0xe743528ce0c94e1a76f2f60 + limb3: 0xe743528ce0c94e1a76f2f60, }, r0a1: u384 { limb0: 0xe1f8a574cee0dad622d6fead, limb1: 0xcd681358d077b827cc148be2, limb2: 0xc8fb346621601764fa91b40a, - limb3: 0x133d21c52017365921207d63 + limb3: 0x133d21c52017365921207d63, }, r1a0: u384 { limb0: 0x5cb088f57e1e3f6a62571b37, limb1: 0x4089cdf0fb67a7b1d79838b3, limb2: 0x62401a2e57abb0652e0fee81, - limb3: 0xcc83c46ac38241e1c33aca2 + limb3: 0xcc83c46ac38241e1c33aca2, }, r1a1: u384 { limb0: 0xfd94f04ec006d63b4825ecfa, limb1: 0x96ef1f9240c32fdc393b81e2, limb2: 0x6d46c2685a1a1c50e84c8b24, - limb3: 0x1528bf72bee83f2c80884dd2 - } + limb3: 0x1528bf72bee83f2c80884dd2, + }, }, G2Line { r0a0: u384 { limb0: 0xf1675d98caa0e86774bc637, limb1: 0x601f3b88148d94ab340ad0d7, limb2: 0x38be976c910e6b1d767b2184, - limb3: 0x3e03977cdee4d24405e656d + limb3: 0x3e03977cdee4d24405e656d, }, r0a1: u384 { limb0: 0xe1a8086a67acf571c0af95cf, limb1: 0x1eda39e1440a2e311c78ae41, limb2: 0x3bacbf4628f20f0353dc2a71, - limb3: 0x12bbfc96114eb5f664d2f89c + limb3: 0x12bbfc96114eb5f664d2f89c, }, r1a0: u384 { limb0: 0x301cba8607d6747f45a6ac34, limb1: 0xe736ba1686c2c9873cf10893, limb2: 0xa0aa0fae3c9f8cab4f768c4, - limb3: 0x15a9608ffbe07f61ed31b819 + limb3: 0x15a9608ffbe07f61ed31b819, }, r1a1: u384 { limb0: 0x89bef3c7071d9d77cfc34894, limb1: 0xb492c854b864451bd42b6f8d, limb2: 0x90d08dba8607ae67e7ffe8f2, - limb3: 0x3df2c581fd145f7d0c76401 - } + limb3: 0x3df2c581fd145f7d0c76401, + }, }, G2Line { r0a0: u384 { limb0: 0x8f8bf2310745715d8e60675, limb1: 0xe7983befc104f7bd4886ad3a, limb2: 0xd6b5d3a93563b2103c29cec1, - limb3: 0x1902b1e10713c8d95829b014 + limb3: 0x1902b1e10713c8d95829b014, }, r0a1: u384 { limb0: 0x392c934ad398e9471a2a3e6f, limb1: 0xc81c0dc22eff61dca36ea27f, limb2: 0x4605027ef09f9b7d03fcc1c2, - limb3: 0x142c2105c569b0e7aee457f1 + limb3: 0x142c2105c569b0e7aee457f1, }, r1a0: u384 { limb0: 0x86fc12d4ddb34349e58e0713, limb1: 0x9a132e3db41060771e480d9f, limb2: 0x6e00f3b7a9cbdf6ba01f3694, - limb3: 0xf3f4843686de973131d67ee + limb3: 0xf3f4843686de973131d67ee, }, r1a1: u384 { limb0: 0xf7b6328930ed21138fcd8f92, limb1: 0x354fd9f9ec8f828426279c4c, limb2: 0x3df938a725947d029e1edf6f, - limb3: 0x1143440784148d84b5ae0952 - } + limb3: 0x1143440784148d84b5ae0952, + }, }, G2Line { r0a0: u384 { limb0: 0x186d09647ff0bba5d26ed28e, limb1: 0x623c8f44caa6f18538e106b2, limb2: 0x6ee87df7083a561d754b41d6, - limb3: 0x8a8a90d75fab6a61d0509a1 + limb3: 0x8a8a90d75fab6a61d0509a1, }, r0a1: u384 { limb0: 0x6adbd952167baf9618d42d4f, limb1: 0x321d82100a434b5583df9a0, limb2: 0x24f6e8a30ab01f51c1f581b1, - limb3: 0x3fbeeb4073b163b3a283631 + limb3: 0x3fbeeb4073b163b3a283631, }, r1a0: u384 { limb0: 0x3cbe311d6bab02eedeee8686, limb1: 0xa954bca129b7bbed1f638f3e, limb2: 0x256baa5a7b0901b1c39a2060, - limb3: 0xd44f3bb3b9ac2f6050e276 + limb3: 0xd44f3bb3b9ac2f6050e276, }, r1a1: u384 { limb0: 0xbc701985313f4fd60a02502a, limb1: 0x879d4ed1464b95cc93907b88, limb2: 0x95c12c7e24be41f785419bee, - limb3: 0x8e3562c02b89b593503d443 - } + limb3: 0x8e3562c02b89b593503d443, + }, }, G2Line { r0a0: u384 { limb0: 0x8acd42eff277e12a1c665cd8, limb1: 0xc8dd9dfb56ea54ca5c9d26e6, limb2: 0x803b24ff12a9cd7524a26b87, - limb3: 0x27b1b3c904791e3fa942dcd + limb3: 0x27b1b3c904791e3fa942dcd, }, r0a1: u384 { limb0: 0x7a880435688221e820d4164e, limb1: 0x9754d630e027f9217dd0fba6, limb2: 0xee6cbf6da2000115b0cca0d8, - limb3: 0x162f5c264c2d2728aaa1f652 + limb3: 0x162f5c264c2d2728aaa1f652, }, r1a0: u384 { limb0: 0x314a0d54f7db63dcd3d6c0e0, limb1: 0x793c614f53a688375ca369e8, limb2: 0x296c4ccd5f785e294abeb492, - limb3: 0x20d58632925a8df2d3d48bd + limb3: 0x20d58632925a8df2d3d48bd, }, r1a1: u384 { limb0: 0x82c581e26e2e612aceaca787, limb1: 0xe02d73cc25449c92dfd7f088, limb2: 0x732270a5ec065ff678b3666e, - limb3: 0x17e813008da019a1fab544c - } + limb3: 0x17e813008da019a1fab544c, + }, }, G2Line { r0a0: u384 { limb0: 0x272c29aa11aed8e43cc6141d, limb1: 0x71ace08186410aa341601ace, limb2: 0xb9a9aa2f3050b27084ffbc22, - limb3: 0xcbec164f80a90014457abc4 + limb3: 0xcbec164f80a90014457abc4, }, r0a1: u384 { limb0: 0x84565ab9fffcd0062808ee35, limb1: 0xef87eb1f3b09214ee1c6bcf7, limb2: 0x1ac3de549632346de8521585, - limb3: 0x302f3ebfd6939b7a5be7a5 + limb3: 0x302f3ebfd6939b7a5be7a5, }, r1a0: u384 { limb0: 0x9615b19b27deb1c37635e038, limb1: 0x71949c2c6bb3f43004b870d9, limb2: 0x1795921be995a5d68845a590, - limb3: 0x17c275a0f8dd134ff6e6ab1e + limb3: 0x17c275a0f8dd134ff6e6ab1e, }, r1a1: u384 { limb0: 0x8b1d7f267653c440de637b02, limb1: 0x3a5e2de261d557e994157f3c, limb2: 0x35f5a3781402a1227675829f, - limb3: 0x18c4e5eb81e38ada34f8ab67 - } + limb3: 0x18c4e5eb81e38ada34f8ab67, + }, }, G2Line { r0a0: u384 { limb0: 0x4a074239eac7dc93b8113ddd, limb1: 0x64192efc9a09299ad173b34e, limb2: 0x3e86b7943ceda2cc678e6719, - limb3: 0x13a3cf500109646aac4d69e3 + limb3: 0x13a3cf500109646aac4d69e3, }, r0a1: u384 { limb0: 0x89c20af4b5a694d4d6d9d45d, limb1: 0x76071bd0d45623a4cfe9647, limb2: 0xbaeda04445ec73fe1fd859d6, - limb3: 0x12f734fc3463dc7adb90dccb + limb3: 0x12f734fc3463dc7adb90dccb, }, r1a0: u384 { limb0: 0xa12928a1d5d6408853a05ae7, limb1: 0xa8fc3f1aa38f3d6554357b31, limb2: 0xbb5e7127cb9669d52daff069, - limb3: 0x525a9e909f39cb2e32cb71a + limb3: 0x525a9e909f39cb2e32cb71a, }, r1a1: u384 { limb0: 0x2bf733d3a23d1446da39720e, limb1: 0x69c363f32dc0ed3a22acc728, limb2: 0x3eb64a364ee2cb63222dc046, - limb3: 0x1e78c4855ad25e4e08ba1eb - } + limb3: 0x1e78c4855ad25e4e08ba1eb, + }, }, G2Line { r0a0: u384 { limb0: 0x7116c638544720919ba1141f, limb1: 0x38d3486b5a4d7d2b1cc7a81, limb2: 0x9b0ce563be273a4ed3481a1d, - limb3: 0x373ac3e05382518aa76323c + limb3: 0x373ac3e05382518aa76323c, }, r0a1: u384 { limb0: 0xf667b74f8f4e3f484c4ae08b, limb1: 0x2206d95b2b7a7ca7e2aecdc2, limb2: 0x64ca11d3eb4448d39f8e7009, - limb3: 0x2585d7ccdfb9e2246f24d05 + limb3: 0x2585d7ccdfb9e2246f24d05, }, r1a0: u384 { limb0: 0xf03edce3835efea888f2bd2a, limb1: 0x992d9468044e686d3d07216d, limb2: 0x98d781d756b874d0bd7a7451, - limb3: 0xe44d0964d322c8cb9cbcf18 + limb3: 0xe44d0964d322c8cb9cbcf18, }, r1a1: u384 { limb0: 0x6fc3182d07a38a7f0fca843b, limb1: 0x551df1a531a45713e9e8c1aa, limb2: 0xde4e92d1f38c48c0f9587009, - limb3: 0x1072fb6b01d871f8150e2fb1 - } + limb3: 0x1072fb6b01d871f8150e2fb1, + }, }, G2Line { r0a0: u384 { limb0: 0x1ed40e3c2cfcc055cd4958d6, limb1: 0xd1453a4587d6c2ca2341043e, limb2: 0xf79c2172e21b91ba79a5ea2d, - limb3: 0x65c82633f9d4d20c07f6ad4 + limb3: 0x65c82633f9d4d20c07f6ad4, }, r0a1: u384 { limb0: 0xc8398341fc07277f183c17d5, limb1: 0x86bc2e62775af5eae61d9aa, limb2: 0x403276e7635ed1cd34473d3d, - limb3: 0x18a18bd0be954bbff600c7c1 + limb3: 0x18a18bd0be954bbff600c7c1, }, r1a0: u384 { limb0: 0x8b17fbda26b7133b0600c51e, limb1: 0x48147de60df80344b55d8fb8, limb2: 0xa0e018e36cfa14e2a39e57fe, - limb3: 0x70aed2d475ad180844d7587 + limb3: 0x70aed2d475ad180844d7587, }, r1a1: u384 { limb0: 0xf1d8e65deba9a3605b50946b, limb1: 0x3677c5769dea1762e0a3a25d, limb2: 0x5d4399ba6a9742e8f2aa1928, - limb3: 0x2d57160d6c66d1e0c2f0c0 - } + limb3: 0x2d57160d6c66d1e0c2f0c0, + }, }, G2Line { r0a0: u384 { limb0: 0x8477b2ca00b2aeca6e32a3c2, limb1: 0xc6f29b461233bd0ebc643442, limb2: 0x84af7efb348b61e615b2333d, - limb3: 0x1533c0ad4f3bdc8c8d26cea4 + limb3: 0x1533c0ad4f3bdc8c8d26cea4, }, r0a1: u384 { limb0: 0xc1c642702f7caf535b06e0f2, limb1: 0xe5245d45b1adaa7c89f0db9c, limb2: 0xfdaf6276d41ae24845843a0a, - limb3: 0xb6f912c27d4179d1cb5e992 + limb3: 0xb6f912c27d4179d1cb5e992, }, r1a0: u384 { limb0: 0x7338a41d8d41ba28d96db37b, limb1: 0x51a10fe0cfd8c6d045839897, limb2: 0xdb73279246e7073586ebb14, - limb3: 0x180e0a6b2de7e0540e582783 + limb3: 0x180e0a6b2de7e0540e582783, }, r1a1: u384 { limb0: 0x4d8f0878c0af851ea8d0cff5, limb1: 0xe24443b84e3d452bac74c32f, limb2: 0x4e4f3f08f29048e7d791c0, - limb3: 0x107fba05f68214c93b0d00d3 - } + limb3: 0x107fba05f68214c93b0d00d3, + }, }, G2Line { r0a0: u384 { limb0: 0xe6882416d7bc0be138e4eeb2, limb1: 0x1ffc8c27a2046327376e250, limb2: 0xf96a7955cf8a3345e89477c1, - limb3: 0x31ae02e34d7d21957899dbe + limb3: 0x31ae02e34d7d21957899dbe, }, r0a1: u384 { limb0: 0x148232d34a8da37b7adc99a7, limb1: 0xd0a0095db108dfd24e92848f, limb2: 0x89fb49e1a36591a6b189f964, - limb3: 0x1900bee131450e7d7a914ea4 + limb3: 0x1900bee131450e7d7a914ea4, }, r1a0: u384 { limb0: 0x97018429f16d24bc1e7f8af0, limb1: 0x1f68aaf8291a6decfb708b43, limb2: 0x1f700e88b537bffef39907e4, - limb3: 0x9cb633f82c6e595f1785e5e + limb3: 0x9cb633f82c6e595f1785e5e, }, r1a1: u384 { limb0: 0xd8d9d3a12a0dd7b129ffda0, limb1: 0x7a94e9da792505fe4fbdb0da, limb2: 0xf16eaac379266d5a4210e839, - limb3: 0xc24197c1ceaa3dd3de58b21 - } + limb3: 0xc24197c1ceaa3dd3de58b21, + }, }, G2Line { r0a0: u384 { limb0: 0x3e3cc1b08d8d1fda723658bb, limb1: 0x1cf952b752fb9ef1e82f5094, limb2: 0xcd52c2cfed361eab29f2026, - limb3: 0x59d1335947ab746801c0537 + limb3: 0x59d1335947ab746801c0537, }, r0a1: u384 { limb0: 0x34f187a454a321b866885648, limb1: 0x26461aa4e35660f0dce08465, limb2: 0x7540c65dddc34d56adebea12, - limb3: 0x1417edadd46132f1155c1f + limb3: 0x1417edadd46132f1155c1f, }, r1a0: u384 { limb0: 0x716255bec8b8a867659f8ec1, limb1: 0x728375c8a3a566ce58f184ab, limb2: 0xf3c4e74ba75e0f526ebea027, - limb3: 0x130e1557b595456ac14c74b + limb3: 0x130e1557b595456ac14c74b, }, r1a1: u384 { limb0: 0x956347dad0355d5e6b5af3c4, limb1: 0xef43db3b9c396c251944db86, limb2: 0x6ee505074759d3fe9876542d, - limb3: 0x4097c38f547306cd4f3b276 - } + limb3: 0x4097c38f547306cd4f3b276, + }, }, G2Line { r0a0: u384 { limb0: 0x6231a3597b09b6d5fda5c712, limb1: 0x3f3bd12ca9ef48ef6199a7f4, limb2: 0x6883383b5a445ca79fc407ee, - limb3: 0x141accc8970ace156fe95a36 + limb3: 0x141accc8970ace156fe95a36, }, r0a1: u384 { limb0: 0xe0c805067330b20430c585c8, limb1: 0x8ff3e0c3028ea8f24ee6fb30, limb2: 0xa368fc9a21efabd91ace37d9, - limb3: 0x18b35a8fd65ba4cbd734a0ee + limb3: 0x18b35a8fd65ba4cbd734a0ee, }, r1a0: u384 { limb0: 0xf4e1f73d2ed7ccded6c419de, limb1: 0xf379cd28811f89aeea7aee67, limb2: 0x727c64c0e714ab6ea82391e8, - limb3: 0xf454aa00efef9460f382b49 + limb3: 0xf454aa00efef9460f382b49, }, r1a1: u384 { limb0: 0x952793660f1fe4300657022a, limb1: 0xe8fa6c2b1aa542384940d1ec, limb2: 0x5a1f19c729b4b225b1501e31, - limb3: 0xa5b1272b68436f9433d112f - } + limb3: 0xa5b1272b68436f9433d112f, + }, }, G2Line { r0a0: u384 { limb0: 0x990dd2f78bf76d63c8a1579d, limb1: 0x324c14f20ab56d3dc480653d, limb2: 0x21bbedea5a0b817b568c1995, - limb3: 0x127c86bb9f80d6468a5a0787 + limb3: 0x127c86bb9f80d6468a5a0787, }, r0a1: u384 { limb0: 0x5b66a3f1affc43619038b84d, limb1: 0xd61e9a91a30e1c4606116992, limb2: 0x8a3bb65c955e0ff1e2749335, - limb3: 0x18094793f6e93a6fbbe88c78 + limb3: 0x18094793f6e93a6fbbe88c78, }, r1a0: u384 { limb0: 0xf16deb47fddb712ce639140, limb1: 0x6ce4afbf91551ea8bf91543e, limb2: 0x1576ceb94ed691afe037a797, - limb3: 0x89f45701d0959ae8869f16 + limb3: 0x89f45701d0959ae8869f16, }, r1a1: u384 { limb0: 0xd1d903d8caaa0032b50eabbb, limb1: 0x4f16d1eedd24943ef87959c4, limb2: 0xc2729c35e8f641933cc2b080, - limb3: 0x12a0bc7d5fef85e9964e5dd - } + limb3: 0x12a0bc7d5fef85e9964e5dd, + }, }, G2Line { r0a0: u384 { limb0: 0x7ee6a5f3ce669de80b52ba42, limb1: 0xa7d66db543d3c6a626f79dea, limb2: 0x135c684f9ac0e0a34315e044, - limb3: 0xaaafef3c4298542248b3a58 + limb3: 0xaaafef3c4298542248b3a58, }, r0a1: u384 { limb0: 0xe0b267ea1f8e8dc2b83d62e, limb1: 0xabac56946f0699334fa765e6, limb2: 0xee0060a937926e9b6d6adb90, - limb3: 0x13d96385b510deff2f4d1d32 + limb3: 0x13d96385b510deff2f4d1d32, }, r1a0: u384 { limb0: 0x1271c3349afe8fbfd4d7ee54, limb1: 0xc4df31a1a0ae89c5728ee819, limb2: 0xa0de891b771af1ba8a67f8db, - limb3: 0xf69200f56879e50a92ecd6e + limb3: 0xf69200f56879e50a92ecd6e, }, r1a1: u384 { limb0: 0x3260bde1e37542b8b8465e10, limb1: 0x7c3420aa9e48318a6606ee07, limb2: 0x126b5e1ded963ffbb6adb4e2, - limb3: 0x18d1f7ae28741bb590bb39a6 - } + limb3: 0x18d1f7ae28741bb590bb39a6, + }, }, G2Line { r0a0: u384 { limb0: 0x269fe662be1952669b367916, limb1: 0x444dc78864cd61df2552517c, limb2: 0x28be12e26f4b32f0652ab84d, - limb3: 0x19a30428e98bf9b0a2c79ff7 + limb3: 0x19a30428e98bf9b0a2c79ff7, }, r0a1: u384 { limb0: 0x21df9689e2fe058639581b7d, limb1: 0x12a80b9a201864b6f46ebab1, limb2: 0xd09d200c1fe4354e796b9b48, - limb3: 0x6bec03fbfbca091da930b62 + limb3: 0x6bec03fbfbca091da930b62, }, r1a0: u384 { limb0: 0x28188947a47cf18c9d40e8da, limb1: 0x7bcabfacb5b01ab3628aaff2, limb2: 0x76a7b58adfbb924378e8220d, - limb3: 0x89da3830e68cf0f2c7a55ed + limb3: 0x89da3830e68cf0f2c7a55ed, }, r1a1: u384 { limb0: 0x16d6797ce84cbee04811bb4f, limb1: 0xeec191427178e5b1c9c7dbb2, limb2: 0xe59d267e616c978d17fd98d0, - limb3: 0xd301c0973bbf180e6fc4134 - } + limb3: 0xd301c0973bbf180e6fc4134, + }, }, G2Line { r0a0: u384 { limb0: 0x95db0469c00d953ee476c048, limb1: 0xa412df73ae5febbec296a5fb, limb2: 0x16b9fdec9340c8f3aefa561c, - limb3: 0xfc955cb99bde258d8760197 + limb3: 0xfc955cb99bde258d8760197, }, r0a1: u384 { limb0: 0x83c7d7a804031b10c844d0cb, limb1: 0xfb88180286d20648b40806c0, limb2: 0x31368cfad1bcb8ef19b9d382, - limb3: 0x8fd02881a5331dfb0922a3b + limb3: 0x8fd02881a5331dfb0922a3b, }, r1a0: u384 { limb0: 0x2513b777e720406cfba171f4, limb1: 0x9d9da48be5e4bae3bd3e8c84, limb2: 0x8d75547712fc62f6f651762d, - limb3: 0x5f0f52ede58374df52c0643 + limb3: 0x5f0f52ede58374df52c0643, }, r1a1: u384 { limb0: 0x13d6b4aa8d9a46d5720e1b74, limb1: 0x5b93ebf4000945ce87c9dcf1, limb2: 0xffe34203a0c826e972d857bd, - limb3: 0x1870c14dc5ad5a661156fd61 - } + limb3: 0x1870c14dc5ad5a661156fd61, + }, }, G2Line { r0a0: u384 { limb0: 0x13a8138427c111d431036213, limb1: 0xc177e00de5b7215a863e9c0, limb2: 0x97a203171990cbbb0e5ab2e5, - limb3: 0x8a0a3f26b8d3bcefb78c724 + limb3: 0x8a0a3f26b8d3bcefb78c724, }, r0a1: u384 { limb0: 0x9d1740ea8f388b69c175f646, limb1: 0xbf6f5d96d616051ae3572d4, limb2: 0x9bc542122a140e5461a88c52, - limb3: 0x510159112f2d409afcdecdf + limb3: 0x510159112f2d409afcdecdf, }, r1a0: u384 { limb0: 0xf6335307702c1329032a46bc, limb1: 0xf975ad40eedeac981c916520, limb2: 0xc367b7993d6243a4984974d2, - limb3: 0x54b5cdb776381cc145be730 + limb3: 0x54b5cdb776381cc145be730, }, r1a1: u384 { limb0: 0x29d26ba47472791689263678, limb1: 0x6f7b1f34b002954f5506eae0, limb2: 0x2f9ecd635cd4d5f6e7f08ab7, - limb3: 0xd547c2cb31b79da87b93b04 - } + limb3: 0xd547c2cb31b79da87b93b04, + }, }, G2Line { r0a0: u384 { limb0: 0x31f476324f857ca9daa71d3f, limb1: 0x5b64b681867d0f5505b9f139, limb2: 0xb89e509fc5decaef9cb221f1, - limb3: 0x5b8f08ef767ca4cf5f36622 + limb3: 0x5b8f08ef767ca4cf5f36622, }, r0a1: u384 { limb0: 0x8f44b24a23750c8f0fa6270d, limb1: 0x554f99004f5b1f2a21b02609, limb2: 0x3710c6daa7cac50a8ca6de8, - limb3: 0xa3b4aea7c32a8fc4d9a662b + limb3: 0xa3b4aea7c32a8fc4d9a662b, }, r1a0: u384 { limb0: 0x93f0fbf4c4d931c3a733902b, limb1: 0x3a038220fa2da3a7087689cd, limb2: 0x5bc677d1583979bda5797f17, - limb3: 0x11996e8759ccb1bda7042160 + limb3: 0x11996e8759ccb1bda7042160, }, r1a1: u384 { limb0: 0x1ee1d1db6f033786016fd46, limb1: 0x2d4942546551a7b5afb1ee11, limb2: 0x5c0b006bc71d7e27359f5f02, - limb3: 0x35c97a7e460075f4d915117 - } + limb3: 0x35c97a7e460075f4d915117, + }, }, G2Line { r0a0: u384 { limb0: 0x7a6d6eabfb0034d1a702f683, limb1: 0x7d0e2455c9a35664ebcfb47b, limb2: 0x32cbd0245fbdf1e7636a4217, - limb3: 0x19c09fc88eb1b1a3d18741a8 + limb3: 0x19c09fc88eb1b1a3d18741a8, }, r0a1: u384 { limb0: 0x533b4770f929349a30d265d1, limb1: 0x2a2bd55c9677f8858218607, limb2: 0xfdc3daccd568a7f098f996b7, - limb3: 0xda029aea876b619425b5a9b + limb3: 0xda029aea876b619425b5a9b, }, r1a0: u384 { limb0: 0xe5b827de5b5a8d55c3f84090, limb1: 0xd80c5371f403010197d4f105, limb2: 0xe577025df13d2871b00bc8dc, - limb3: 0x16414390859fdc9dba5dbd65 + limb3: 0x16414390859fdc9dba5dbd65, }, r1a1: u384 { limb0: 0xaa1076a6910862d36bbb1a19, limb1: 0xcd4b0a7e1356a4c6467e7843, limb2: 0x88f035fb25750a88b3937cc0, - limb3: 0x92167f2a0715c9e9d74c7a9 - } + limb3: 0x92167f2a0715c9e9d74c7a9, + }, }, G2Line { r0a0: u384 { limb0: 0x813cf8d46ec722731cb2e790, limb1: 0x3ae401e3a2c43950dd3e14a5, limb2: 0x7f1e2595a7bf3cb9644dc3a2, - limb3: 0x9a64184b516425353d3342b + limb3: 0x9a64184b516425353d3342b, }, r0a1: u384 { limb0: 0x1be4ad4c913b7f23ef8afc45, limb1: 0x4b9c5ee3da9ae172d5612c39, limb2: 0x362a12402d4cd3c50c5a5bc1, - limb3: 0xaf426e78303a8cf5a43520e + limb3: 0xaf426e78303a8cf5a43520e, }, r1a0: u384 { limb0: 0x1a1fbd631479e96bc85c9b39, limb1: 0x755e043e52470551dc47fa77, limb2: 0x2fd80441adcf386b79dfadce, - limb3: 0x15cdd2f908202480bb0f56fb + limb3: 0x15cdd2f908202480bb0f56fb, }, r1a1: u384 { limb0: 0x493a7937f956ab6960bb1a74, limb1: 0xec402c0b38b6cc4d5094363, limb2: 0x3d52461743a5dfe63d2e7a33, - limb3: 0x92150697852cb2d08c3521b - } + limb3: 0x92150697852cb2d08c3521b, + }, }, G2Line { r0a0: u384 { limb0: 0xb34c26f3f693dd84f80a2827, limb1: 0x3a5bad99a295b14daa58eaf3, limb2: 0x294c30f60635aa35b08a22d6, - limb3: 0x7b4843ff0c2694d4281b82b + limb3: 0x7b4843ff0c2694d4281b82b, }, r0a1: u384 { limb0: 0xf601429d3a9a15e87d6c6a9c, limb1: 0x9ad779f2762b9393eaba8c6e, limb2: 0x887c88bf51c15df955aac60, - limb3: 0x858d73304a934b9aae3be02 + limb3: 0x858d73304a934b9aae3be02, }, r1a0: u384 { limb0: 0xb8b2d232a5e28fd350087039, limb1: 0x72a42652def490cf16cc1d6d, limb2: 0x225b45d85fa199dffd69ffd0, - limb3: 0x11aab051de4d3b03d63fd9c6 + limb3: 0x11aab051de4d3b03d63fd9c6, }, r1a1: u384 { limb0: 0xe973e3abcfc1a8b46e3622d1, limb1: 0x1da2831de5c376f4315553ec, limb2: 0xbceaf398ecd71f612f704c01, - limb3: 0x3bdf213c9512ed9e6961848 - } + limb3: 0x3bdf213c9512ed9e6961848, + }, }, G2Line { r0a0: u384 { limb0: 0x3c31209a4897e0f66a542078, limb1: 0xaca6cfb5457ca1adc99138fe, limb2: 0x72bf4739ae7b1a8652c823a2, - limb3: 0xdd9144f8c45e6091a6714d7 + limb3: 0xdd9144f8c45e6091a6714d7, }, r0a1: u384 { limb0: 0xc8942e9d5abaeec4938f2308, limb1: 0x30ff4bdf679bd4a2b87fa34c, limb2: 0x21acf101ca7ff6cd9129e67a, - limb3: 0xda6ef8b0ede3a09d1a5c00b + limb3: 0xda6ef8b0ede3a09d1a5c00b, }, r1a0: u384 { limb0: 0x2c5038a7eeaa757c15d205e, limb1: 0xe9d28bbd2c18d52e1b9024f2, limb2: 0x959d4240dbbc46a2c5bbb5b, - limb3: 0x9cd8b42cb440fc77607b954 + limb3: 0x9cd8b42cb440fc77607b954, }, r1a1: u384 { limb0: 0xd35f7d36be1bf213c01aba98, limb1: 0x655bc51b43c6394245778244, limb2: 0xd626d74e22844c1a8e2cc950, - limb3: 0x28c4b291b492ca43266277d - } + limb3: 0x28c4b291b492ca43266277d, + }, }, G2Line { r0a0: u384 { limb0: 0xde11ef8702d534dcae97f4d1, limb1: 0xb7e1313492ee7c957d7c08b1, limb2: 0x94685a26959aaaf145f46c06, - limb3: 0xbd77d859d62dfada48bdca9 + limb3: 0xbd77d859d62dfada48bdca9, }, r0a1: u384 { limb0: 0xd50523e1ef354e160696adcb, limb1: 0x4ae2fa0fb50e711c936a065f, limb2: 0xaeb883cf2c5a9ad32ce94798, - limb3: 0x6cc3bf5598846ca25341da5 + limb3: 0x6cc3bf5598846ca25341da5, }, r1a0: u384 { limb0: 0xcc6dd0380e5398c3264b9bbc, limb1: 0xdfe3641a4969d3d49718e00e, limb2: 0xd7b59b3160334de5eacebeed, - limb3: 0x35c0cdaf5e759016dec572e + limb3: 0x35c0cdaf5e759016dec572e, }, r1a1: u384 { limb0: 0xc2d2dbc06bdb8ff543ebcea0, limb1: 0xea4c9e638f95e42cea458d85, limb2: 0x9aa2cb9c51ba076dd941d7c7, - limb3: 0x8052da2e0dd2dec3a95d9f2 - } + limb3: 0x8052da2e0dd2dec3a95d9f2, + }, }, G2Line { r0a0: u384 { limb0: 0xabb764ac8036eb503e39861f, limb1: 0x22e8fa738389a0378352e2d2, limb2: 0xab10fb803ca53103ce99fc28, - limb3: 0x831ad8b93ffed9245877b44 + limb3: 0x831ad8b93ffed9245877b44, }, r0a1: u384 { limb0: 0xf721e83ab0eb9fa28b5d9349, limb1: 0x71c18646ef565689efc545c0, limb2: 0x590ec1d6f3abfbdb3f9f8b0d, - limb3: 0x17707d0e47e7a1044a4fd9c6 + limb3: 0x17707d0e47e7a1044a4fd9c6, }, r1a0: u384 { limb0: 0x16d0a838f9b0fc16504dd27, limb1: 0x5ad87ce7ad12ae830368b776, limb2: 0x62490899b4f397e09c44152f, - limb3: 0x15528a389da1580f43d95ade + limb3: 0x15528a389da1580f43d95ade, }, r1a1: u384 { limb0: 0xa715dcbb03bc2faac9d64bc7, limb1: 0xbd9b3ab159baa441a3ff56ad, limb2: 0x257f876f487a6dab4fa17c81, - limb3: 0xecfcaeb005ca1b7f92bf862 - } + limb3: 0xecfcaeb005ca1b7f92bf862, + }, }, G2Line { r0a0: u384 { limb0: 0x84bef2ae28f4fb378ec1eeb6, limb1: 0x1189e835406150f7fbe047cd, limb2: 0x8d7fa056d5bff703455219b9, - limb3: 0x17b55cffc9c559918a9ffbca + limb3: 0x17b55cffc9c559918a9ffbca, }, r0a1: u384 { limb0: 0xbcd55d1a045238c11947faae, limb1: 0xfddd35b7f062ea97fa82612f, limb2: 0x73dbd0a4863e8634338c4c3, - limb3: 0xfd6b167fe3d1476b5da9dfe + limb3: 0xfd6b167fe3d1476b5da9dfe, }, r1a0: u384 { limb0: 0xbcf99cf3772f639491c9a228, limb1: 0x1f8ca8645ecbeb98bb9ff5ae, limb2: 0x82f62cc92f240ff8bc4fca5, - limb3: 0x6b4211c4d1b18ea0c5a5e4c + limb3: 0x6b4211c4d1b18ea0c5a5e4c, }, r1a1: u384 { limb0: 0xe60a226e7c7d83e720ce3f23, limb1: 0xe357a6f93412eb508cc034c3, limb2: 0x532ca9a4ca346dd2e0913328, - limb3: 0xae125a2c4b74ea5caf9317f - } + limb3: 0xae125a2c4b74ea5caf9317f, + }, }, G2Line { r0a0: u384 { limb0: 0x9ea0eee8a358bedf9bb306c6, limb1: 0x27cbc0c2d576ed81b376df3a, limb2: 0x284d8131858da400101172fe, - limb3: 0x6f01c5d4ccee41765be5896 + limb3: 0x6f01c5d4ccee41765be5896, }, r0a1: u384 { limb0: 0xc9cca6ba98560a0a14f61b11, limb1: 0xd4eef97cebdd8ef2a73732a, limb2: 0x64b605444de34fc8002b43cd, - limb3: 0x16cb65875e7c30e951cccd8 + limb3: 0x16cb65875e7c30e951cccd8, }, r1a0: u384 { limb0: 0x1202ef010c0cded8ddce59aa, limb1: 0x7268537e1c67cc008bb9ba6a, limb2: 0x34ab03d803da94a85a2a1f91, - limb3: 0xffbdd8dbe035b9aa6fa5cba + limb3: 0xffbdd8dbe035b9aa6fa5cba, }, r1a1: u384 { limb0: 0x624339d3f2fb4299150fea00, limb1: 0xf8999090b0c3b02d48cde0a1, limb2: 0xb9c9ee775d38075030edfed8, - limb3: 0x4962ca75250846083ca0a66 - } + limb3: 0x4962ca75250846083ca0a66, + }, }, G2Line { r0a0: u384 { limb0: 0x5a6db269a838098829edba6d, limb1: 0x67230edf9666dd5326fdd901, limb2: 0x4faf83c8878cbaa298052a07, - limb3: 0x112b346339b3c5902a46ac8 + limb3: 0x112b346339b3c5902a46ac8, }, r0a1: u384 { limb0: 0x21277b8157638b119fcc31e4, limb1: 0x58677ee1ee7f46f77ebafdd, limb2: 0xd954201344c8653340beaf5, - limb3: 0x1540de56dfb2f896102f649f + limb3: 0x1540de56dfb2f896102f649f, }, r1a0: u384 { limb0: 0x7542a639e101035b31163743, limb1: 0x16d5957af1c5d36ad26581ce, limb2: 0xa42f7046622fa8f1537fcbb9, - limb3: 0x3173bcc714029b198352b15 + limb3: 0x3173bcc714029b198352b15, }, r1a1: u384 { limb0: 0xb1d8c4b69f2dd6531b317ba0, limb1: 0xecfb946f37008a59694b6c1d, limb2: 0x45a75c06aee99914e7ea7797, - limb3: 0x5a1008ab79da1541477a2bd - } + limb3: 0x5a1008ab79da1541477a2bd, + }, }, G2Line { r0a0: u384 { limb0: 0x9c4a4d3c7bb2576aeac0337b, limb1: 0x8b9250b2bed82359a757e126, limb2: 0x2d7dd2e4d3d0945ac3d9cb88, - limb3: 0xa0bad126c265d46d51689b7 + limb3: 0xa0bad126c265d46d51689b7, }, r0a1: u384 { limb0: 0xf65a98dff64d2a0fc947454f, limb1: 0xa50259b7484098611c2cb9fd, limb2: 0x5a51b1c4671888accdca74af, - limb3: 0x133a4335f59c0259f1a3ff19 + limb3: 0x133a4335f59c0259f1a3ff19, }, r1a0: u384 { limb0: 0xdde88be699f516d731c68610, limb1: 0xce004ded1806688e8e7c458a, limb2: 0x932f3c1c8e56d4b9f19eb7e9, - limb3: 0x124f291f47d76455477102fe + limb3: 0x124f291f47d76455477102fe, }, r1a1: u384 { limb0: 0xa97c633609d63d754d4a2692, limb1: 0x3c5ba5df2f9bb1cdcfb55e97, limb2: 0x19aa69b7f4751e5e39459c7e, - limb3: 0x3f5780b2dcaccad745e1d15 - } + limb3: 0x3f5780b2dcaccad745e1d15, + }, }, G2Line { r0a0: u384 { limb0: 0x6b810adc509554ded3ef3b95, limb1: 0x95284597042e1ecd0726081e, limb2: 0x120e66352bbc0746f23c9af9, - limb3: 0x14407db8291afdcc6767f0d6 + limb3: 0x14407db8291afdcc6767f0d6, }, r0a1: u384 { limb0: 0x9736d40090182b75e8148929, limb1: 0x3b4a1acb2265372a95f14a8b, limb2: 0x688f573f43a95022122a84f8, - limb3: 0x6ee3cecdb39eeaa72352bea + limb3: 0x6ee3cecdb39eeaa72352bea, }, r1a0: u384 { limb0: 0x86a4ae1d79fed79fda04bb3e, limb1: 0xdbe8a4d79312a8b7bca3137, limb2: 0xb002871665722703632ca373, - limb3: 0x6dad85068365251a3070c46 + limb3: 0x6dad85068365251a3070c46, }, r1a1: u384 { limb0: 0xe811cc9a481723566332af5c, limb1: 0x5995536393d8252711fa1719, limb2: 0x4b8d398526d9d7803e5e35d0, - limb3: 0x9c613e006352ea575d7f10c - } + limb3: 0x9c613e006352ea575d7f10c, + }, }, G2Line { r0a0: u384 { limb0: 0xdd3830612c58d544327ca0f0, limb1: 0x1142cd575c788d8d19a24ba9, limb2: 0x45ea7f0421cb2dd4e5b4ed7b, - limb3: 0xfb69c6a2cbfc9dfb9b01427 + limb3: 0xfb69c6a2cbfc9dfb9b01427, }, r0a1: u384 { limb0: 0x875ab3c75d3a4e43d10b2503, limb1: 0xf7cee1313a095fe9e31b7072, limb2: 0xe85be88d689d67e6e9835268, - limb3: 0x10635d3a601f92ab21801ab8 + limb3: 0x10635d3a601f92ab21801ab8, }, r1a0: u384 { limb0: 0x9eb9ef4ae7e0f7713d97450c, limb1: 0x8dfc81038830750d79da8b26, limb2: 0xc17475937901d8cadba451ca, - limb3: 0x6f9f723841ae3e1a88c34f4 + limb3: 0x6f9f723841ae3e1a88c34f4, }, r1a1: u384 { limb0: 0x71e84e872166781dda7182bc, limb1: 0x9dde7059d6c002a7f762da96, limb2: 0x2b9353ca4892a788389ca0fd, - limb3: 0xd413552182113308d1bf463 - } + limb3: 0xd413552182113308d1bf463, + }, }, G2Line { r0a0: u384 { limb0: 0x44db5f922ec99665b26634e5, limb1: 0xac41b74d5483c597704eaaac, limb2: 0x550e72e8ac0309c515e3799, - limb3: 0x1952ab876a19a0773ce3962 + limb3: 0x1952ab876a19a0773ce3962, }, r0a1: u384 { limb0: 0xf574202e10923244624559cb, limb1: 0xc0f8318a3d481320d441ef0a, limb2: 0xde67bbfe352326e4915e12b3, - limb3: 0x961a1762c6fe08878fc48ab + limb3: 0x961a1762c6fe08878fc48ab, }, r1a0: u384 { limb0: 0xf69e2ab32451ecc443146d68, limb1: 0x2d1bd9f71192795f2433de38, limb2: 0x32cd169947d915590eceb231, - limb3: 0x5a7c915f44cbc571061b333 + limb3: 0x5a7c915f44cbc571061b333, }, r1a1: u384 { limb0: 0x448a7247da14616d79b68e7e, limb1: 0xec3301200e41cfe8a1eca52c, limb2: 0xdadc3af8cfa96ac54608c965, - limb3: 0x17fe1a7c7ee57b63cc748535 - } + limb3: 0x17fe1a7c7ee57b63cc748535, + }, }, G2Line { r0a0: u384 { limb0: 0xcc1f58585e1d7b5bd45c4c1f, limb1: 0x745110cbba12e028cd54150c, limb2: 0x2ce6cbed2508c5d828082677, - limb3: 0x28a36f542a28f6997a811fc + limb3: 0x28a36f542a28f6997a811fc, }, r0a1: u384 { limb0: 0x541d567dcc7fbea97520cd94, limb1: 0x65d407bf06f076619981fe2e, limb2: 0xd583e9bfd967becef21bf75f, - limb3: 0xac2c40f46751f043fe2833b + limb3: 0xac2c40f46751f043fe2833b, }, r1a0: u384 { limb0: 0x92c58aae975c98038f79305, limb1: 0x7d1ce0079826b8902c5d46d3, limb2: 0xf99d7ba5cb12513a32fb5eec, - limb3: 0x7cc8363ce478f6d8f184c26 + limb3: 0x7cc8363ce478f6d8f184c26, }, r1a1: u384 { limb0: 0x8397c406c8e69df7b1cea699, limb1: 0x4a543e21f4fd830fab085fcf, limb2: 0x25a94f2ddc7a920fd1361d5b, - limb3: 0x16a2f7057acf7d7df785557d - } + limb3: 0x16a2f7057acf7d7df785557d, + }, }, G2Line { r0a0: u384 { limb0: 0xd795ec8c32c9ebd1bf9f74d6, limb1: 0x7f585c54a0e235a718bb6927, limb2: 0xdbb23b0ee0a160580fc4c61d, - limb3: 0x18cc0bda792f81e333e2b374 + limb3: 0x18cc0bda792f81e333e2b374, }, r0a1: u384 { limb0: 0xc46a2a7c259ebd088ce10740, limb1: 0xe6a830b64d605c010a76076e, limb2: 0xb1a119cfe08d1632021fc196, - limb3: 0xb9b519b9c1bb0eb41e2ce4e + limb3: 0xb9b519b9c1bb0eb41e2ce4e, }, r1a0: u384 { limb0: 0x345bf7846f464a931457dfde, limb1: 0xc8fc5238edd2d7260a066bbf, limb2: 0x2523af32173eba316f128bd7, - limb3: 0x32a68698a38598bd123d251 + limb3: 0x32a68698a38598bd123d251, }, r1a1: u384 { limb0: 0x2224558439f158cbcf42da7c, limb1: 0x387b507d6f0320a9a2e44e6f, limb2: 0xb29b2f37752d24d3fed9a8ea, - limb3: 0x168e24551680276e33346c1b - } + limb3: 0x168e24551680276e33346c1b, + }, }, G2Line { r0a0: u384 { limb0: 0xf8c9e8b4405badfa94226735, limb1: 0xe35370c03766b0439ba9bc0c, limb2: 0xefd8d2d0063990aea5570748, - limb3: 0x125e8f976f7536a2e85ea3cf + limb3: 0x125e8f976f7536a2e85ea3cf, }, r0a1: u384 { limb0: 0x8f2d3d1bd687824c71ce27fa, limb1: 0xd5946aef2f36a4cb42aee9b, limb2: 0xce15918bb8dbd901b9685864, - limb3: 0xc0299d504b8b7bb5ff23b7f + limb3: 0xc0299d504b8b7bb5ff23b7f, }, r1a0: u384 { limb0: 0x9a63e8f36e7127f93b5fab1e, limb1: 0x52d9ab603e72bca7b8fc5284, limb2: 0x8f734c44e7ba040f4a30952b, - limb3: 0x1478222c63826742286f720 + limb3: 0x1478222c63826742286f720, }, r1a1: u384 { limb0: 0x57fd0e62234f512c20e97da2, limb1: 0x876dd44c8838d26ecfad71b0, limb2: 0x9c591e15eb6492035916a674, - limb3: 0x13830268b58006ff03775156 - } + limb3: 0x13830268b58006ff03775156, + }, }, G2Line { r0a0: u384 { limb0: 0xb2877a8ff989a065c386a33e, limb1: 0x13d2429550f4e9f72e2e2cec, limb2: 0xbcf8cd1b0cbec3511e153d8a, - limb3: 0xcd008fe35f202ded141f6f0 + limb3: 0xcd008fe35f202ded141f6f0, }, r0a1: u384 { limb0: 0xcc3d9d00a942a5ab992f4ac8, limb1: 0xf81023268498efbea7a1843f, limb2: 0x561d9f10a4eaf5e417d1ccda, - limb3: 0x10ab00007abd04f36507cb22 + limb3: 0x10ab00007abd04f36507cb22, }, r1a0: u384 { limb0: 0x9b8b1ab2cc4aee0c67d4c474, limb1: 0x9840dfe76cc0dc415191c5c, limb2: 0x91cbd5473dbc72261d57d8f6, - limb3: 0xd47a27fa79ac6ddfb973c4b + limb3: 0xd47a27fa79ac6ddfb973c4b, }, r1a1: u384 { limb0: 0x827056816dae6b0f4c06657b, limb1: 0x8112aa8d965353f81dd65054, limb2: 0x8c1382e0bed39f3950578dc3, - limb3: 0x135456e60f547393ecee80e - } + limb3: 0x135456e60f547393ecee80e, + }, }, G2Line { r0a0: u384 { limb0: 0x5863cf017f4f31c0054a3612, limb1: 0x5a1ef8d1d2c315dd8bc6212, limb2: 0xe33ed175b6d1a029dda7c9aa, - limb3: 0x182115eb42220d34f08e487d + limb3: 0x182115eb42220d34f08e487d, }, r0a1: u384 { limb0: 0xb90bfad204b39a3cbcac7b4, limb1: 0x73b8d9e10bc6022a0994e39a, limb2: 0x7f5daebc21a409de8913242d, - limb3: 0xfc2db9cb25d08faf7c832 + limb3: 0xfc2db9cb25d08faf7c832, }, r1a0: u384 { limb0: 0x26d0221ad0d5ae39d7d33a8, limb1: 0xbae8e0d584ccaa52aeab179, limb2: 0x59de453ae38340185debc29f, - limb3: 0xc5a021a1d3134aa31cb39ed + limb3: 0xc5a021a1d3134aa31cb39ed, }, r1a1: u384 { limb0: 0x7472a64d3fccc64229059166, limb1: 0x361a6711e93f12f3d1cb0320, limb2: 0x6bf192bb96314516f10b7449, - limb3: 0xcaf028327c4bc3f8af13387 - } + limb3: 0xcaf028327c4bc3f8af13387, + }, }, G2Line { r0a0: u384 { limb0: 0x9fbb07d0355fee63ff3debeb, limb1: 0x91896030dd9d9080099fb74, limb2: 0x26da14875766e45e86646226, - limb3: 0x107179b36f3ec30ed0344ffb + limb3: 0x107179b36f3ec30ed0344ffb, }, r0a1: u384 { limb0: 0x749309e43489bf57b329ac54, limb1: 0x88c5acfe2820fe65ec92ff05, limb2: 0xef5d77580008d71e56cfd7c2, - limb3: 0x8347995c6bfa9cbd21c0831 + limb3: 0x8347995c6bfa9cbd21c0831, }, r1a0: u384 { limb0: 0x3348804de4e8c0987c6280f3, limb1: 0xcfc8dd305e856fb4f80eda08, limb2: 0xb7eda62f28c44f9b55da9809, - limb3: 0x6c1e0756ca916fe6d0f1453 + limb3: 0x6c1e0756ca916fe6d0f1453, }, r1a1: u384 { limb0: 0xecb36186ff6abf0ccb74caa, limb1: 0xee68730c0709c13875980d99, limb2: 0xdfb34758f87146c601b8e8df, - limb3: 0x1179b833f2d1129d7dd26307 - } + limb3: 0x1179b833f2d1129d7dd26307, + }, }, G2Line { r0a0: u384 { limb0: 0xd53473f5ac7b5e99de412ea4, limb1: 0xf6c216059e7a2a6b1a09d23c, limb2: 0x5de59d8956f5a84da299063e, - limb3: 0x159ff2806d40ff15099d5204 + limb3: 0x159ff2806d40ff15099d5204, }, r0a1: u384 { limb0: 0xfdccb0d7c9716c23df3ced8f, limb1: 0x14e4ca22ebdbc559a20177, limb2: 0x5b60b25f325eb68e4cbd45d, - limb3: 0x69a7d5ac5a38cce584e0b0f + limb3: 0x69a7d5ac5a38cce584e0b0f, }, r1a0: u384 { limb0: 0x903bac45b703185c327d9669, limb1: 0xe524dad4130c677c5a3b0f31, limb2: 0x11518ec180b31fd2f516e8b1, - limb3: 0x29448dd80ce3c75c8b0d685 + limb3: 0x29448dd80ce3c75c8b0d685, }, r1a1: u384 { limb0: 0x134286c732f95142935a2a98, limb1: 0xc493200ca6cd119550bafdd3, limb2: 0x7008cba4cae32054d22edea4, - limb3: 0x15da5ffa50e36869f0f2ac43 - } + limb3: 0x15da5ffa50e36869f0f2ac43, + }, }, G2Line { r0a0: u384 { limb0: 0x699dddd0ce8eee874e7798d1, limb1: 0x5c3572d1a0e33576c5f95af6, limb2: 0x71a239e87768b6642c64c2d5, - limb3: 0x193a4a988589350e15df6be4 + limb3: 0x193a4a988589350e15df6be4, }, r0a1: u384 { limb0: 0xa05a3143096e2700aaf1ae18, limb1: 0xdaee1baed61a3dc26f6005fc, limb2: 0xed7d52756e553a1adfd2b266, - limb3: 0x1839757d13d8b73a5c23e083 + limb3: 0x1839757d13d8b73a5c23e083, }, r1a0: u384 { limb0: 0x94b6d2f8ced6ba40bea83ca, limb1: 0xfe22edaeb3c651a53c333676, limb2: 0xb7a1df3d2dcc34ad47dfbaf0, - limb3: 0x81b823ad97ad3e98bcb93c8 + limb3: 0x81b823ad97ad3e98bcb93c8, }, r1a1: u384 { limb0: 0xef6f0e083b916a69a01c63e9, limb1: 0x8aedc8c1d6429b10db98ac62, limb2: 0xe6834dcabb9dccf40dbf34db, - limb3: 0x15b856909992c27268ce5b40 - } + limb3: 0x15b856909992c27268ce5b40, + }, }, G2Line { r0a0: u384 { limb0: 0x5edf9450f71e9104f1c374e9, limb1: 0xcfd112580006deba5077fd8a, limb2: 0x289c80bcf75761bc030bda9d, - limb3: 0x142182d337d4bdd0a9dc0152 + limb3: 0x142182d337d4bdd0a9dc0152, }, r0a1: u384 { limb0: 0xe3f1affdcbbd3809a6881f8e, limb1: 0x55f40359611c687f96c91dbe, limb2: 0xb90435a9e7260873c34a0cd4, - limb3: 0x113f465ca312058e0cd541d6 + limb3: 0x113f465ca312058e0cd541d6, }, r1a0: u384 { limb0: 0x85f3a8c5d4928087f1ef8229, limb1: 0x62e48188da4d79f1a88f24ba, limb2: 0x58691c7e87e7ecb6e855a469, - limb3: 0x25bacfd7256f159ca3eb0e5 + limb3: 0x25bacfd7256f159ca3eb0e5, }, r1a1: u384 { limb0: 0xfc830160c50a4b17a2dde63b, limb1: 0x1bf46813a25e8e58ff928d53, limb2: 0xe63b74e85e2032c28808627d, - limb3: 0x9e218f143196d00fadb36c6 - } + limb3: 0x9e218f143196d00fadb36c6, + }, }, G2Line { r0a0: u384 { limb0: 0x4f15d4ea3546d4dd322abb1, limb1: 0x46cffe5c562a996207d85447, limb2: 0x127c1b2c8327db270f3fc752, - limb3: 0x5b1382a51a78623e84b171c + limb3: 0x5b1382a51a78623e84b171c, }, r0a1: u384 { limb0: 0x8dbc701d130e40ed21a9da2c, limb1: 0xadd725634588d75b24dd8c16, limb2: 0x80337504d4d5f8357c9b9979, - limb3: 0x9c23058c09980827954110a + limb3: 0x9c23058c09980827954110a, }, r1a0: u384 { limb0: 0xe1d3592b03a3a53ee550de4a, limb1: 0x34de8376defeb78769a53926, limb2: 0x4a37ac77bdc2eb742a373cf1, - limb3: 0x152f467c23ef37b4010839bf + limb3: 0x152f467c23ef37b4010839bf, }, r1a1: u384 { limb0: 0xcb4d3b94794186d8bfb77400, limb1: 0x7fd7599edba1d571d111a2d0, limb2: 0x3a0264b8ec2890555793b361, - limb3: 0x17f63a07328a47cdf24b7754 - } + limb3: 0x17f63a07328a47cdf24b7754, + }, }, G2Line { r0a0: u384 { limb0: 0x2639eca99f5b1f6e6d095faa, limb1: 0x7322d2c5cd33e33d6fd2e0ca, limb2: 0x1c7bca0054ff60c0db156676, - limb3: 0x10933118bcf1940615957a6c + limb3: 0x10933118bcf1940615957a6c, }, r0a1: u384 { limb0: 0x43e0d74cf14359d83cc60326, limb1: 0x3d49af8c8914a76283667614, limb2: 0xc090bf9a071c2af83528b361, - limb3: 0x14ef91f0b47d2bf1313ba159 + limb3: 0x14ef91f0b47d2bf1313ba159, }, r1a0: u384 { limb0: 0xe45466ca7f8b6f5920570127, limb1: 0x1554654b09b57871c2ba8a9b, limb2: 0xf66b8bb3a005585c18db86b0, - limb3: 0xd28c63f8635e2ca59c7dc45 + limb3: 0xd28c63f8635e2ca59c7dc45, }, r1a1: u384 { limb0: 0xdc559ff81728e932b3c79d12, limb1: 0xec4893ef0a2c9367a4d736d6, limb2: 0x8b0a21bcded904e222dbf14b, - limb3: 0x8c51553f23145b85ca33fbe - } + limb3: 0x8c51553f23145b85ca33fbe, + }, }, G2Line { r0a0: u384 { limb0: 0xf5058204afaec6f2464c5a13, limb1: 0x515da6bfc23ebf6f53f6b55b, limb2: 0xe97a11e04bb36b2059446a4c, - limb3: 0x12fc97a16defdc7adc7476f9 + limb3: 0x12fc97a16defdc7adc7476f9, }, r0a1: u384 { limb0: 0x980b9772f15c2485344735fc, limb1: 0xe64c7342b28e77acf36d03da, limb2: 0xefd0a557cd8909bc5c9e7baf, - limb3: 0xbee5b30e2c4af8e16809197 + limb3: 0xbee5b30e2c4af8e16809197, }, r1a0: u384 { limb0: 0x5fe61e5a5909262f7cad99ed, limb1: 0xccf8e0ad8f3dba3dbeb8ec43, limb2: 0x10378ef14243abc565883a1b, - limb3: 0x209e28d5551008fd8c913d6 + limb3: 0x209e28d5551008fd8c913d6, }, r1a1: u384 { limb0: 0x31bad5bcd6808dcb2e85caf, limb1: 0xd37414833b060119d1f174a3, limb2: 0xd4f73e90a51a3acc4ae687fd, - limb3: 0x18dc062c90db3cd1d20a7de1 - } + limb3: 0x18dc062c90db3cd1d20a7de1, + }, }, G2Line { r0a0: u384 { limb0: 0x7a3deb7872768f839060087e, limb1: 0xae5017af4c09ed67c5c2e525, limb2: 0xef2bbb3e118498031e2471f, - limb3: 0x5cf357e8473bba00386d238 + limb3: 0x5cf357e8473bba00386d238, }, r0a1: u384 { limb0: 0x3b373a0d0a649113f5c7b2fe, limb1: 0xa3913baa2c3f8f7499ac76a6, limb2: 0x425aed5972aa5f4b4d21ffc7, - limb3: 0x82938f41814229b1224b32b + limb3: 0x82938f41814229b1224b32b, }, r1a0: u384 { limb0: 0x5b130ec9295aaeb79868e7d6, limb1: 0xda6c9ffb04ff597a83b36114, limb2: 0xc09586dc17dbca59627bbce4, - limb3: 0xd8431f93c66d78cf5b81228 + limb3: 0xd8431f93c66d78cf5b81228, }, r1a1: u384 { limb0: 0xe35d56023ffa020c373e6d85, limb1: 0x22972df9b6181d6397c5ee58, limb2: 0x933a967160fc487717775d67, - limb3: 0x19c24474e43b997ab5364a65 - } + limb3: 0x19c24474e43b997ab5364a65, + }, }, G2Line { r0a0: u384 { limb0: 0x39d9f0ce211a75081a35cffc, limb1: 0xd3f3a394f77ca3a98e93c5df, limb2: 0x85eb00d07fe02bd29ac2a3c6, - limb3: 0xb7b0d2db2cffcae60d0ecf6 + limb3: 0xb7b0d2db2cffcae60d0ecf6, }, r0a1: u384 { limb0: 0x6117d9f54ded251ed87dcdbd, limb1: 0x1eb6b7f8ce40fd2cfe030d6a, limb2: 0xeed76c5b0d292777e93e9282, - limb3: 0xdcf9ee4e619ac48372a1fd5 + limb3: 0xdcf9ee4e619ac48372a1fd5, }, r1a0: u384 { limb0: 0xa9e439e749d4fc1bea4f893f, limb1: 0x3a33e93d4e73b675790a1df8, limb2: 0xdfc3e8f4f8f506c7c6669428, - limb3: 0x11adba6387d459f7f991ac32 + limb3: 0x11adba6387d459f7f991ac32, }, r1a1: u384 { limb0: 0x35efe895ea1509c6b6db31f1, limb1: 0xeba2f9e1733b61d399cbe43d, limb2: 0xe0ca6d0d6d5e4e234334bc4b, - limb3: 0x1641a68f159d661c924ca1ca - } + limb3: 0x1641a68f159d661c924ca1ca, + }, }, G2Line { r0a0: u384 { limb0: 0x6acbdd11b2e3bf3c4e9a8fc7, limb1: 0xa65c7c83d9e863106be2e6e, limb2: 0xba622ef466154b88c6206dc0, - limb3: 0x13847679c97ef8978b3f64c9 + limb3: 0x13847679c97ef8978b3f64c9, }, r0a1: u384 { limb0: 0xa29270a27fe8eff7ff52747, limb1: 0x1b86d1ea5e2cb0e565695293, limb2: 0x5d46595304e94133e1524dc4, - limb3: 0x5c65be3c6a8b37e95aaa472 + limb3: 0x5c65be3c6a8b37e95aaa472, }, r1a0: u384 { limb0: 0x4c113034a2b4e8c08494656, limb1: 0x113bdfa06dc6105f0cee337c, limb2: 0x5ab2297e7c609e4044c01f70, - limb3: 0xe5ba46e7903db0416c5e85d + limb3: 0xe5ba46e7903db0416c5e85d, }, r1a1: u384 { limb0: 0x1af25f25f85e2fe5769d4db0, limb1: 0xc25dd758f010619bdce139cb, limb2: 0x539682ada1e9af81af49cbb4, - limb3: 0x63c25d8d6ffab7a17da8252 - } + limb3: 0x63c25d8d6ffab7a17da8252, + }, }, G2Line { r0a0: u384 { limb0: 0x2afd7a503f72962b8035ef56, limb1: 0x741a2724c626c073fcb7cb01, limb2: 0xa954f9a9959cbbcf41765c4c, - limb3: 0xd255d019186fe50bbb4abdb + limb3: 0xd255d019186fe50bbb4abdb, }, r0a1: u384 { limb0: 0xe1247719764debd50fb297b1, limb1: 0x1c85bc8240e9013aa086e724, limb2: 0x2bac98861c64cbbfaf10dfe5, - limb3: 0x17887473079a17d6114873ff + limb3: 0x17887473079a17d6114873ff, }, r1a0: u384 { limb0: 0xb40da2a4cd71fa1185ef523a, limb1: 0xb9b730fd2eea88566c9d4152, limb2: 0x3c384a7436df1edb029d3aed, - limb3: 0x89d99706a83aba945d7b48a + limb3: 0x89d99706a83aba945d7b48a, }, r1a1: u384 { limb0: 0x6576e31328774ef164f99920, limb1: 0x3e722659df78ce6e6d049703, limb2: 0xc5d56c8d8e6603bf62c90b81, - limb3: 0xf58e0aa466c88aa025b6401 - } + limb3: 0xf58e0aa466c88aa025b6401, + }, }, G2Line { r0a0: u384 { limb0: 0xee48f089c7a4594a201092eb, limb1: 0xc9d8a7b7d87389e25b856b97, limb2: 0x74d54bf4748e38d3b2c782b3, - limb3: 0x78af2f8549231aa92bba1b3 + limb3: 0x78af2f8549231aa92bba1b3, }, r0a1: u384 { limb0: 0x61acc46ca422be84be4fee75, limb1: 0xf425406455688e07fe496eb2, limb2: 0x1151b627d67176b268c6b18b, - limb3: 0x157a7e87571314c4eeffcc64 + limb3: 0x157a7e87571314c4eeffcc64, }, r1a0: u384 { limb0: 0xd95d245c747804a8f3bd59ab, limb1: 0xb3c7108b5d8ce6d797a8ab29, limb2: 0x452fc047d47ec02830b1b9c1, - limb3: 0x12ea35020ddc17232447b57c + limb3: 0x12ea35020ddc17232447b57c, }, r1a1: u384 { limb0: 0xb027d5b2037b8170fb63b93a, limb1: 0xf317c06fee2a5ef8113fd9d3, limb2: 0xdd1a58fc8de1d70f065c435c, - limb3: 0x11d55ce218987319447cc925 - } + limb3: 0x11d55ce218987319447cc925, + }, }, G2Line { r0a0: u384 { limb0: 0xbda20eba312f5ae4b8188dd6, limb1: 0xed6b03a1b59cdf81e337466, limb2: 0x13f52774d5df8f2b53b3f9a3, - limb3: 0xa84369f18ef0ea7ea78978b + limb3: 0xa84369f18ef0ea7ea78978b, }, r0a1: u384 { limb0: 0xd89f88c20cdd1be266384948, limb1: 0xb260d5b59d68bd6ce061618b, limb2: 0xc706ec3e85485a7d5d2746c8, - limb3: 0x3610ae9e586990c2332a60b + limb3: 0x3610ae9e586990c2332a60b, }, r1a0: u384 { limb0: 0xaa640e2e801a15e4d8aa9343, limb1: 0xce786976554ab6ed66b66295, limb2: 0x1dbbe2c4c4a66f2fef9f4df, - limb3: 0x1599a1020ad879a8517215c8 + limb3: 0x1599a1020ad879a8517215c8, }, r1a1: u384 { limb0: 0x68f8ce25afd5a01fa9437698, limb1: 0xf218ff065be19aa212e05aa2, limb2: 0xa0d7125cba24d5c3b3426602, - limb3: 0x1f4d34e061c1928106f603 - } + limb3: 0x1f4d34e061c1928106f603, + }, }, G2Line { r0a0: u384 { limb0: 0x1b9ff207335fcb7b28f48654, limb1: 0xaa059fc26f53a4b15d861e5d, limb2: 0x7409e84a31ef57e217e3d45d, - limb3: 0x8f022244af0b719146e8cfb + limb3: 0x8f022244af0b719146e8cfb, }, r0a1: u384 { limb0: 0x1fa9d79eb0320e586c2d096a, limb1: 0x8fde2d5c9ef41c1612865896, limb2: 0xec88b9f86c99799b380ebac9, - limb3: 0x72c117c18b8dfa89321c27c + limb3: 0x72c117c18b8dfa89321c27c, }, r1a0: u384 { limb0: 0x4570eb295684cad19e7cfded, limb1: 0x2e204f8114c805f866cca868, limb2: 0xba0509fc0eea7cc65c8b3dee, - limb3: 0xc7c1e717bb7b078054d3851 + limb3: 0xc7c1e717bb7b078054d3851, }, r1a1: u384 { limb0: 0x25eb9fba51d76d2292c1e2bf, limb1: 0xa43de47dba6db4c3e5c3d8b8, limb2: 0x365ea08af8998db774b8b61e, - limb3: 0x6367ffd71d3c44095424fc7 - } + limb3: 0x6367ffd71d3c44095424fc7, + }, }, G2Line { r0a0: u384 { limb0: 0x2ad35ec942a6dc10be32da05, limb1: 0xb889a7f8c178610e41752e60, limb2: 0x130ac19123ef4bc5eff163aa, - limb3: 0xc1c8933b8eca116c8c32c9e + limb3: 0xc1c8933b8eca116c8c32c9e, }, r0a1: u384 { limb0: 0x9b46883056c4f426647a0d1f, limb1: 0x2bc81e6550613b15475cad1f, limb2: 0x5c12a15bc536b16c6c8b1118, - limb3: 0x1116e31db9a099b5941e7fe9 + limb3: 0x1116e31db9a099b5941e7fe9, }, r1a0: u384 { limb0: 0x1b8184a1d9bad5d268b10d3e, limb1: 0xc8196d57732ebf89f6ce1ee6, limb2: 0xd34c8b394f605c9bc52280cd, - limb3: 0x14b9a6056022227937d6c4ee + limb3: 0x14b9a6056022227937d6c4ee, }, r1a1: u384 { limb0: 0xbcbfa6c19991f2a6202faa84, limb1: 0xf3a30cde404074949784fb8a, limb2: 0x6bd69539f118c993bb469b75, - limb3: 0x3c8a54c44f16bc3e22144e4 - } + limb3: 0x3c8a54c44f16bc3e22144e4, + }, }, G2Line { r0a0: u384 { limb0: 0xd8934218abbe5eda42e0374, limb1: 0x4efa70797ab04d5777f18cae, limb2: 0x657bd72dc32622552c01c3a1, - limb3: 0x86675ec3781ecc255b9b8f + limb3: 0x86675ec3781ecc255b9b8f, }, r0a1: u384 { limb0: 0xdb3cdd784259d6f00a05188, limb1: 0x4d7d18f24dc5139d8829c6be, limb2: 0x9067fb6cb2810aa19e5e838d, - limb3: 0x99b7b955ea60c02306dd019 + limb3: 0x99b7b955ea60c02306dd019, }, r1a0: u384 { limb0: 0x9569e6a9a6dfc936dc66c37d, limb1: 0x8ce5600bf62265cce1600d14, limb2: 0xe437be1358f94ae1da7ba693, - limb3: 0x26001dbd81fb98024703f0a + limb3: 0x26001dbd81fb98024703f0a, }, r1a1: u384 { limb0: 0x38347efb475ef26461922ce8, limb1: 0x434f13930fd2a42336fc5a71, limb2: 0xa611a973d0bf99e3535651af, - limb3: 0xf623d241cf8d903d2d48305 - } + limb3: 0xf623d241cf8d903d2d48305, + }, }, G2Line { r0a0: u384 { limb0: 0x721021ae8a4f50730c3d67dc, limb1: 0x879473ae153c9a3634074832, limb2: 0x37c1a1dc9eb1835b698836b1, - limb3: 0x103fc06c9853a3f7112aab36 + limb3: 0x103fc06c9853a3f7112aab36, }, r0a1: u384 { limb0: 0xabcfe33c5665f550278d61b4, limb1: 0x9225061eb88a19059c6a5f6b, limb2: 0xfea771c15b736bb9dfd64611, - limb3: 0x115d2632ad3a29006e1392bf + limb3: 0x115d2632ad3a29006e1392bf, }, r1a0: u384 { limb0: 0x656457e64c7777c11b84156b, limb1: 0xead830ab7644411a1795ddf3, limb2: 0xbd12c37bb1cbd056fc94cd13, - limb3: 0x1698578bd5388b5de2eb808f + limb3: 0x1698578bd5388b5de2eb808f, }, r1a1: u384 { limb0: 0xa3f77a7e2e3af21dabc4871, limb1: 0x170f78723c727fb4bbc4b4a9, limb2: 0x7090ee848cbc35a8f11b2354, - limb3: 0xc8b6a3068cd96500af13493 - } + limb3: 0xc8b6a3068cd96500af13493, + }, }, G2Line { r0a0: u384 { limb0: 0x7464425eeb75a1d3a3486fba, limb1: 0xd4f0931c31459109811008d1, limb2: 0x5aac0cfc9b43343826136afb, - limb3: 0xf16056dd2e8b5f8240d4ac7 + limb3: 0xf16056dd2e8b5f8240d4ac7, }, r0a1: u384 { limb0: 0xee0993ef125a22747400b5ea, limb1: 0x438805278ea9e18b001cf7da, limb2: 0x11c5cbb3ae17332e06f5b415, - limb3: 0x134957b7abe963c5d074abc9 + limb3: 0x134957b7abe963c5d074abc9, }, r1a0: u384 { limb0: 0xacf8eb684fdd044dd83f813e, limb1: 0xcb5dae51f81a4969f0370c67, limb2: 0x491fc4a63ef64f17b8aa0d30, - limb3: 0x188b4199d41c95a7991f2d89 + limb3: 0x188b4199d41c95a7991f2d89, }, r1a1: u384 { limb0: 0x1f69582489be9a39cb94c326, limb1: 0xdfa20ef759cc430ed060c20b, limb2: 0xeab00aeca148c6a408bcd34a, - limb3: 0xd6a605bcb73c8061942fb57 - } + limb3: 0xd6a605bcb73c8061942fb57, + }, }, G2Line { r0a0: u384 { limb0: 0x6773468ba72e40777baeb8f0, limb1: 0x570d2473b46fc08824285612, limb2: 0xd6ad952f46006fb353d86e0b, - limb3: 0xa08d2c3726cf2aff2c088d6 + limb3: 0xa08d2c3726cf2aff2c088d6, }, r0a1: u384 { limb0: 0xa416cc264e8202431a4e991d, limb1: 0xf5a5787c840a815dfa522b31, limb2: 0xe711bc925aba1a74b7b4d4aa, - limb3: 0x868f9c19f9d55b3b7ccd898 + limb3: 0x868f9c19f9d55b3b7ccd898, }, r1a0: u384 { limb0: 0x7baf6a74c7f41953cea5e439, limb1: 0xcb2fed5cedcf58101434abc1, limb2: 0x7393a96a373c39a66a6c8834, - limb3: 0xb23fcd989611b241a4105b + limb3: 0xb23fcd989611b241a4105b, }, r1a1: u384 { limb0: 0x555b817d72aebd2464a2d59b, limb1: 0xe7fd327dcbec3232500cda76, limb2: 0x10b589891b97aaf0c7a54d85, - limb3: 0xbd9efb2a7eedeb7323cb190 - } + limb3: 0xbd9efb2a7eedeb7323cb190, + }, }, G2Line { r0a0: u384 { limb0: 0xed72eccb4e30eeaf3b992446, limb1: 0x14e0585cd696c72e9adb4736, limb2: 0x7df5eabb84672fab4d4a6e10, - limb3: 0x2d6c8112234d7f18ea478ea + limb3: 0x2d6c8112234d7f18ea478ea, }, r0a1: u384 { limb0: 0x95586dac212579b39f39df97, limb1: 0xff0488c63a739029f85aec22, limb2: 0x38ce286aeea4511ddcb23d59, - limb3: 0x444323d14c7a3549b9f6b27 + limb3: 0x444323d14c7a3549b9f6b27, }, r1a0: u384 { limb0: 0xac929d1bb6bfa0df5bd0b951, limb1: 0x9a5e39e018083d89aeeaee3d, limb2: 0xc84698d95675ba2c1b93662e, - limb3: 0xa82a23fd9338c15ba09139b + limb3: 0xa82a23fd9338c15ba09139b, }, r1a1: u384 { limb0: 0x8a89d4ebf46cc78b9a67add2, limb1: 0x1761e578b693547ecbf4817f, limb2: 0xbd9d23d081864a636a27dce, - limb3: 0x40d68a72ee4363db50d3c92 - } + limb3: 0x40d68a72ee4363db50d3c92, + }, }, G2Line { r0a0: u384 { limb0: 0x9cdba5cfbe0205d55df33685, limb1: 0x8a416e1681ead82ad2711fef, limb2: 0xd94faace2b1209807fbb9edd, - limb3: 0xd1755cae5ede1642897673f + limb3: 0xd1755cae5ede1642897673f, }, r0a1: u384 { limb0: 0x352a420344ca83dd4e252c7, limb1: 0xcbcde81ff301c244dc5e006, limb2: 0xa54df6ee2561e110ee674e3e, - limb3: 0x18ad276363a6d2c576fc7d75 + limb3: 0x18ad276363a6d2c576fc7d75, }, r1a0: u384 { limb0: 0x17901b259f213203281dfa4e, limb1: 0xdca6f358c344dba951e904f0, limb2: 0x68be1f2f4a49c00264212bb, - limb3: 0xf39b5af5b74e8e45b8940b + limb3: 0xf39b5af5b74e8e45b8940b, }, r1a1: u384 { limb0: 0xe2032cd4d375921e86fdc082, limb1: 0x90f0cda4fe6f4bedd1c3872d, limb2: 0x9236c612070666c5139ec1cf, - limb3: 0x16eecd9e2f41fc13c0b1678d - } + limb3: 0x16eecd9e2f41fc13c0b1678d, + }, }, G2Line { r0a0: u384 { limb0: 0xbdda2d3c31051f4071ae2945, limb1: 0xbc66726ddee31b37d058d7e5, limb2: 0x9f4eb741ac78b510ccf452ab, - limb3: 0x65fb0c0d47de8795557bd2f + limb3: 0x65fb0c0d47de8795557bd2f, }, r0a1: u384 { limb0: 0xb9c37518dd4a05df7a4d6dc1, limb1: 0xd4ee64da91ea67b8a4525b4, limb2: 0x73a813ffff40ee810a12214b, - limb3: 0x7f9fda3fa03c5295720441d + limb3: 0x7f9fda3fa03c5295720441d, }, r1a0: u384 { limb0: 0xaa6d391bd6b4113145484e4f, limb1: 0x86d3fa56727d8879496d1827, limb2: 0x71223351a13a9577646c0ec3, - limb3: 0x5c4513dff602b8ec227f711 + limb3: 0x5c4513dff602b8ec227f711, }, r1a1: u384 { limb0: 0xb9b127f0cbfc3172bba7a933, limb1: 0x10d730ec07d1e0f84c5c6c34, limb2: 0x693e354e2246bf96f3ebf563, - limb3: 0x1163f7e15fbd10f4086aad86 - } + limb3: 0x1163f7e15fbd10f4086aad86, + }, }, G2Line { r0a0: u384 { limb0: 0x95151ea18c775b54deb3d8d2, limb1: 0x12d5d14c1a1e5e441f80f7f0, limb2: 0x441e9ed1c76ca5b0a9a2c673, - limb3: 0x5ed345d22ce7a2820a566a6 + limb3: 0x5ed345d22ce7a2820a566a6, }, r0a1: u384 { limb0: 0x85f7fcc07f1acb58e2b2b71d, limb1: 0xf54880edf6b069d9be9739e7, limb2: 0xb25f1683eedccd9cddb2592e, - limb3: 0x1287330ba9caab2bef8676e5 + limb3: 0x1287330ba9caab2bef8676e5, }, r1a0: u384 { limb0: 0x418096781d6bdd8438f7d0fa, limb1: 0xde2b0883a520a29780fe7f9, limb2: 0x858acb343f8b338095664988, - limb3: 0x1213109d451b7b62be0e7837 + limb3: 0x1213109d451b7b62be0e7837, }, r1a1: u384 { limb0: 0x13c30921c6ad44eef236dc4e, limb1: 0x97d1525a1c3fa2dfe5f32aa7, limb2: 0x7071a595e981dc71b225c544, - limb3: 0x6f31cf2562cca8a820178ab - } + limb3: 0x6f31cf2562cca8a820178ab, + }, }, ]; diff --git a/src/contracts/groth16_example_bls12_381/.tools-versions b/src/contracts/groth16_example_bls12_381/.tools-versions index ff547533..3efd1f43 100644 --- a/src/contracts/groth16_example_bls12_381/.tools-versions +++ b/src/contracts/groth16_example_bls12_381/.tools-versions @@ -1 +1 @@ -scarb 2.8.4 +scarb 2.9.1 diff --git a/src/contracts/groth16_example_bls12_381/Scarb.toml b/src/contracts/groth16_example_bls12_381/Scarb.toml index 5fb50dc6..4fac76a2 100644 --- a/src/contracts/groth16_example_bls12_381/Scarb.toml +++ b/src/contracts/groth16_example_bls12_381/Scarb.toml @@ -5,7 +5,7 @@ edition = "2024_07" [dependencies] garaga = { path = "../../" } -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/contracts/groth16_example_bls12_381/src/groth16_verifier.cairo b/src/contracts/groth16_example_bls12_381/src/groth16_verifier.cairo index 9c35ca27..3c5d4d21 100644 --- a/src/contracts/groth16_example_bls12_381/src/groth16_verifier.cairo +++ b/src/contracts/groth16_example_bls12_381/src/groth16_verifier.cairo @@ -18,8 +18,7 @@ mod Groth16VerifierBLS12_381 { use super::{N_PUBLIC_INPUTS, vk, ic, precomputed_lines}; const ECIP_OPS_CLASS_HASH: felt252 = - 0x223a0051c2e31ede1fd33db4f01bc979901fd80f3429017710176cce6aada3b; - use starknet::ContractAddress; + 0x2f2a107cee3e12d1fb6070d2ae30d18c1e412efdf8ef5c8dd278fc00862f952; #[storage] struct Storage {} @@ -63,14 +62,14 @@ mod Groth16VerifierBLS12_381 { let mut _vx_x_serialized = core::starknet::syscalls::library_call_syscall( ECIP_OPS_CLASS_HASH.try_into().unwrap(), selector!("msm_g1"), - msm_calldata.span() + msm_calldata.span(), ) .unwrap_syscall(); ec_safe_add( - Serde::::deserialize(ref _vx_x_serialized).unwrap(), *ic.at(0), 1 + Serde::::deserialize(ref _vx_x_serialized).unwrap(), *ic.at(0), 1, ) - } + }, }; // Perform the pairing check. let check = multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( @@ -80,7 +79,7 @@ mod Groth16VerifierBLS12_381 { vk.alpha_beta_miller_loop_result, precomputed_lines.span(), mpcheck_hint, - small_Q + small_Q, ); if check == true { return Option::Some(groth16_proof.public_inputs); diff --git a/src/contracts/groth16_example_bls12_381/src/groth16_verifier_constants.cairo b/src/contracts/groth16_example_bls12_381/src/groth16_verifier_constants.cairo index d44e2085..0bb6a2b8 100644 --- a/src/contracts/groth16_example_bls12_381/src/groth16_verifier_constants.cairo +++ b/src/contracts/groth16_example_bls12_381/src/groth16_verifier_constants.cairo @@ -4,3708 +4,3703 @@ use garaga::groth16::Groth16VerifyingKey; pub const N_PUBLIC_INPUTS: usize = 1; -pub const vk: Groth16VerifyingKey = - Groth16VerifyingKey { - alpha_beta_miller_loop_result: E12D { - w0: u384 { - limb0: 0x90d1a47263d9c179e9d6bab3, - limb1: 0xc8f52b7ac4908e42515e61a6, - limb2: 0x85c60896512fc21fc50ce238, - limb3: 0x15bb2157a1b9aab29d66c644 - }, - w1: u384 { - limb0: 0xb3e77acb0d776ee38973b578, - limb1: 0x7290c49d0303a7a719325387, - limb2: 0x3104f09f1439bbd9b6e47310, - limb3: 0x1794c7df23dbcfd21f7c96f5 - }, - w2: u384 { - limb0: 0xd0ccdf6e1de037c5f25dbd53, - limb1: 0x254a0c8d3849192e33a21665, - limb2: 0xcc0375e474dc85925319c5ad, - limb3: 0x59163bc09c3bb5cd5864b34 - }, - w3: u384 { - limb0: 0x42951c5be1c30dd1f90a8da3, - limb1: 0xffa3bb5d4cc66b3c5c927fe8, - limb2: 0xb2bef79be9fc2df478672961, - limb3: 0x13b08e1d6ece19818bc96ea9 - }, - w4: u384 { - limb0: 0x93fd3339f961a2b9c29235bc, - limb1: 0xf9bbad7b2c116dfe3ed68c7a, - limb2: 0xbd2f1d7614ffe6107af3312d, - limb3: 0x565882562afe825ad18d630 - }, - w5: u384 { - limb0: 0xf8e9d91fd573068e500fe8cb, - limb1: 0xc02aff1aead5aafc095b5d00, - limb2: 0xd46507dd50d8e1e3519eab6d, - limb3: 0x13644a50e3d92f7cb2062999 - }, - w6: u384 { - limb0: 0x79f2b3fe166cf2dd0d2edd42, - limb1: 0xee1d6de706ac7841d7ad70d1, - limb2: 0x8eab5234da247c344e074188, - limb3: 0x11a6213d5e5c30e24cbf89bc - }, - w7: u384 { - limb0: 0x2ce3e653f58dd851f1b19549, - limb1: 0x4718d317cb6aa672d98ec0d0, - limb2: 0x9ba7f0c53686e01b4ad95d5, - limb3: 0x675ea9600256572394eb514 - }, - w8: u384 { - limb0: 0x23db0a4c6695a271a863a4d0, - limb1: 0xd6db4129528086db9190b64e, - limb2: 0xd130bf6380241b158fecfd71, - limb3: 0xa849cb6abd26359866b2ec8 - }, - w9: u384 { - limb0: 0x60b534cf939afce26ebdf812, - limb1: 0x8c24d81eb0180ec2a6cf0f34, - limb2: 0x82a57803b293e76911f92c72, - limb3: 0xc18dabb70953283ac0831cb - }, - w10: u384 { - limb0: 0xf4e4997640a0e73c8ced7b36, - limb1: 0x81b60a120c6ac55184b13431, - limb2: 0x12a9b15b12fddd8e7a1c3fa3, - limb3: 0x6b3db04d04875ece12b9ff5 - }, - w11: u384 { - limb0: 0x12e51658ef6c7052999e66af, - limb1: 0x9549543304b8f59e1248a434, - limb2: 0x52afd8a6dd047073d383da00, - limb3: 0x4ded7b056b1316dac6713a6 - } - }, - gamma_g2: G2Point { - x0: u384 { - limb0: 0xaa65cdf007aef54c6f623dde, - limb1: 0x221d9fa6582f8ab41f299a1d, - limb2: 0xc274f8bcf99c710a010e41a0, - limb3: 0xdd0d7c6d60ac00708ff7db2 - }, - x1: u384 { - limb0: 0x734de87c275c5ff8648ec130, - limb1: 0xee8326798aab2bfea23775cc, - limb2: 0x451384c060e8865aff71dbef, - limb3: 0x604b708bc781ae38a361b93 - }, - y0: u384 { - limb0: 0xa6a2e609a74c6461dbb15b12, - limb1: 0x1b15cfdecac55c2f6881eaa3, - limb2: 0x1c77b46d0593da85473e42c4, - limb3: 0x1541ecff208d5a5cd2d55296 - }, - y1: u384 { - limb0: 0x699092f65f774234b7f31840, - limb1: 0x4c6c5689af7c6b120e3ab986, - limb2: 0x6b8b64d4ead6109ba5c739e4, - limb3: 0x108c95049535bcd1117cdbdf - } - }, - delta_g2: G2Point { - x0: u384 { - limb0: 0x6295df8b9ffbb9f638117fb4, - limb1: 0xd83ce7d5ca555ae1cc54e530, - limb2: 0xd0b71d6edfa740f665e34c84, - limb3: 0x18b219a74108de96a9519a60 - }, - x1: u384 { - limb0: 0x7e3c781dba158e67256dc98e, - limb1: 0xa144ffba7defff7d45169d6f, - limb2: 0x5f5d374324ad0e72809aeed, - limb3: 0xe3e7a8c90ba5b5e266fea71 - }, - y0: u384 { - limb0: 0x4573d43941a95edd7fc0b3c, - limb1: 0xa5afe44806a147a2c04a80ae, - limb2: 0x446f45ca171a1edf9abe76b8, - limb3: 0x11b12761f310cbe4ba3e1ded - }, - y1: u384 { - limb0: 0x1af32f6be0d4fbaaa3a16480, - limb1: 0x8a1e0e97cea1801e094fdc7, - limb2: 0x12fe3d86972bfca288dc7d9b, - limb3: 0x11ece09d0b6f1a1ea16238a5 - } - } - }; +pub const vk: Groth16VerifyingKey = Groth16VerifyingKey { + alpha_beta_miller_loop_result: E12D { + w0: u384 { + limb0: 0x90d1a47263d9c179e9d6bab3, + limb1: 0xc8f52b7ac4908e42515e61a6, + limb2: 0x85c60896512fc21fc50ce238, + limb3: 0x15bb2157a1b9aab29d66c644, + }, + w1: u384 { + limb0: 0xb3e77acb0d776ee38973b578, + limb1: 0x7290c49d0303a7a719325387, + limb2: 0x3104f09f1439bbd9b6e47310, + limb3: 0x1794c7df23dbcfd21f7c96f5, + }, + w2: u384 { + limb0: 0xd0ccdf6e1de037c5f25dbd53, + limb1: 0x254a0c8d3849192e33a21665, + limb2: 0xcc0375e474dc85925319c5ad, + limb3: 0x59163bc09c3bb5cd5864b34, + }, + w3: u384 { + limb0: 0x42951c5be1c30dd1f90a8da3, + limb1: 0xffa3bb5d4cc66b3c5c927fe8, + limb2: 0xb2bef79be9fc2df478672961, + limb3: 0x13b08e1d6ece19818bc96ea9, + }, + w4: u384 { + limb0: 0x93fd3339f961a2b9c29235bc, + limb1: 0xf9bbad7b2c116dfe3ed68c7a, + limb2: 0xbd2f1d7614ffe6107af3312d, + limb3: 0x565882562afe825ad18d630, + }, + w5: u384 { + limb0: 0xf8e9d91fd573068e500fe8cb, + limb1: 0xc02aff1aead5aafc095b5d00, + limb2: 0xd46507dd50d8e1e3519eab6d, + limb3: 0x13644a50e3d92f7cb2062999, + }, + w6: u384 { + limb0: 0x79f2b3fe166cf2dd0d2edd42, + limb1: 0xee1d6de706ac7841d7ad70d1, + limb2: 0x8eab5234da247c344e074188, + limb3: 0x11a6213d5e5c30e24cbf89bc, + }, + w7: u384 { + limb0: 0x2ce3e653f58dd851f1b19549, + limb1: 0x4718d317cb6aa672d98ec0d0, + limb2: 0x9ba7f0c53686e01b4ad95d5, + limb3: 0x675ea9600256572394eb514, + }, + w8: u384 { + limb0: 0x23db0a4c6695a271a863a4d0, + limb1: 0xd6db4129528086db9190b64e, + limb2: 0xd130bf6380241b158fecfd71, + limb3: 0xa849cb6abd26359866b2ec8, + }, + w9: u384 { + limb0: 0x60b534cf939afce26ebdf812, + limb1: 0x8c24d81eb0180ec2a6cf0f34, + limb2: 0x82a57803b293e76911f92c72, + limb3: 0xc18dabb70953283ac0831cb, + }, + w10: u384 { + limb0: 0xf4e4997640a0e73c8ced7b36, + limb1: 0x81b60a120c6ac55184b13431, + limb2: 0x12a9b15b12fddd8e7a1c3fa3, + limb3: 0x6b3db04d04875ece12b9ff5, + }, + w11: u384 { + limb0: 0x12e51658ef6c7052999e66af, + limb1: 0x9549543304b8f59e1248a434, + limb2: 0x52afd8a6dd047073d383da00, + limb3: 0x4ded7b056b1316dac6713a6, + }, + }, + gamma_g2: G2Point { + x0: u384 { + limb0: 0xaa65cdf007aef54c6f623dde, + limb1: 0x221d9fa6582f8ab41f299a1d, + limb2: 0xc274f8bcf99c710a010e41a0, + limb3: 0xdd0d7c6d60ac00708ff7db2, + }, + x1: u384 { + limb0: 0x734de87c275c5ff8648ec130, + limb1: 0xee8326798aab2bfea23775cc, + limb2: 0x451384c060e8865aff71dbef, + limb3: 0x604b708bc781ae38a361b93, + }, + y0: u384 { + limb0: 0xa6a2e609a74c6461dbb15b12, + limb1: 0x1b15cfdecac55c2f6881eaa3, + limb2: 0x1c77b46d0593da85473e42c4, + limb3: 0x1541ecff208d5a5cd2d55296, + }, + y1: u384 { + limb0: 0x699092f65f774234b7f31840, + limb1: 0x4c6c5689af7c6b120e3ab986, + limb2: 0x6b8b64d4ead6109ba5c739e4, + limb3: 0x108c95049535bcd1117cdbdf, + }, + }, + delta_g2: G2Point { + x0: u384 { + limb0: 0x6295df8b9ffbb9f638117fb4, + limb1: 0xd83ce7d5ca555ae1cc54e530, + limb2: 0xd0b71d6edfa740f665e34c84, + limb3: 0x18b219a74108de96a9519a60, + }, + x1: u384 { + limb0: 0x7e3c781dba158e67256dc98e, + limb1: 0xa144ffba7defff7d45169d6f, + limb2: 0x5f5d374324ad0e72809aeed, + limb3: 0xe3e7a8c90ba5b5e266fea71, + }, + y0: u384 { + limb0: 0x4573d43941a95edd7fc0b3c, + limb1: 0xa5afe44806a147a2c04a80ae, + limb2: 0x446f45ca171a1edf9abe76b8, + limb3: 0x11b12761f310cbe4ba3e1ded, + }, + y1: u384 { + limb0: 0x1af32f6be0d4fbaaa3a16480, + limb1: 0x8a1e0e97cea1801e094fdc7, + limb2: 0x12fe3d86972bfca288dc7d9b, + limb3: 0x11ece09d0b6f1a1ea16238a5, + }, + }, +}; -pub const ic: [ - G1Point - ; 2] = [ +pub const ic: [G1Point; 2] = [ G1Point { x: u384 { limb0: 0xaea925952b1d5dcc848e1107, limb1: 0x1d3926283f7823c830469f8d, limb2: 0x855a100cf099f5733048337, - limb3: 0x126fbe91d07c71cd11847edc + limb3: 0x126fbe91d07c71cd11847edc, }, y: u384 { limb0: 0xdffe1c953fd7a62db3ea0f7d, limb1: 0xe81081ed3027415c05028dc0, limb2: 0x8382ca23441bb4a34775829b, - limb3: 0x11d4302c0095dfb2bcb31a44 - } + limb3: 0x11d4302c0095dfb2bcb31a44, + }, }, G1Point { x: u384 { limb0: 0x46c87cd685c7c1d6fdcd1e9b, limb1: 0x2f62c85bb229d8c136b83c08, limb2: 0x5447e4279f17852eabd158fa, - limb3: 0x17eb504b7c7c4fcec2570d70 + limb3: 0x17eb504b7c7c4fcec2570d70, }, y: u384 { limb0: 0x1af88a58b9173f40990d461d, limb1: 0xed8dc9e752c0f5ec50f0bf39, limb2: 0x620cad3e73faf12d0844d15f, - limb3: 0x682ec2d49889aa39ae6f079 - } + limb3: 0x682ec2d49889aa39ae6f079, + }, }, ]; -pub const precomputed_lines: [ - G2Line - ; 136] = [ +pub const precomputed_lines: [G2Line; 136] = [ G2Line { r0a0: u384 { limb0: 0x306be1de1b04d2624e640455, limb1: 0xf2a2185fd41fca781bc97f37, limb2: 0x61bc1a3296c8468ccbfd0f00, - limb3: 0xe34ab79b1474233817e576e + limb3: 0xe34ab79b1474233817e576e, }, r0a1: u384 { limb0: 0xb2d501153392bd8774a608d8, limb1: 0x8bf8261f30c2770732ec1803, limb2: 0x54badbe21461d0daf83afabe, - limb3: 0xf07ba4034e02ff1891990ed + limb3: 0xf07ba4034e02ff1891990ed, }, r1a0: u384 { limb0: 0x32ea0796aef63117c6e0e6a1, limb1: 0xa45dad1f58021d08480cc168, limb2: 0xccdc578cc13456d86cd47734, - limb3: 0xfd13ef0a99a6b73d52ca7b9 + limb3: 0xfd13ef0a99a6b73d52ca7b9, }, r1a1: u384 { limb0: 0xb3a2e4a310abfbef796714, limb1: 0xa555ba99515a0a5e2d59908c, limb2: 0x165b6bdd81d359126278cb48, - limb3: 0xb4aa52b7c5b272cbf4fc038 - } + limb3: 0xb4aa52b7c5b272cbf4fc038, + }, }, G2Line { r0a0: u384 { limb0: 0x1b91ee6736aeabe4b5e40ccb, limb1: 0xd1e0bdffe69e623fa4977b7e, limb2: 0x3a38a366dca6ed3ac394edae, - limb3: 0x17d86f3a6eadac41e32f85b + limb3: 0x17d86f3a6eadac41e32f85b, }, r0a1: u384 { limb0: 0x85526a142f1b602083c8d0e9, limb1: 0x9de43cde6d77997ea6be8502, limb2: 0x26f9e86d04c4567b4ce35680, - limb3: 0x1426d177654bf0d7517048d4 + limb3: 0x1426d177654bf0d7517048d4, }, r1a0: u384 { limb0: 0x47561557466bbd16edc89e91, limb1: 0xa569496f4dc6bd96e4917912, limb2: 0x8b21592e524eb1bc65bda550, - limb3: 0x167eed299c6bd0497e52cbb8 + limb3: 0x167eed299c6bd0497e52cbb8, }, r1a1: u384 { limb0: 0xa40e65e562f01cc7e697d44e, limb1: 0xf7e3075bffcb46efc4c7de85, limb2: 0x4837f7e7cd36e2ed7747ed42, - limb3: 0x1401c25696479939c853129 - } + limb3: 0x1401c25696479939c853129, + }, }, G2Line { r0a0: u384 { limb0: 0xcf09df55ea243c0b5d27ea95, limb1: 0xa5c3c859310e651108ba35f9, limb2: 0xe22d5367257f2b7b07101881, - limb3: 0x146fecb4aca9ed26211e6a1c + limb3: 0x146fecb4aca9ed26211e6a1c, }, r0a1: u384 { limb0: 0xfb9b1aa00ba2314b499e9ad2, limb1: 0x25885d4aae86a2ee87249374, limb2: 0xebecd6bf5c617aba6840aa01, - limb3: 0x463f1553e899e2adf4279f9 + limb3: 0x463f1553e899e2adf4279f9, }, r1a0: u384 { limb0: 0x1aa0f311fb5027f4834da079, limb1: 0x7b26ff99d902997df1825c8c, limb2: 0xebc6228c9418dc5eebbf53b1, - limb3: 0xe10e27eb7e14d9257ef5dc5 + limb3: 0xe10e27eb7e14d9257ef5dc5, }, r1a1: u384 { limb0: 0xc89a8f1c1c6ae8707f8fa8fc, limb1: 0xb45e86fe1c988a090beb870d, limb2: 0x9b645529fd4c880478be7051, - limb3: 0x173c6c7f6fa56c3d1f1961b3 - } + limb3: 0x173c6c7f6fa56c3d1f1961b3, + }, }, G2Line { r0a0: u384 { limb0: 0xb58b9ab9d1892dd4c5543b36, limb1: 0xe3c36bb4c20608a534fd590b, limb2: 0xed0ee74781e598434a0b96ab, - limb3: 0x6b2aa02643ac8ef76d9b262 + limb3: 0x6b2aa02643ac8ef76d9b262, }, r0a1: u384 { limb0: 0x3a1fbee97340bbd138b8ebb4, limb1: 0xfc724611032db25419c64333, limb2: 0x7b496eddcf55a6c83d880e5b, - limb3: 0xdd344cd4cc6c1be8929497a + limb3: 0xdd344cd4cc6c1be8929497a, }, r1a0: u384 { limb0: 0xef38cfa96ccac703a2060cc1, limb1: 0x2f8106247ed8427f6104427, limb2: 0xa2e886264a53734039a28245, - limb3: 0xfd9424926115c1f549c9fe6 + limb3: 0xfd9424926115c1f549c9fe6, }, r1a1: u384 { limb0: 0xef853c4c4bccb3964c46149c, limb1: 0x739746bb23813b366d6900e, limb2: 0xd46eb42d09315fa477d9661, - limb3: 0x960e39d1824fac5873f1b4b - } + limb3: 0x960e39d1824fac5873f1b4b, + }, }, G2Line { r0a0: u384 { limb0: 0xd97632f4635a33f78fe45df, limb1: 0xfbd9de73e894c9578b619e6f, limb2: 0x8e3e139782eddc798cfe1cba, - limb3: 0x101554d44cb1579300498f0b + limb3: 0x101554d44cb1579300498f0b, }, r0a1: u384 { limb0: 0xe6071e81b13c82607e1504cd, limb1: 0xc90c09fd9d0de2ae2e3b1c7d, limb2: 0xf07085d896ccf916cd0d6c32, - limb3: 0x17aa6a97d1dfda923c027163 + limb3: 0x17aa6a97d1dfda923c027163, }, r1a0: u384 { limb0: 0x6442e11f77c962ca849d5ace, limb1: 0x3a02be748e349014afa5ee2b, limb2: 0x870d78ab0321516019929135, - limb3: 0xfc7e0bf5ac4481abd4e87c4 + limb3: 0xfc7e0bf5ac4481abd4e87c4, }, r1a1: u384 { limb0: 0xbe9a9a875effb23de3d91dd7, limb1: 0x1934ec3159b26c5ff788b5fb, limb2: 0xc82ebc003a434e6082ae9773, - limb3: 0xf843e21d950713837ba992e - } + limb3: 0xf843e21d950713837ba992e, + }, }, G2Line { r0a0: u384 { limb0: 0x28c8425627ed65eb0939cdb4, limb1: 0xc3c6c683bb2f36b229a6067e, limb2: 0x72b2a1af6f1ffa9a7b76ac8, - limb3: 0x1812bffcffe098c2f8a4d03a + limb3: 0x1812bffcffe098c2f8a4d03a, }, r0a1: u384 { limb0: 0x2f789c72473e628e0daf2579, limb1: 0x43800ef9d613d6c1609105a9, limb2: 0x4a05e73291a8d7f3a6057209, - limb3: 0x73a3adbbd19a0c5629c438c + limb3: 0x73a3adbbd19a0c5629c438c, }, r1a0: u384 { limb0: 0xa0991371dae811f65097016e, limb1: 0xa1d3e86721ce69bdd7b30b45, limb2: 0x47f1ab9108f30cc37319c5ec, - limb3: 0xd3ac356c647bbe338b60eae + limb3: 0xd3ac356c647bbe338b60eae, }, r1a1: u384 { limb0: 0x4dc00392cc0f98e602f32889, limb1: 0xe9f026915132182309858a36, limb2: 0xcb6091656a55b6d8dc590657, - limb3: 0xdad58900f4739152bbeb372 - } + limb3: 0xdad58900f4739152bbeb372, + }, }, G2Line { r0a0: u384 { limb0: 0xa0f3631679cfbb9b21ad0462, limb1: 0x6ee7debde007b92b4b149c44, limb2: 0x55a3e394518675f2e31137b5, - limb3: 0xd8a826fe9113b560da09907 + limb3: 0xd8a826fe9113b560da09907, }, r0a1: u384 { limb0: 0xed78588c893ceaa0f514558b, limb1: 0x79d83cf3b7023296ec92ba14, limb2: 0x9735f438b5a71d40b70bb0fa, - limb3: 0x15aef525c47e22ae57a7f8d5 + limb3: 0x15aef525c47e22ae57a7f8d5, }, r1a0: u384 { limb0: 0x84b45245e65ce740caff5e5b, limb1: 0xf67e131fa36599b6f341f185, limb2: 0x8788300d6901775782a0560a, - limb3: 0x77d9a7e661fdfc46bcf0a96 + limb3: 0x77d9a7e661fdfc46bcf0a96, }, r1a1: u384 { limb0: 0xf1c657418092ff3af9268ad, limb1: 0xfd859ddd59729868785858bf, limb2: 0x74b030a37e9b5229e33eea35, - limb3: 0x2ed25e75eafc63b15c99cd8 - } + limb3: 0x2ed25e75eafc63b15c99cd8, + }, }, G2Line { r0a0: u384 { limb0: 0x828e9d39e6c3882e1c541094, limb1: 0x3e866024d8c0d4511c1d7b04, limb2: 0x82f82c8987fbcd90a7db524e, - limb3: 0x115162baf491d6d2c3bb4408 + limb3: 0x115162baf491d6d2c3bb4408, }, r0a1: u384 { limb0: 0x73e00500dbadcb8f72a61794, limb1: 0x2b083cc45cb9b982df2826bb, limb2: 0x38a8b3bfefd4f705093941c9, - limb3: 0x1764d08b2b3f48e67da5fca7 + limb3: 0x1764d08b2b3f48e67da5fca7, }, r1a0: u384 { limb0: 0xb15b36df44312bd1bc6b43c0, limb1: 0x17d11b4de6c29aaee53b828, limb2: 0x4707b434920922fd8726a2ed, - limb3: 0x13aab19628ca9aaf0a115e66 + limb3: 0x13aab19628ca9aaf0a115e66, }, r1a1: u384 { limb0: 0x45545ee3518b4ad82e08a2e4, limb1: 0x545d12ab8020b0d72105759, limb2: 0x8a1520604f4038d8cfd87db4, - limb3: 0x13302bc366771eb73d10200f - } + limb3: 0x13302bc366771eb73d10200f, + }, }, G2Line { r0a0: u384 { limb0: 0x26347d93bfe0c7376637de2a, limb1: 0xa7b2d922d944d44736d75046, limb2: 0x96a8d04f3e2c39be23f934ba, - limb3: 0xf68430cc06e72e8cba83abb + limb3: 0xf68430cc06e72e8cba83abb, }, r0a1: u384 { limb0: 0xd00debef89a0244b8645b45d, limb1: 0xb820cb845456918f3639b0bb, limb2: 0xa32e6daab9f6beb0252d81c3, - limb3: 0x138d591ae6b61a704bbcd8d8 + limb3: 0x138d591ae6b61a704bbcd8d8, }, r1a0: u384 { limb0: 0xdc637c11d0dbeaf0a39536cc, limb1: 0x9660f9ee2827e0e6402067bf, limb2: 0xd91e4cc7d47e0fd9713272d9, - limb3: 0x10137873532e35eeec88970d + limb3: 0x10137873532e35eeec88970d, }, r1a1: u384 { limb0: 0xfcf221d220a35af03650e72d, limb1: 0x616ae54c91ce47ca60763953, limb2: 0xe626d0064ab09e7302b5be30, - limb3: 0x1816ead2f891bd024c2985cb - } + limb3: 0x1816ead2f891bd024c2985cb, + }, }, G2Line { r0a0: u384 { limb0: 0xfb87ceb75ed615c4c057d678, limb1: 0x6582cbf9525b9cefe7b9e804, limb2: 0x4f37e42b8dc3a2ee249e6e37, - limb3: 0xf4741cab21cf2769050b0fa + limb3: 0xf4741cab21cf2769050b0fa, }, r0a1: u384 { limb0: 0x924844c33852d2e23cac984a, limb1: 0xbc556fa45dd32211de3922f9, limb2: 0xb8366a587addf71a58498b14, - limb3: 0x13ea637b846fbb373c8f4611 + limb3: 0x13ea637b846fbb373c8f4611, }, r1a0: u384 { limb0: 0xefa45f0548590ffceb314941, limb1: 0xbf9b204a890c30857ba60551, limb2: 0xbdd3f88bd124ac7e0f0af016, - limb3: 0x8e95429352e72aba5211967 + limb3: 0x8e95429352e72aba5211967, }, r1a1: u384 { limb0: 0xf8c98157528a959ccac7cc4, limb1: 0x687cb79cd5a81fac75001ca4, limb2: 0x6b68eabcdc9b0ad00d66e086, - limb3: 0x140f2cace6f7cab25c97103e - } + limb3: 0x140f2cace6f7cab25c97103e, + }, }, G2Line { r0a0: u384 { limb0: 0xe7afbce45921cd7b77242135, limb1: 0x5718bd5dc545444c6b641c19, limb2: 0xf512a03bbea424d2672a39a3, - limb3: 0x8e393e621680c17993f7bae + limb3: 0x8e393e621680c17993f7bae, }, r0a1: u384 { limb0: 0x8ff19c6a2f49a711cf0739f9, limb1: 0xc3af1820b15abe02eca2754, limb2: 0x53766b612388a245d2d63ffe, - limb3: 0x381016961e0f7db87f0cce8 + limb3: 0x381016961e0f7db87f0cce8, }, r1a0: u384 { limb0: 0x4dda60bd25e6e1347768724b, limb1: 0x1d241291d2da9e52a786e440, limb2: 0xb10bcb7cb6ea42c8a80fa259, - limb3: 0x140182d624ca9103b00a1042 + limb3: 0x140182d624ca9103b00a1042, }, r1a1: u384 { limb0: 0xc434a31edad1a2430d152c8d, limb1: 0x7bbb7dbdcb98092bfc57c45b, limb2: 0xe5bfd09fb89c9cb9fc2930e8, - limb3: 0x149d591ee71b32836829acc5 - } + limb3: 0x149d591ee71b32836829acc5, + }, }, G2Line { r0a0: u384 { limb0: 0x6f857b2f9dbf0171c195a52d, limb1: 0x5813a24021c2b05113dd4a96, limb2: 0x2aff27dce98b343fd0f793de, - limb3: 0xf2e0145a43aeae640b6969d + limb3: 0xf2e0145a43aeae640b6969d, }, r0a1: u384 { limb0: 0x29ced55c68a2802ce2609172, limb1: 0x6338f9b36d931b4d67932b9b, limb2: 0x66025aa8eb27d423c0b5bfec, - limb3: 0x14fe5e46686326e1f055306 + limb3: 0x14fe5e46686326e1f055306, }, r1a0: u384 { limb0: 0xeb52118df562a61042721eca, limb1: 0xee5bdf330b411779cc2881e5, limb2: 0x8fc6336a288b05900b65ae97, - limb3: 0x517b226c178ce7caa260f92 + limb3: 0x517b226c178ce7caa260f92, }, r1a1: u384 { limb0: 0xe7e7b8db4db2afd3d18383fc, limb1: 0x82b7a186d747be7f434c662, limb2: 0x2a775ab75e722fd93a4da97, - limb3: 0xe496d7813827c9e5ffe551c - } + limb3: 0xe496d7813827c9e5ffe551c, + }, }, G2Line { r0a0: u384 { limb0: 0x627028a8bdee6000c0d845f6, limb1: 0xc9f98f9c37170503138c263e, limb2: 0x49fbcbcd10639a6d007e5879, - limb3: 0x131a7572031e8ed7a863b371 + limb3: 0x131a7572031e8ed7a863b371, }, r0a1: u384 { limb0: 0x7b5f18c205ca348475db5437, limb1: 0x16ca76de607e8ea438b21550, limb2: 0x35c5f60e8c2bd63e2a90fb2c, - limb3: 0x13bb76670abc068e45d475c0 + limb3: 0x13bb76670abc068e45d475c0, }, r1a0: u384 { limb0: 0x239305338201c7b0d260e948, limb1: 0x4cfc220680324a3e5e1fe68d, limb2: 0xb5b8357d92c82b48c50ab1b0, - limb3: 0xba4a4c1f10015ff907735c2 + limb3: 0xba4a4c1f10015ff907735c2, }, r1a1: u384 { limb0: 0x5c84bbc1fcf0837749364732, limb1: 0xc66eb6ada5392af863d295b3, limb2: 0x3fca6067b750d18086f41345, - limb3: 0x13fbb0a0f6400bfdad8a7193 - } + limb3: 0x13fbb0a0f6400bfdad8a7193, + }, }, G2Line { r0a0: u384 { limb0: 0x249c31d39a8ff1d65e22a789, limb1: 0x6f16f7224fa34e79712f9ff7, limb2: 0x9300f2ba5e2772169f274b95, - limb3: 0x150c43a0d3e436e65b20a4be + limb3: 0x150c43a0d3e436e65b20a4be, }, r0a1: u384 { limb0: 0xe3dfcea0f7070a52acf2f549, limb1: 0x4c4b0f06dc150efc46e57fe0, limb2: 0xcff73efac06c1fe6f9d4bfe2, - limb3: 0x143df5a491905251d79670d1 + limb3: 0x143df5a491905251d79670d1, }, r1a0: u384 { limb0: 0xe2f782ade4eb4d3d61c1ae2e, limb1: 0x374eac91af81a4be25d5698e, limb2: 0xbea5114dfebd79eb8078b0cd, - limb3: 0x3d61f08b0443e34c6871b + limb3: 0x3d61f08b0443e34c6871b, }, r1a1: u384 { limb0: 0xe4d40a02691978c7cd5b7c88, limb1: 0x4b39d5b3234be8097a93f261, limb2: 0x263fd7183a07705a066e4b0b, - limb3: 0x673d4ac4c490f4da1baad08 - } + limb3: 0x673d4ac4c490f4da1baad08, + }, }, G2Line { r0a0: u384 { limb0: 0x5acdc9c59c94e0d5705d33dc, limb1: 0xddeae8a3def58011f5fff627, limb2: 0x2a560574c9f7f1adf85ac330, - limb3: 0x986c2f3fe60390dc3490a7e + limb3: 0x986c2f3fe60390dc3490a7e, }, r0a1: u384 { limb0: 0x3ae8c5c7e6a5b36fbf54ed71, limb1: 0xfca9910fdf6379bb21489fd2, limb2: 0x931ca186c017ce347583a52d, - limb3: 0xa800d5ce754e490542d0a63 + limb3: 0xa800d5ce754e490542d0a63, }, r1a0: u384 { limb0: 0xc757e215e8a482b8d6c1830, limb1: 0x79cdb82276ca8c6d2c853c2a, limb2: 0xdf7e085f46fdd58884c07921, - limb3: 0x12c2a50751be2602b79ce60f + limb3: 0x12c2a50751be2602b79ce60f, }, r1a1: u384 { limb0: 0x4bdd9d25da5b740109e8ba82, limb1: 0x738b43414881a78559812a3, limb2: 0xc45a86a441289ba795f8c844, - limb3: 0xc17887e275b98353945d589 - } + limb3: 0xc17887e275b98353945d589, + }, }, G2Line { r0a0: u384 { limb0: 0x2f25c239eaac738b78124e52, limb1: 0x3b423b7770e03a4290134003, limb2: 0x4e7a673af5f9bb11fa69398a, - limb3: 0x5a6af6e0735f0cf58a65190 + limb3: 0x5a6af6e0735f0cf58a65190, }, r0a1: u384 { limb0: 0x5465b4df3f574f8ce75115cd, limb1: 0xbbaa17554362320ad4d7dbb7, limb2: 0x7801bed020c4eb0b06b8c3a5, - limb3: 0x55dab1ebabc42258823f990 + limb3: 0x55dab1ebabc42258823f990, }, r1a0: u384 { limb0: 0x168eff4cfe08a5d2480cd220, limb1: 0xfdfbc5d6539d58ae5fd2f3f0, limb2: 0x730c3716c3f8f093bc196396, - limb3: 0x11ec5e41f01d546dc82f14a9 + limb3: 0x11ec5e41f01d546dc82f14a9, }, r1a1: u384 { limb0: 0x23122e240cc2e876eb1177f4, limb1: 0x2ff2cb0192b8833c39a3f14, limb2: 0x8df40969fdcda1a427931ee3, - limb3: 0x10714f2f682bd1dd3f41759 - } + limb3: 0x10714f2f682bd1dd3f41759, + }, }, G2Line { r0a0: u384 { limb0: 0xeb732a6499363c67e23554a3, limb1: 0x4cdd42ecd8a52cdb6f9c934b, limb2: 0x67790eedc23de78c48c1386b, - limb3: 0x30d8024f42aed61c2d2748d + limb3: 0x30d8024f42aed61c2d2748d, }, r0a1: u384 { limb0: 0xfd6de8c461951483834d8358, limb1: 0x1871938e8ba214f3eb03688c, limb2: 0xf09f514cfb1eeede386e9108, - limb3: 0x1ae4fa7bbb288f14dcf1905 + limb3: 0x1ae4fa7bbb288f14dcf1905, }, r1a0: u384 { limb0: 0x7e5704e179ddff883226618, limb1: 0x944cd6a7ddc3abe547501924, limb2: 0x65f20918a39b3d50fd554db5, - limb3: 0xa5f6ffc447dd34c63d7c7ed + limb3: 0xa5f6ffc447dd34c63d7c7ed, }, r1a1: u384 { limb0: 0xa365a10339a32f4d93f34a24, limb1: 0xc7911352eea0cf23e726f314, limb2: 0xd28cf2c778e3550205e4ba3d, - limb3: 0x49718664bcc386426e22fe - } + limb3: 0x49718664bcc386426e22fe, + }, }, G2Line { r0a0: u384 { limb0: 0x9b4583c7c2eff06ad56a736a, limb1: 0x16aafa467cd25a5256429294, limb2: 0xa4c3b813887ac253e9bc4dd5, - limb3: 0x6eee2daf5b60dab9f5eb870 + limb3: 0x6eee2daf5b60dab9f5eb870, }, r0a1: u384 { limb0: 0x9444bf7e4bfe8944f3411b7e, limb1: 0xaba54fb4de33e741459d8419, limb2: 0xa2327c6e364f8783c0d5e1bb, - limb3: 0x838b6cadbc4926ff1e28231 + limb3: 0x838b6cadbc4926ff1e28231, }, r1a0: u384 { limb0: 0xc8b6a45166049617dcea7b54, limb1: 0x4ac49a392e6cf7439bc91ae1, limb2: 0xd74e10a7727f88165c078231, - limb3: 0x162f6576adad1b99778999fa + limb3: 0x162f6576adad1b99778999fa, }, r1a1: u384 { limb0: 0x75bd03c5dc8a6db2a547c786, limb1: 0x245ca34042521ea6d83ceda2, limb2: 0xcc92885b1570b94b70d80a05, - limb3: 0xb8b49d50bb600ad8d7ce9d0 - } + limb3: 0xb8b49d50bb600ad8d7ce9d0, + }, }, G2Line { r0a0: u384 { limb0: 0xe56c10fd708eba4c69c86be9, limb1: 0x47a28ca72cfe6f9c70ca8972, limb2: 0x6933ea5252a1c9ba1a14b029, - limb3: 0xad0112a4bbbe78974cf22f + limb3: 0xad0112a4bbbe78974cf22f, }, r0a1: u384 { limb0: 0xd79653f0250babd6c15550a3, limb1: 0x4fdd97d99b267a100baf5eab, limb2: 0x5dba0919fae69ccc77cc729a, - limb3: 0xfbfb0f0ef4a3dfc80f6b10 + limb3: 0xfbfb0f0ef4a3dfc80f6b10, }, r1a0: u384 { limb0: 0xdc11b768e081943936c71251, limb1: 0x8e402b0cf012643696d54eec, limb2: 0xe3a54b8bea8aa29cc92adfa3, - limb3: 0xda8bf357b7ecf5ee7e2935f + limb3: 0xda8bf357b7ecf5ee7e2935f, }, r1a1: u384 { limb0: 0xcef322bd8fd68dcf8292c80e, limb1: 0x8ae248af5d1c668e58fdcc5, limb2: 0x298acf2638b512874d35b32e, - limb3: 0x191d8257aa2319bc39753288 - } + limb3: 0x191d8257aa2319bc39753288, + }, }, G2Line { r0a0: u384 { limb0: 0xc83c67c05fbfeaefbbd5790a, limb1: 0x123a1cca4ede316a8294191e, limb2: 0x63fb9483204cb857d7463c, - limb3: 0x984ae3c2b6712fcebb6158b + limb3: 0x984ae3c2b6712fcebb6158b, }, r0a1: u384 { limb0: 0xb48a82e26de7b45ccf695c49, limb1: 0xfd69088e6325b4a59e2e3baf, limb2: 0xbc7a001c3fa6f52b1d25697e, - limb3: 0x4ff0e60086655cc572e1467 + limb3: 0x4ff0e60086655cc572e1467, }, r1a0: u384 { limb0: 0x3a0c2b22b46f25e18a89dd01, limb1: 0xa4fb3c83d574db22b6f0f2bd, limb2: 0x2a3bbdb8ad527267238eb4b5, - limb3: 0xc1632affc12f7ddc4fe9c05 + limb3: 0xc1632affc12f7ddc4fe9c05, }, r1a1: u384 { limb0: 0x7a6ccf0765a33ad6a4338e28, limb1: 0xb128bf3f00eadb3e353e99cb, limb2: 0x8345222b6d92f0e8ceffe694, - limb3: 0x13021a7c42029ef3b3a03b5b - } + limb3: 0x13021a7c42029ef3b3a03b5b, + }, }, G2Line { r0a0: u384 { limb0: 0x8b4b049da5868b96ec5ef16a, limb1: 0x8d5611c25dabe2e1e151b1a7, limb2: 0xddb71096536602ff67aef13e, - limb3: 0x195727ea0c31f99d279d2c66 + limb3: 0x195727ea0c31f99d279d2c66, }, r0a1: u384 { limb0: 0xd3e90be23a92f9b2796a042e, limb1: 0x85c1b8abb6a3db2341cbd934, limb2: 0x35f112e2a3bb74ebca814c9, - limb3: 0x11608b3602d92cd2961f734a + limb3: 0x11608b3602d92cd2961f734a, }, r1a0: u384 { limb0: 0x27ecf3c4fb84afd5ffe30e5, limb1: 0x7d3b6cadde4e3cfc2716482f, limb2: 0xf461db5c14254194af9677ad, - limb3: 0x74722715fddd1d8c8facb8e + limb3: 0x74722715fddd1d8c8facb8e, }, r1a1: u384 { limb0: 0xd794b12dc14b353bfc2efaef, limb1: 0x3ef7de5c1b936e7d05b5772c, limb2: 0x5109cd77e02b955f276af355, - limb3: 0x69e276dbbecd216f0aa3d6c - } + limb3: 0x69e276dbbecd216f0aa3d6c, + }, }, G2Line { r0a0: u384 { limb0: 0x10bc38abf4dda7f290877811, limb1: 0x90127c55e7589969a91be3ac, limb2: 0x29d96c2444ae7f01e263a0c3, - limb3: 0xf495e0c5443cde97f871315 + limb3: 0xf495e0c5443cde97f871315, }, r0a1: u384 { limb0: 0x6f2ac18b2680d1e8a605caa1, limb1: 0xb4a46aa677fb81fcbae9dbb9, limb2: 0x54e08bc2869b9a1d9a537c38, - limb3: 0x1465dd41a8a184fef79a2c1f + limb3: 0x1465dd41a8a184fef79a2c1f, }, r1a0: u384 { limb0: 0x9d53f734e25974abcfa47364, limb1: 0x9df11e087b97d3d542c984af, limb2: 0x25fab041d2456b22ec266690, - limb3: 0x495f3d7bdeb35ac71f1edb0 + limb3: 0x495f3d7bdeb35ac71f1edb0, }, r1a1: u384 { limb0: 0x887fd8b50e8827300a60f794, limb1: 0xfa5ba0761639eeb27f30bed9, limb2: 0x3fbae88761ebaedad5ddf541, - limb3: 0x55c11188a5ad9e22ab23b49 - } + limb3: 0x55c11188a5ad9e22ab23b49, + }, }, G2Line { r0a0: u384 { limb0: 0x7839770100e64978b29b5da1, limb1: 0xd1797b5709b5e941a25bd854, limb2: 0xe380c0aa684a2ef24741f60d, - limb3: 0xd793a27db3f49ebe18c4a1e + limb3: 0xd793a27db3f49ebe18c4a1e, }, r0a1: u384 { limb0: 0x559bdbe1d7eeb10a2746f1bd, limb1: 0xb9c58c75c214aab2bf45be6a, limb2: 0x9895443b8ceac7617274a4cc, - limb3: 0x8f43c50f9fe87ae296cfb2d + limb3: 0x8f43c50f9fe87ae296cfb2d, }, r1a0: u384 { limb0: 0xdda6f32b4b0b7b32d265129e, limb1: 0xe464575f3e1f24bb18636f8b, limb2: 0xb224edd6479be27e01119c05, - limb3: 0xca892cd7b21339a629ec82c + limb3: 0xca892cd7b21339a629ec82c, }, r1a1: u384 { limb0: 0xdf94aa2f2ba69324fb2ae4c5, limb1: 0x74d6e4984282ba272947e515, limb2: 0xad622ab52799cf8f5434661, - limb3: 0x14b019e003467d8befe14c7c - } + limb3: 0x14b019e003467d8befe14c7c, + }, }, G2Line { r0a0: u384 { limb0: 0xb969376bae3c9436802b382d, limb1: 0x4bb02af7cd7b5f2095de8558, limb2: 0x7e915e624ef6b238784c8ee9, - limb3: 0x5ad75d07fc6e51553e8446b + limb3: 0x5ad75d07fc6e51553e8446b, }, r0a1: u384 { limb0: 0xf2f3c721941407cd6fc65214, limb1: 0xf96f4682200bf90560f9d7d0, limb2: 0x6ff674edd3cdcebfbc6927c2, - limb3: 0x70b924a36d0d0d18d1f86c0 + limb3: 0x70b924a36d0d0d18d1f86c0, }, r1a0: u384 { limb0: 0xfa5f3d9bae88dd30a37e6ee7, limb1: 0x46acb9ec3468325eebed87f4, limb2: 0x996d6196a4f5ed86336dfe3a, - limb3: 0x15aa069b9cb15c0d9e13affd + limb3: 0x15aa069b9cb15c0d9e13affd, }, r1a1: u384 { limb0: 0xf57275082d3033d0931cd97e, limb1: 0xb5af04905693380e449363fc, limb2: 0x67cb680f814b147d1c0510c9, - limb3: 0x7960dff606f541c7946b9d - } + limb3: 0x7960dff606f541c7946b9d, + }, }, G2Line { r0a0: u384 { limb0: 0xc15b372196a4663350cd2b9, limb1: 0x2753dbf2d814a0dfa80e8275, limb2: 0xf3d176cfd4b31f6947d9bc88, - limb3: 0x17c0bb87847c506117e6cd23 + limb3: 0x17c0bb87847c506117e6cd23, }, r0a1: u384 { limb0: 0x76f4129f303039129cc79e0, limb1: 0x7eaf05f9708ca7853218d75, limb2: 0x590ed883b2ed7b5f645ff44c, - limb3: 0x1684dfe0af35fe16ba5ba930 + limb3: 0x1684dfe0af35fe16ba5ba930, }, r1a0: u384 { limb0: 0x277e726e10e54e13daa7f4b8, limb1: 0x1357f42678e08ea031bb2b12, limb2: 0xca1c568eabcf8afe53c814f7, - limb3: 0x19bc460f5cd30977d21d9739 + limb3: 0x19bc460f5cd30977d21d9739, }, r1a1: u384 { limb0: 0x33eb94313ab593654dbd54ee, limb1: 0x7c237036496ce5f8f11c17fe, limb2: 0xdfd944729987f793c15e4453, - limb3: 0xd63a6276a212ce9a1e58aa7 - } + limb3: 0xd63a6276a212ce9a1e58aa7, + }, }, G2Line { r0a0: u384 { limb0: 0xf20da79d7dfa037538abd816, limb1: 0x96c0beb5faf5af5df9b8ad6f, limb2: 0x3aa4377fa088a6cf85b99168, - limb3: 0x153bee48b03425e71179bfd3 + limb3: 0x153bee48b03425e71179bfd3, }, r0a1: u384 { limb0: 0xf5a3dc9e621f522295873202, limb1: 0xfd7f4a0f3fae36c0e07bcfb0, limb2: 0x91787b55b90027dfbba4dc47, - limb3: 0x602b94eac31f07e247331ce + limb3: 0x602b94eac31f07e247331ce, }, r1a0: u384 { limb0: 0x4d41921c8d757cb2e15c0d98, limb1: 0x3ae914662ef2442249290f10, limb2: 0xa1fb6f06697cc519f0bb38a7, - limb3: 0x2f6ddde5351135b578991f0 + limb3: 0x2f6ddde5351135b578991f0, }, r1a1: u384 { limb0: 0xc87d3c0bd12fb496ed8f5a54, limb1: 0xc3a104d91a2340a8f822da07, limb2: 0x56e3f922970841517593e69, - limb3: 0x92b551cd42df98975fce59a - } + limb3: 0x92b551cd42df98975fce59a, + }, }, G2Line { r0a0: u384 { limb0: 0xdb6c7a0774018772e50dafcc, limb1: 0xbde46cf045ab017eac2816e2, limb2: 0x824d39b935708d80ca98241c, - limb3: 0xbfabbb42779252feb5d25e5 + limb3: 0xbfabbb42779252feb5d25e5, }, r0a1: u384 { limb0: 0x788ab20840dee69cea429120, limb1: 0xa417d7d1b270d5611c01b727, limb2: 0x2b196689ca63e5a20e13badb, - limb3: 0x1091fc7332394b464cc2444c + limb3: 0x1091fc7332394b464cc2444c, }, r1a0: u384 { limb0: 0x2e9e2a6964ebf268df4932e5, limb1: 0x77632a4b8d6670e8867982ac, limb2: 0xa854b6cad13eb7b32654a369, - limb3: 0x47857d8ec55a7a26b65ed42 + limb3: 0x47857d8ec55a7a26b65ed42, }, r1a1: u384 { limb0: 0xe11be4ab63d3f43b4f493247, limb1: 0xdda4441c10bf9c3d1a7045a7, limb2: 0xaecbee2883c54e7a6ed845c9, - limb3: 0x184f1f4eb029266cab0f8a9d - } + limb3: 0x184f1f4eb029266cab0f8a9d, + }, }, G2Line { r0a0: u384 { limb0: 0xa89a525e63cee0c3dd6dcbdd, limb1: 0x260af65091e1b14cdfcd6a9b, limb2: 0x8674f3d64ab6a0dfa428a734, - limb3: 0xd83461b7d229a47477b452f + limb3: 0xd83461b7d229a47477b452f, }, r0a1: u384 { limb0: 0x4ea9d854c2d19cd6c91f75c6, limb1: 0x6faa63eeb0ea28a567141c51, limb2: 0xf32028bf055906e69704c788, - limb3: 0x161a2c2d45c521243105d3e + limb3: 0x161a2c2d45c521243105d3e, }, r1a0: u384 { limb0: 0xcc932dd5deb1d63753156319, limb1: 0x13f05a2fb2e964c1a8a2e28e, limb2: 0x5cfd3943f10bcad6ecc2ea6b, - limb3: 0x10a0f702fead13effc9e9f1c + limb3: 0x10a0f702fead13effc9e9f1c, }, r1a1: u384 { limb0: 0x856d3b6773cabc8ff27af841, limb1: 0xe7990cc9655a8869cc53dc7c, limb2: 0x3dc0945d12fc0d72f4ebd1af, - limb3: 0x18e7f2418d2abfce90cf506d - } + limb3: 0x18e7f2418d2abfce90cf506d, + }, }, G2Line { r0a0: u384 { limb0: 0xe99a02683b93ce550ef8951a, limb1: 0xa9abcbc9f1e57aac617d5a71, limb2: 0xfd2264b1427ae649f3a4e1ef, - limb3: 0x15ff7a8e11d9ae7d538a8b00 + limb3: 0x15ff7a8e11d9ae7d538a8b00, }, r0a1: u384 { limb0: 0x503500bd91432999dba8d5ce, limb1: 0xd95bddb364aa203f3840ebf3, limb2: 0x59e6dfc06d85fbf164cae37a, - limb3: 0x1382a254297b2a3c664514d1 + limb3: 0x1382a254297b2a3c664514d1, }, r1a0: u384 { limb0: 0x9097edb6dbf1b71a8c368587, limb1: 0x532fc71978fa4554bbfdd7ea, limb2: 0x5324ddb0fff76cdd1bef7534, - limb3: 0x43fed1dbcdad88e4eae01ee + limb3: 0x43fed1dbcdad88e4eae01ee, }, r1a1: u384 { limb0: 0xc635a4270f612344c7c2577c, limb1: 0xe4eb707545e699537d72d73e, limb2: 0x40574795e3c651067e4021ac, - limb3: 0x13dbaabb12a73c5d10348fda - } + limb3: 0x13dbaabb12a73c5d10348fda, + }, }, G2Line { r0a0: u384 { limb0: 0x1a2d52c61eb99a17a3be3cd9, limb1: 0x4eecc3591b88b7e445de86a3, limb2: 0xf4864a4ecffedb9825372e24, - limb3: 0x6f605dc4849a207692e010d + limb3: 0x6f605dc4849a207692e010d, }, r0a1: u384 { limb0: 0x3acd6290375e15bccbe5b23c, limb1: 0x36c7d38bd9a1a396291b0837, limb2: 0xc0dc84c282cca2fe3d70cc82, - limb3: 0x24caee93425f8b557dc23d6 + limb3: 0x24caee93425f8b557dc23d6, }, r1a0: u384 { limb0: 0x76300db4b9d505a255fff33f, limb1: 0x35af05b45d0477b7367e86c5, limb2: 0xde8815ffa8ad532cf68bd313, - limb3: 0x3054d735bb0c22331cee080 + limb3: 0x3054d735bb0c22331cee080, }, r1a1: u384 { limb0: 0xf5c2e1a9439c2a46aac504a0, limb1: 0xbb192ed1b6154a8a8759f705, limb2: 0x51314d3bdedfa5d487255b3b, - limb3: 0x4b2e182290ab34447644799 - } + limb3: 0x4b2e182290ab34447644799, + }, }, G2Line { r0a0: u384 { limb0: 0x1a96d93e90e2ff176753ab18, limb1: 0xade05825ee054ce9e6aa7652, limb2: 0xd6a9decd70aaa6b4963911ae, - limb3: 0xf299b64b98f8cbfef181bb9 + limb3: 0xf299b64b98f8cbfef181bb9, }, r0a1: u384 { limb0: 0x1f4b4e96e678e91f5136b57, limb1: 0x38f0a1243e66287b99527276, limb2: 0x35f3c0d6c73a9c5df947c52b, - limb3: 0xbd66bc9ceb8ca2f089cd853 + limb3: 0xbd66bc9ceb8ca2f089cd853, }, r1a0: u384 { limb0: 0x83d71050041829043e791eff, limb1: 0xc3e374927bd34a428d5e8b71, limb2: 0xba4af9bfd6eef2f2f46d4ac1, - limb3: 0x3f3eed8249fd695c1e30a35 + limb3: 0x3f3eed8249fd695c1e30a35, }, r1a1: u384 { limb0: 0x7a118b9c162bdc488e1987d8, limb1: 0x8d7006d37a064b13604cc87f, limb2: 0x9aa2b399b83e8ebe5e4485eb, - limb3: 0x9507e154475bf5fa909df2 - } + limb3: 0x9507e154475bf5fa909df2, + }, }, G2Line { r0a0: u384 { limb0: 0xaaad16d27f79a631ad790eef, limb1: 0xae1f9bbc2c4ec614b31501a5, limb2: 0x76c9cba7d0b6ea3af8908f54, - limb3: 0x8cb7a6a8e9114893f6644ff + limb3: 0x8cb7a6a8e9114893f6644ff, }, r0a1: u384 { limb0: 0xb29d1b611350cf14a1ff5b64, limb1: 0xc4447fdb999569b727058ef5, limb2: 0xfda61b5986ff6f5d9f152b51, - limb3: 0x23d1e1edcc9d6ebe666be7c + limb3: 0x23d1e1edcc9d6ebe666be7c, }, r1a0: u384 { limb0: 0x3d4f1112105d01b9b097a930, limb1: 0x1e91e032d07d86e09c81fc2c, limb2: 0xa3f3ef90b2cf32ff4d39187b, - limb3: 0xc7030a9f46cddfe8fbe6edb + limb3: 0xc7030a9f46cddfe8fbe6edb, }, r1a1: u384 { limb0: 0xd5d65ce0b325226fb72dc92b, limb1: 0x6e31b2b7f19c109c18fbd01b, limb2: 0xee8f8e11ae8ac7ab0576e625, - limb3: 0x365346e2cd8b13c2139031c - } + limb3: 0x365346e2cd8b13c2139031c, + }, }, G2Line { r0a0: u384 { limb0: 0x958c5cbc7b7c5871f23dfcf, limb1: 0x7854e164fda1398cfd8ea3a4, limb2: 0x75c6a007ac2a2dad8ae4fceb, - limb3: 0x1366af4f5f203de7130aac6b + limb3: 0x1366af4f5f203de7130aac6b, }, r0a1: u384 { limb0: 0x735cb088c084a95da948d7b6, limb1: 0xfb4720c591f19db6fa2d240d, limb2: 0x1c1e1ba0f8cb09e9c74012e0, - limb3: 0xebcb762ec15441bbe5e90f + limb3: 0xebcb762ec15441bbe5e90f, }, r1a0: u384 { limb0: 0xfa515cf322fa715c42dd2f41, limb1: 0xd5aa8484650615117c7b96a0, limb2: 0x6a6be8954ff02d512c49b618, - limb3: 0x192a8d310a23babfb03ce402 + limb3: 0x192a8d310a23babfb03ce402, }, r1a1: u384 { limb0: 0x422c26ea60eb07cc4e36501, limb1: 0x517f2958deb48911f0a19c1f, limb2: 0x89112f6559c627eb9b401955, - limb3: 0x132d0703aac38ddcd55e349f - } + limb3: 0x132d0703aac38ddcd55e349f, + }, }, G2Line { r0a0: u384 { limb0: 0x15699baf9687ab96747973ac, limb1: 0x45d8e4b0b8dd9546b5c2160e, limb2: 0x97ef45aa8fc2ea6973fb25f0, - limb3: 0xd22da827adc6fd4557cead9 + limb3: 0xd22da827adc6fd4557cead9, }, r0a1: u384 { limb0: 0x85e49ef128bb2219b1f07ac7, limb1: 0x295e9710438a530329d7e3b, limb2: 0xa3aa3e7050cc9d1b3bdcc481, - limb3: 0x95f4b12ee5a15214982e790 + limb3: 0x95f4b12ee5a15214982e790, }, r1a0: u384 { limb0: 0x8699fce7031397e3b1a37ca4, limb1: 0x43de46654e0285505fd46631, limb2: 0x801c0f81eb7d3e37e2800f96, - limb3: 0xf3b98ea40864c154194cf17 + limb3: 0xf3b98ea40864c154194cf17, }, r1a1: u384 { limb0: 0xf3890e04481b23922bebe93e, limb1: 0x5f4a9113311cf1fa14c46464, limb2: 0xc951bddb7ac353270c243e05, - limb3: 0x17fe34cd769864cf6eb82f26 - } + limb3: 0x17fe34cd769864cf6eb82f26, + }, }, G2Line { r0a0: u384 { limb0: 0x5b8ddb5ef759c26463a5c2d5, limb1: 0x23dfe2a291f1c6d3e701c5f1, limb2: 0xbde479c12792bc7c7ba6f007, - limb3: 0x53d3da343236190fbd3d670 + limb3: 0x53d3da343236190fbd3d670, }, r0a1: u384 { limb0: 0x2b975b85fccd8c75e7b35e71, limb1: 0xf35a56815cc0008976b199cf, limb2: 0x9db07692a2a10c279318a5e5, - limb3: 0xfefeb9821fedbb7a8d96405 + limb3: 0xfefeb9821fedbb7a8d96405, }, r1a0: u384 { limb0: 0x89123d390cc0b45334219d5c, limb1: 0x8580bdc8b5a9431143616a9f, limb2: 0x842a78eb06dea913f0ddc70b, - limb3: 0x14c94d04e4c3db61ccc9cb3e + limb3: 0x14c94d04e4c3db61ccc9cb3e, }, r1a1: u384 { limb0: 0xfb325786a902cd41972616cd, limb1: 0xaf06f0ef70a3d64f48f86731, limb2: 0xcfd0ca15c2b367e8c5e13162, - limb3: 0x2b733169837e8718b14ad9e - } + limb3: 0x2b733169837e8718b14ad9e, + }, }, G2Line { r0a0: u384 { limb0: 0x1060e79efcf4fe162043c999, limb1: 0xf9eb475ab49e172512cb8d8b, limb2: 0x2c62b0aa1a64b223b7de2573, - limb3: 0x1021b449fce423340b5d8bff + limb3: 0x1021b449fce423340b5d8bff, }, r0a1: u384 { limb0: 0x560013da8e110b1f16208fc7, limb1: 0xb19b49f510c03417ab3a3cc, limb2: 0x93468e27a99ea01b543b9de4, - limb3: 0xf5a062536c69ebccb457f7a + limb3: 0xf5a062536c69ebccb457f7a, }, r1a0: u384 { limb0: 0x7e8393bbf3cbe32958ca97d, limb1: 0x3bd384fe8c76515821397c19, limb2: 0x480d7ef46bbcd067589b513a, - limb3: 0x466d9efc0da462be4e956e7 + limb3: 0x466d9efc0da462be4e956e7, }, r1a1: u384 { limb0: 0xbb73b034d01cd3a7fdb30d5e, limb1: 0x710f1a8bee89f88df336c5b6, limb2: 0x4b51ff95ebc39c295bd392da, - limb3: 0x23be92062c2f86a8fe77642 - } + limb3: 0x23be92062c2f86a8fe77642, + }, }, G2Line { r0a0: u384 { limb0: 0x2c13a83b4df1f9225a2b6ac4, limb1: 0x853239dcc27a4a3006c48823, limb2: 0xb7c61b932f7131b1a9e9cfe9, - limb3: 0xc235c22bed928a49c57d91 + limb3: 0xc235c22bed928a49c57d91, }, r0a1: u384 { limb0: 0x2ad555d3488695aabbdc2bfa, limb1: 0x36aeaecc0bc432b07fdde898, limb2: 0xc181cebea90ec0398d441027, - limb3: 0x2e4624ac3edf8e0004356d2 + limb3: 0x2e4624ac3edf8e0004356d2, }, r1a0: u384 { limb0: 0x115f2c7dd57e1f443abdcb76, limb1: 0x2e6ce3e4e2decdc9746d55aa, limb2: 0xf0040696fee584095938d6c3, - limb3: 0x97772521a37efc5538534aa + limb3: 0x97772521a37efc5538534aa, }, r1a1: u384 { limb0: 0xe2910d7b44ed8f54620b8dd5, limb1: 0x9d8b8ef67190e2769539ee1f, limb2: 0xdeb8a208bbe43737d771940d, - limb3: 0x1919f1a600fb184dab5ad252 - } + limb3: 0x1919f1a600fb184dab5ad252, + }, }, G2Line { r0a0: u384 { limb0: 0x9d0d7048ae34c4d5fd999612, limb1: 0x3cf823d17229c90d32e33935, limb2: 0xe549cdf7a4a7ecc98e34136d, - limb3: 0xedebc96cb4b5187ae9eb3b1 + limb3: 0xedebc96cb4b5187ae9eb3b1, }, r0a1: u384 { limb0: 0x6fa66fc33a35822ad71cd240, limb1: 0x665c350e7ae9ad6ec24f19bc, limb2: 0xb442d0f327ec882e35df22bc, - limb3: 0x16252435446b7d36124af764 + limb3: 0x16252435446b7d36124af764, }, r1a0: u384 { limb0: 0x83640672a553a4cd021ba5b3, limb1: 0x44865aa1ee3d773c912611d2, limb2: 0x740ba61daae6eecae5e97813, - limb3: 0x83def394c91369300fe0c8b + limb3: 0x83def394c91369300fe0c8b, }, r1a1: u384 { limb0: 0x3df995f1c2ed04d80229d6b, limb1: 0xa51edc17429362d673cb1982, limb2: 0x5b44377d34824757730568f2, - limb3: 0xab03d8687d1f4d4a6ad051d - } + limb3: 0xab03d8687d1f4d4a6ad051d, + }, }, G2Line { r0a0: u384 { limb0: 0x6124886478f2cc18ac7a2e2b, limb1: 0xee512c975e35cedc82c7d7ac, limb2: 0xda37b3d1093cef0103927f42, - limb3: 0x59bf82d1ceccaf2aace94c + limb3: 0x59bf82d1ceccaf2aace94c, }, r0a1: u384 { limb0: 0x940fedecedd43793654043ca, limb1: 0xe942254619040c18fec28670, limb2: 0x1a38d414bae72d7c18228ee4, - limb3: 0x5a0cae960c221324c382272 + limb3: 0x5a0cae960c221324c382272, }, r1a0: u384 { limb0: 0x5243bdae31b236a6db41a014, limb1: 0x446200b5b60cf3a1f7ddecd0, limb2: 0x8199c68b061ab197ff4f291e, - limb3: 0x132024182ad8ed489493e7c1 + limb3: 0x132024182ad8ed489493e7c1, }, r1a1: u384 { limb0: 0x75b6b4b39dfd6310bbe2bbfe, limb1: 0xc24329c463cf2dce4a0f2b1e, limb2: 0x6351f8b4dd6b98d8dd08571f, - limb3: 0xb7e166947856100686caba7 - } + limb3: 0xb7e166947856100686caba7, + }, }, G2Line { r0a0: u384 { limb0: 0x272c89200c794cd147e788e0, limb1: 0x9fb565bb136cbb8045af5f87, limb2: 0x2069950ae2ba4f18fba1f9fc, - limb3: 0x177b5c95ff2830d6599abe46 + limb3: 0x177b5c95ff2830d6599abe46, }, r0a1: u384 { limb0: 0xe5c6a8868f65fdb92938a0df, limb1: 0xaf9e901c048eba76cc3ff87e, limb2: 0xbb4bca9f829983ebcf7b0bf7, - limb3: 0x10225e60b74938217982949d + limb3: 0x10225e60b74938217982949d, }, r1a0: u384 { limb0: 0x59223b55e73462497ab88909, limb1: 0xbf85c496ae8b9fda76002199, limb2: 0x62a031731b66c76791e92203, - limb3: 0x171879670265e69690032708 + limb3: 0x171879670265e69690032708, }, r1a1: u384 { limb0: 0x8cf19356fa7fde4256452335, limb1: 0x1b1278bec957e29ee831ae02, limb2: 0x5502af18627227d6b332cbc4, - limb3: 0xcdc76b668164420b81016aa - } + limb3: 0xcdc76b668164420b81016aa, + }, }, G2Line { r0a0: u384 { limb0: 0x98b10da09c71a6b94aad296e, limb1: 0x97a8da4b49e9fc2146de78cb, limb2: 0xa2100c253b27bc556c580b05, - limb3: 0xe1e69f673f88fb5aa0bc47c + limb3: 0xe1e69f673f88fb5aa0bc47c, }, r0a1: u384 { limb0: 0xeece167c5aa9aedda2c67b05, limb1: 0x91ffc99bde37b51ebb425d99, limb2: 0x6586a39a7d8e9fd43508c82c, - limb3: 0x199a9fb2588fc41c2870dc15 + limb3: 0x199a9fb2588fc41c2870dc15, }, r1a0: u384 { limb0: 0x69e49f06891dba8debf248eb, limb1: 0x6ed2813541abd5529f4e3c13, limb2: 0x38db1dcc2959a7e5e9a38356, - limb3: 0xe38a613edc814d28ff5c13b + limb3: 0xe38a613edc814d28ff5c13b, }, r1a1: u384 { limb0: 0x82a33409cbff8d789eed7d49, limb1: 0x25e41243c614be1b6527905, limb2: 0x9440ecdaa3e3636a114ebf8, - limb3: 0x188e41337ca6ebcbb51cfbaa - } + limb3: 0x188e41337ca6ebcbb51cfbaa, + }, }, G2Line { r0a0: u384 { limb0: 0x4fea2f2144c44633b936b99, limb1: 0xdfbe01d451c34a28a5d884ba, limb2: 0x6356b21e2e72b3a569637b53, - limb3: 0x17535b31f03f5fa8ce0bbf9e + limb3: 0x17535b31f03f5fa8ce0bbf9e, }, r0a1: u384 { limb0: 0xe0571a3149f69dca26a5436c, limb1: 0x403d0b7768cb8d00af7bcf12, limb2: 0x42f0dfba12b6b3254ec517f, - limb3: 0x19795ebfcb47ee3183979c02 + limb3: 0x19795ebfcb47ee3183979c02, }, r1a0: u384 { limb0: 0xf21e9a787a07fbeb68fdd736, limb1: 0xc934d940ba208f191ab26d3c, limb2: 0xaefc28a158eeec24acadaf8b, - limb3: 0x14403ea146584a7812452cd8 + limb3: 0x14403ea146584a7812452cd8, }, r1a1: u384 { limb0: 0xf2af0115631f55c3a44a5f54, limb1: 0xf9411911e95c09167f70d836, limb2: 0xd44bc506063a460a978a380e, - limb3: 0x180d8392357243d607d78851 - } + limb3: 0x180d8392357243d607d78851, + }, }, G2Line { r0a0: u384 { limb0: 0x9fdd8b5b697f5dd293e1a76b, limb1: 0xa96d6505267352e6f704935c, limb2: 0xe30162de2b8b9f5fba1bd4bb, - limb3: 0x8e28439fb40933f21df4125 + limb3: 0x8e28439fb40933f21df4125, }, r0a1: u384 { limb0: 0x9f09979d8fc693b5ed13014f, limb1: 0xff6e48f2f458df94eec90781, limb2: 0x19298b6ba3353dca1030a0ca, - limb3: 0x1516a205be895cc94ddf856f + limb3: 0x1516a205be895cc94ddf856f, }, r1a0: u384 { limb0: 0xc4059e6b093b22c8e1bde28, limb1: 0xb7225ce7a598e40389484960, limb2: 0x9681cc18d063610fa821bc03, - limb3: 0xb32e29276eeb86d761513e7 + limb3: 0xb32e29276eeb86d761513e7, }, r1a1: u384 { limb0: 0xabf2383d22bb76c149aa2ad7, limb1: 0xab677034d9b95445962984ac, limb2: 0x844d69ca653908adca99d46, - limb3: 0x1561b679e85c3aab327e6b35 - } + limb3: 0x1561b679e85c3aab327e6b35, + }, }, G2Line { r0a0: u384 { limb0: 0xc6b6d49d468231b1e43957ee, limb1: 0xb2dd14e7a0ef4f763a11ba9e, limb2: 0x607166185e56a158247fb57e, - limb3: 0xdaca26b0975b9b16f9dd8e0 + limb3: 0xdaca26b0975b9b16f9dd8e0, }, r0a1: u384 { limb0: 0x755e376bde1d6457dc11a98c, limb1: 0x461e42cfd40b3b4f720f2d6d, limb2: 0xcb98f9df907653951d3552e5, - limb3: 0x1622b7062c0ff1f549f2056c + limb3: 0x1622b7062c0ff1f549f2056c, }, r1a0: u384 { limb0: 0xddd74d89af8507950ad474c3, limb1: 0xa0d1d6eab751a63a4741aa67, limb2: 0x809864aa0756c0345ad8f95b, - limb3: 0x19ad2fb756ef19d153debbc3 + limb3: 0x19ad2fb756ef19d153debbc3, }, r1a1: u384 { limb0: 0xe4c04b7d418da7dc521db68c, limb1: 0xd68db67480f415c5c1f1540, limb2: 0xcc6c3f3571230f97af5fae46, - limb3: 0x6a3947541daa68ecc643fb2 - } + limb3: 0x6a3947541daa68ecc643fb2, + }, }, G2Line { r0a0: u384 { limb0: 0xadafaa267f908d69386af731, limb1: 0xde5cd6d7f9c76ebfd7ed1503, limb2: 0xb90709cac4c5e37885268f57, - limb3: 0x44c7cae9f5809069081870a + limb3: 0x44c7cae9f5809069081870a, }, r0a1: u384 { limb0: 0x8e2baef46b7310052faa7b62, limb1: 0x1d5ecd4dccacb207952f4c3d, limb2: 0x1c4abff0daf903bac4bea1e9, - limb3: 0xe17badea1b419cb261ca9c9 + limb3: 0xe17badea1b419cb261ca9c9, }, r1a0: u384 { limb0: 0xaa232a7c023966b88ef26311, limb1: 0x159b7596772d43113ef71fab, limb2: 0xb113647f7765b991d9915c2a, - limb3: 0x17e99f889166a2f7932cf383 + limb3: 0x17e99f889166a2f7932cf383, }, r1a1: u384 { limb0: 0x6f0711a2f3f758f1c7529ebc, limb1: 0x1af6895cfc3465f18ba190ce, limb2: 0xcf03b4526ccac420123fd885, - limb3: 0x16c791f98c5064fad5d87d11 - } + limb3: 0x16c791f98c5064fad5d87d11, + }, }, G2Line { r0a0: u384 { limb0: 0x95bc3acd1dbcd08d20f99a9a, limb1: 0x5e451756a929b6144bc485ba, limb2: 0xae9c055718137232e71b8e7f, - limb3: 0x1577307f04a2a6802d0de028 + limb3: 0x1577307f04a2a6802d0de028, }, r0a1: u384 { limb0: 0x5c8f20f421b04157a09f04c6, limb1: 0x210aa23e578f87e9bbd50108, limb2: 0xfa44a24dba5f661ffe0372c6, - limb3: 0xde501b7b4a7c497dbae0723 + limb3: 0xde501b7b4a7c497dbae0723, }, r1a0: u384 { limb0: 0x73ed700382051ae7b1db6bb6, limb1: 0xc50ddff17b0556bd5621aa3c, limb2: 0x122d0c116f51709bdba0a8fe, - limb3: 0x138c7cb7c73ceb6fd3b24232 + limb3: 0x138c7cb7c73ceb6fd3b24232, }, r1a1: u384 { limb0: 0x8cec31b5c5ea717895857b08, limb1: 0x7b5be6faf88ac2fb624b9489, limb2: 0x4cde2e36d0606a524b9afcac, - limb3: 0xfb04201af23031e937f87da - } + limb3: 0xfb04201af23031e937f87da, + }, }, G2Line { r0a0: u384 { limb0: 0x7eef546a9a54ed933283dc32, limb1: 0x2f958ff1bd33ae205359ba45, limb2: 0x4beda973ca3e41934d0945d1, - limb3: 0x16c93c9ac9718722abaea94f + limb3: 0x16c93c9ac9718722abaea94f, }, r0a1: u384 { limb0: 0x10b28f7ddeb274f228c31e62, limb1: 0x6223c0a397b6165eab1d4795, limb2: 0xde245ad6269a80313be23b84, - limb3: 0x14dad34f376675fa17159b1e + limb3: 0x14dad34f376675fa17159b1e, }, r1a0: u384 { limb0: 0x17c7c88c61161d6435c5daa5, limb1: 0xd0aac2f4bc18707213a80c1e, limb2: 0x492ae4a8c44b4a1791fecf07, - limb3: 0x9fde416d1ce1461b898b530 + limb3: 0x9fde416d1ce1461b898b530, }, r1a1: u384 { limb0: 0x5924e09aaff024aad86c2bb3, limb1: 0x45f116cb413b940c0c8ad68a, limb2: 0x3023488276dfbc1577893256, - limb3: 0xebcd32018261bf6cee2aa4e - } + limb3: 0xebcd32018261bf6cee2aa4e, + }, }, G2Line { r0a0: u384 { limb0: 0x1f72ae56a82c6deeffd5e12d, limb1: 0x42a8fe11f639f0f4769ca2de, limb2: 0xa839e74b5db0d4d96a9c09d2, - limb3: 0x21bb0fe1fde89edd58facdd + limb3: 0x21bb0fe1fde89edd58facdd, }, r0a1: u384 { limb0: 0x9a65ebb34b3cc95b6448d811, limb1: 0xa91267c18e68b973b7c7b595, limb2: 0x92ae1415b493a4822fce651c, - limb3: 0x5a83f6968dee7ca53037a22 + limb3: 0x5a83f6968dee7ca53037a22, }, r1a0: u384 { limb0: 0xae4501a657e9e2aa7fb385ce, limb1: 0xdff063e0d0c3db964661e8d2, limb2: 0xd96450190095ea74c7c47860, - limb3: 0x18c0ee838f14d716aef67921 + limb3: 0x18c0ee838f14d716aef67921, }, r1a1: u384 { limb0: 0xcc6fd08a5c7a625108edde7e, limb1: 0x4877444b75cfadc89c7cc80d, limb2: 0x78df79f08842728a8dfe9eef, - limb3: 0x179219c982b34ce20d260115 - } + limb3: 0x179219c982b34ce20d260115, + }, }, G2Line { r0a0: u384 { limb0: 0x29ad362978e21398eebf795f, limb1: 0x51fe78412ed406b6e706ff2b, limb2: 0x5397ad462a025210bb36aa2f, - limb3: 0xfe9afdf4aef4daac591fa2b + limb3: 0xfe9afdf4aef4daac591fa2b, }, r0a1: u384 { limb0: 0x516c76de17f0d6ea63f796b, limb1: 0xda055a6f42a65b6645b58a87, limb2: 0xfca5488873cbdeb4c734ba27, - limb3: 0x114d159710178f068e890c2c + limb3: 0x114d159710178f068e890c2c, }, r1a0: u384 { limb0: 0xb7d1c81e239246bc39e20d97, limb1: 0x1ab04e9938568f66fd85eb85, limb2: 0xf6d44deb3d0a82fd50819060, - limb3: 0x104438b881ec394d9fd92cab + limb3: 0x104438b881ec394d9fd92cab, }, r1a1: u384 { limb0: 0x80b68cc97de83bd32e36ddd4, limb1: 0xd5f6fa44b2df0779aa536193, limb2: 0xaf629ece4defcbce85510ab6, - limb3: 0x84b0d66102fdc2869a09a84 - } + limb3: 0x84b0d66102fdc2869a09a84, + }, }, G2Line { r0a0: u384 { limb0: 0xea8a49cc987d661291e12693, limb1: 0x59b450127a0d913626c58776, limb2: 0xe7f24df1ca086010b7d01105, - limb3: 0x867e8ea5e54d79ae2a6d00b + limb3: 0x867e8ea5e54d79ae2a6d00b, }, r0a1: u384 { limb0: 0xfd112f0bcf025150b41a701a, limb1: 0xbce62d6eb125fc95d7038ee6, limb2: 0x7db90f26f2784e7a8424f024, - limb3: 0x1397bf8e16134755bf1d3968 + limb3: 0x1397bf8e16134755bf1d3968, }, r1a0: u384 { limb0: 0x36038d3443ab41bd2af0e3b5, limb1: 0xba741669e71f7b571586f409, limb2: 0x4140f0716ba60a7d7a477004, - limb3: 0x16dbd6d7aea80193167b878 + limb3: 0x16dbd6d7aea80193167b878, }, r1a1: u384 { limb0: 0xc8dd57a935f217809eee1de0, limb1: 0x937aadaa4a4760805e491936, limb2: 0x24c3e76750bb6ac77ca7e209, - limb3: 0x30777905eb690b8538c4ac7 - } + limb3: 0x30777905eb690b8538c4ac7, + }, }, G2Line { r0a0: u384 { limb0: 0x902aac58eb96caaff71b582f, limb1: 0xf52a4771f65469ba56bc0662, limb2: 0x5895a8890090eab8c1f7b798, - limb3: 0x8a229ff1c75c7a484fd234 + limb3: 0x8a229ff1c75c7a484fd234, }, r0a1: u384 { limb0: 0xfa7ef9a4ab063b7afbf4d128, limb1: 0x9fb547747056804a9fa54cfc, limb2: 0xc5aac2c5077de8b2bd37f33f, - limb3: 0x18d0fc99a4822e514913d06e + limb3: 0x18d0fc99a4822e514913d06e, }, r1a0: u384 { limb0: 0x2762d0d600884766a5a5a464, limb1: 0x637c81f8258dc8da3a25faa2, limb2: 0x9a70667726b3d5fad2f61ddd, - limb3: 0x1632e5528689601952f5c248 + limb3: 0x1632e5528689601952f5c248, }, r1a1: u384 { limb0: 0x41172f827c65f28e7f13f0c5, limb1: 0xc768ca9c3948f7835a9850df, limb2: 0x92f4cc677df919cda4ed58e8, - limb3: 0x845e207a60af0762fda45c4 - } + limb3: 0x845e207a60af0762fda45c4, + }, }, G2Line { r0a0: u384 { limb0: 0xbd18c8928d23dd0e0f2161e0, limb1: 0x4e33b40902738785b26b6e74, limb2: 0xb623fecc05d23249eb4047dc, - limb3: 0x3ff9af12486b7bd8d629796 + limb3: 0x3ff9af12486b7bd8d629796, }, r0a1: u384 { limb0: 0xd0365626609ed6bec907d385, limb1: 0x98b32fc6ce83cc620c19bd88, limb2: 0x2c5c79d2c6332d65dab98ac9, - limb3: 0x51da1c5a7d8e3a9787b652c + limb3: 0x51da1c5a7d8e3a9787b652c, }, r1a0: u384 { limb0: 0x5f028cc4f94dd08ee4a357de, limb1: 0x4f345e1d7451ef79a178e4fe, limb2: 0x2ca907f6249e45a43f481b5b, - limb3: 0xc8244f7e7b0499edd3368be + limb3: 0xc8244f7e7b0499edd3368be, }, r1a1: u384 { limb0: 0xbff4a6495199c8b9599d7ab7, limb1: 0x2ac3014911235d9c51ffeea0, limb2: 0xfbddc867354278e4e8830de6, - limb3: 0x121714d1f2e092c7c5104773 - } + limb3: 0x121714d1f2e092c7c5104773, + }, }, G2Line { r0a0: u384 { limb0: 0xa6cc97b7a0910742e374ec23, limb1: 0x5301b521491e28115a8e2e0c, limb2: 0x5eeff0173fc99d045f5e5baf, - limb3: 0x9aa791c4ecab1333ab9eb68 + limb3: 0x9aa791c4ecab1333ab9eb68, }, r0a1: u384 { limb0: 0x2b53e7d481a30cc5c1356af6, limb1: 0xa777d9d25aeedc6628e59ef, limb2: 0xca9abd9ce059277e05864570, - limb3: 0x178341ebb6ad736c0c8c8c1 + limb3: 0x178341ebb6ad736c0c8c8c1, }, r1a0: u384 { limb0: 0x493ad16ef3443414c2db3cf1, limb1: 0xa69a0458d57d548043b98070, limb2: 0x54556de9501fab02db7f5670, - limb3: 0x6567dbc2c7bbfa7c52b6572 + limb3: 0x6567dbc2c7bbfa7c52b6572, }, r1a1: u384 { limb0: 0x8dac714d502b1c67d8af7a3d, limb1: 0xf8aaedb3552ea20245b3a60a, limb2: 0x1ff0389d849cc39852c42cca, - limb3: 0x1047890716eba58cb7b620ec - } + limb3: 0x1047890716eba58cb7b620ec, + }, }, G2Line { r0a0: u384 { limb0: 0x62089c2d7ed144e434b6ba3e, limb1: 0x84b118ee4fd2d64ddca1dac0, limb2: 0x4ec4f1cf523c4ce8b58f70df, - limb3: 0x53bbf9cfe4e8ff379ea2186 + limb3: 0x53bbf9cfe4e8ff379ea2186, }, r0a1: u384 { limb0: 0xf057ecd0e195b9bdc80eb0af, limb1: 0x780a1465194b6e1eba5abbbb, limb2: 0x78ee79159a58965d1df84893, - limb3: 0x19d2a085636fabbb4f34cf2c + limb3: 0x19d2a085636fabbb4f34cf2c, }, r1a0: u384 { limb0: 0x53bbfc51a06f387be3a3af04, limb1: 0x3d1a72124a1db427822d3c7a, limb2: 0x569b9d8cfb866f877c80fa49, - limb3: 0x1a4182a17dd9e73c7c53e2a + limb3: 0x1a4182a17dd9e73c7c53e2a, }, r1a1: u384 { limb0: 0x14fcbb338803b8fa47981366, limb1: 0xb291b4889847590e43766734, limb2: 0xc530cb073dc91c0e32ff33f, - limb3: 0xfdfbe7ecce4161a97db358a - } + limb3: 0xfdfbe7ecce4161a97db358a, + }, }, G2Line { r0a0: u384 { limb0: 0x1ea761bed489d2e31522504b, limb1: 0xcd1ca1a1223df0206ae0add2, limb2: 0xaf38be32d1a2709bd4ac44fb, - limb3: 0x47834fc51a88de93531b9e4 + limb3: 0x47834fc51a88de93531b9e4, }, r0a1: u384 { limb0: 0x9e440c1d6d856e7a6720316, limb1: 0x9a5d7d5c3c7e8587d4b942c6, limb2: 0xc351ea2e7f4c67106109076b, - limb3: 0x9065d13cc71103c6d57aa42 + limb3: 0x9065d13cc71103c6d57aa42, }, r1a0: u384 { limb0: 0x28c6b55678da94c56a6dece4, limb1: 0xb17ca771ad0162f5f5b48ec7, limb2: 0xd80695da0e398b5fcafd78ca, - limb3: 0x37d0e245a24e013b08ff5a1 + limb3: 0x37d0e245a24e013b08ff5a1, }, r1a1: u384 { limb0: 0x27a8692228777c9cc1d5b2a4, limb1: 0xb9d28ac20ccc9ea55bef7dcf, limb2: 0xd8500eae05a3dee5c9a15c7a, - limb3: 0x613266a37ecd23f4cd13600 - } + limb3: 0x613266a37ecd23f4cd13600, + }, }, G2Line { r0a0: u384 { limb0: 0x4763fa5ed823135887ccad53, limb1: 0xa72b8af90608ac76465daf3e, limb2: 0x26c8021436ce4e7c3dc2aa20, - limb3: 0x78b1a8ddbcd83cf99e263e + limb3: 0x78b1a8ddbcd83cf99e263e, }, r0a1: u384 { limb0: 0x7d3c32317a31685cfb3fb480, limb1: 0x888167b668356255ef02a522, limb2: 0x1d64fda1200658f6a768b519, - limb3: 0xfae2c6af3287eed69729472 + limb3: 0xfae2c6af3287eed69729472, }, r1a0: u384 { limb0: 0x1d50b4a53487ce9e33837523, limb1: 0xab36376a39c01aa0bef902ae, limb2: 0xd8c90bd7ba560e674a8b2b1b, - limb3: 0x18d5a3016ae6c6d5297778c8 + limb3: 0x18d5a3016ae6c6d5297778c8, }, r1a1: u384 { limb0: 0xed7b19829e38ebed49ae2b44, limb1: 0x832839564a48e64c2c12b2b9, limb2: 0xc8fa7ef5ecb2e531a2e57171, - limb3: 0xf4a1e3eeacc2e423bace47f - } + limb3: 0xf4a1e3eeacc2e423bace47f, + }, }, G2Line { r0a0: u384 { limb0: 0x580b8cc14b716134c2410b38, limb1: 0x10eb555a6e55e5d519da0d69, limb2: 0xe6e6910d0d4b80539f2711b6, - limb3: 0x47e19418f8c84da6011a6e6 + limb3: 0x47e19418f8c84da6011a6e6, }, r0a1: u384 { limb0: 0xa7613cbb9a679564298d9bae, limb1: 0xb4900e0c9f280703f5f8ea54, limb2: 0x1e08087fc2448bb3da053fc3, - limb3: 0x7c31e87bc79d00e9d696b9d + limb3: 0x7c31e87bc79d00e9d696b9d, }, r1a0: u384 { limb0: 0x98e919832044c40fac742092, limb1: 0x18bfae31c275cd18fe4a4ea, limb2: 0xdc9125e5ee77ab53aa5fe810, - limb3: 0xcc698e873e9ca14fbcff1c8 + limb3: 0xcc698e873e9ca14fbcff1c8, }, r1a1: u384 { limb0: 0x50e908c95ab9d2feb4dcb224, limb1: 0x4cfe3ce2d54166b89c4f6d8b, limb2: 0xd83d839665b22b27b714b166, - limb3: 0x16f25abdf39f32a98af41af6 - } + limb3: 0x16f25abdf39f32a98af41af6, + }, }, G2Line { r0a0: u384 { limb0: 0x28d123bd987516edde7b9220, limb1: 0xd8e4e7ea988137932087a426, limb2: 0xc7f4cd3fd9a8199e129ea3cd, - limb3: 0x3900d505d0369cd906b0458 + limb3: 0x3900d505d0369cd906b0458, }, r0a1: u384 { limb0: 0x847f555fd20ab0d4b1db5335, limb1: 0x6d65d431aa3b878774d6583e, limb2: 0xca390d2b5120becbe4beb8b2, - limb3: 0x11d3a19b84deaab4cc0e6882 + limb3: 0x11d3a19b84deaab4cc0e6882, }, r1a0: u384 { limb0: 0x9637fa3606d4f84648ecc548, limb1: 0xce153c564c7d59efae1a1dde, limb2: 0xfc93d2bb65e106476e20da9c, - limb3: 0x2e22460d6878c49bd53a592 + limb3: 0x2e22460d6878c49bd53a592, }, r1a1: u384 { limb0: 0x51b01e1ab106d9b94c81ba1e, limb1: 0xbe3d4cec2c136b22814c1e82, limb2: 0x7bb554d64c3153a281cca9bb, - limb3: 0xc96ae7112c4fcbbec9b8aa3 - } + limb3: 0xc96ae7112c4fcbbec9b8aa3, + }, }, G2Line { r0a0: u384 { limb0: 0x21718b60fc473e716eafc85b, limb1: 0x9d795b3e5f132e6b28bd1420, limb2: 0x230c617a1f1939de5e14916e, - limb3: 0xd6e5a17494eef0f6f5292a9 + limb3: 0xd6e5a17494eef0f6f5292a9, }, r0a1: u384 { limb0: 0x4df092ad3168aa7309a0f840, limb1: 0x3684716b180e99dba33d814b, limb2: 0x8da65bf6335ef5d5334bbcc, - limb3: 0x32e9c79961176987a08344a + limb3: 0x32e9c79961176987a08344a, }, r1a0: u384 { limb0: 0xc1fbf2667c5fa7319ce4a16, limb1: 0x68f6714721cc5ca5b7c73ef1, limb2: 0x83d080569297130b048d4121, - limb3: 0x17bc92b9041c97dfaec6b1ab + limb3: 0x17bc92b9041c97dfaec6b1ab, }, r1a1: u384 { limb0: 0xa79cd7182a1acb1e6f50dc5a, limb1: 0x2c6556f9e127fbcc317c835d, limb2: 0x7999e470d6e66d61ef6794ec, - limb3: 0xb0d35668e07a3c21ece5b1f - } + limb3: 0xb0d35668e07a3c21ece5b1f, + }, }, G2Line { r0a0: u384 { limb0: 0x5dfbb6733b7bae2cd8fe7e68, limb1: 0xfad07703ac888a36a918449b, limb2: 0xb0dfe86a8eda68e069b4b18d, - limb3: 0xff9d3280ea0ae2bc1a16bf9 + limb3: 0xff9d3280ea0ae2bc1a16bf9, }, r0a1: u384 { limb0: 0xec78a036f504facd8058f68c, limb1: 0x5c39ce33984b5049e40e9d8c, limb2: 0xfad50ec5061cb2bbf69e1963, - limb3: 0x13cb0a312ba23fd491df96fc + limb3: 0x13cb0a312ba23fd491df96fc, }, r1a0: u384 { limb0: 0xc3a4702619055f4a569d9968, limb1: 0xfeda6a11638cea2a1c5e2281, limb2: 0xb75b2fb16398aa452ee48bad, - limb3: 0x122a32b337cdbebc26e83cc6 + limb3: 0x122a32b337cdbebc26e83cc6, }, r1a1: u384 { limb0: 0xce433a5223f7bb71a1ca8add, limb1: 0x32b85c9ddd3cb79997c8ba1f, limb2: 0xfceca1b93cebc0e4f5a9bb4f, - limb3: 0x415d57acc7c6067dcab343e - } + limb3: 0x415d57acc7c6067dcab343e, + }, }, G2Line { r0a0: u384 { limb0: 0xb9dbae6102d4e69d8f0c607b, limb1: 0xfb3291d8083f2064c1847106, limb2: 0xe12abb8d6ae364d5e548d2d8, - limb3: 0xd13fb257c65b60b84d69dd3 + limb3: 0xd13fb257c65b60b84d69dd3, }, r0a1: u384 { limb0: 0x262a76b1f70400d242b037af, limb1: 0xf5ec7855301fada6c7376aff, limb2: 0xdfb032dbd72e3b0f13215bae, - limb3: 0x355cd1872bb9b6ceb0d26e7 + limb3: 0x355cd1872bb9b6ceb0d26e7, }, r1a0: u384 { limb0: 0x83e87b560159e417f772dd81, limb1: 0xcc5d152eb1acc8f395b2fbf0, limb2: 0x70f54dbac520fb59a3c0a3f8, - limb3: 0x52ea47561eb3650d1ea0c83 + limb3: 0x52ea47561eb3650d1ea0c83, }, r1a1: u384 { limb0: 0x38ba107df12dd0465e65a380, limb1: 0x73379dc19d2c9b110da0ef60, limb2: 0xdb2efde4cecd2207393ff551, - limb3: 0x80cad1bed6ccfd10035d560 - } + limb3: 0x80cad1bed6ccfd10035d560, + }, }, G2Line { r0a0: u384 { limb0: 0x82a3fc3c6acfa43dacc5385d, limb1: 0x74a6dea3d3d82cb2e7d0809d, limb2: 0xb13b36c9a8887107d9bcbc22, - limb3: 0x12bf4764dd43d68b4ee7c590 + limb3: 0x12bf4764dd43d68b4ee7c590, }, r0a1: u384 { limb0: 0xa3289d5e4c4585384473a183, limb1: 0xe694ef0ceb4b6ce3bab92679, limb2: 0xc99ffcf812e3dfbd6a52420, - limb3: 0x2a77fad7fdc79c5bb072153 + limb3: 0x2a77fad7fdc79c5bb072153, }, r1a0: u384 { limb0: 0xa0db2fa814dd299768ed728c, limb1: 0xab435115dbe57ffc64c8bd1a, limb2: 0x1525c2e63ea09f54ec46655d, - limb3: 0x4b8b5e2ff10023fd75652f + limb3: 0x4b8b5e2ff10023fd75652f, }, r1a1: u384 { limb0: 0xf7ba29be02b325489270749d, limb1: 0x323633723ff44396f6db5174, limb2: 0x5e59d6926ba24f7667e3255c, - limb3: 0xbc49cf59ec0c71f768d3fde - } + limb3: 0xbc49cf59ec0c71f768d3fde, + }, }, G2Line { r0a0: u384 { limb0: 0x55806a498c4bf79112692a77, limb1: 0xb0e3ca4633d3674fbee6150f, limb2: 0x5f74060f8312ce5e6e7ae2e3, - limb3: 0x627a1c0c6d61932ada0e832 + limb3: 0x627a1c0c6d61932ada0e832, }, r0a1: u384 { limb0: 0xf13ce1d6c89f358448ae8fa9, limb1: 0x2bc57ecfdb09522cc85b0ae4, limb2: 0xfca1f39d0523bbe5c335ee04, - limb3: 0x100b085007be1ca2b9f6e8de + limb3: 0x100b085007be1ca2b9f6e8de, }, r1a0: u384 { limb0: 0x84a70d5b9caa99650569ad71, limb1: 0x87c6e59e8af90623339f1f3b, limb2: 0xaef7d53bb0b7d5984da19099, - limb3: 0xa2289949724906f1ad55b14 + limb3: 0xa2289949724906f1ad55b14, }, r1a1: u384 { limb0: 0xf531a6fdd1f0b3b5f8f8e9db, limb1: 0xf34d77973a1456adfb71697e, limb2: 0xdb9f5ebde3d8380fabf4162f, - limb3: 0x130da579ba0316f92d4eb58 - } + limb3: 0x130da579ba0316f92d4eb58, + }, }, G2Line { r0a0: u384 { limb0: 0x51c2086725a295f5da826c, limb1: 0x8e8e5baa4016b523e380ac92, limb2: 0xf8f0a4861e231c3b5075023, - limb3: 0x140928f32cb86c6f5c226b84 + limb3: 0x140928f32cb86c6f5c226b84, }, r0a1: u384 { limb0: 0xf0d141ad0b7bc44ef62633e8, limb1: 0x2b6a68f294133ffde01b3622, limb2: 0x13b274b21d5c5cba67cba1aa, - limb3: 0xeea5a9094bf616f734320ea + limb3: 0xeea5a9094bf616f734320ea, }, r1a0: u384 { limb0: 0xdf51feeca93575d2e24d49bc, limb1: 0x90e0b5a293fdf422b3c448b1, limb2: 0x360839c7ef270b0c5af4a6f0, - limb3: 0x5608d87f36ff132d9a254eb + limb3: 0x5608d87f36ff132d9a254eb, }, r1a1: u384 { limb0: 0x3c26d23f25273548bb7fc3c8, limb1: 0xd42908133adad40dbd5ef506, limb2: 0x316d03c0197cf510485c062f, - limb3: 0xb23fbbe4632f9ee97df9c93 - } + limb3: 0xb23fbbe4632f9ee97df9c93, + }, }, G2Line { r0a0: u384 { limb0: 0x41d73bb66d7139e3b2883865, limb1: 0xef3de396b8ebd92887d6ccc0, limb2: 0x6be980b72b3858425dcce9df, - limb3: 0x45121179d8e49e1dd61f734 + limb3: 0x45121179d8e49e1dd61f734, }, r0a1: u384 { limb0: 0x23508094efe1db2e43b826be, limb1: 0x290222e73653ec8ec2d5bf, limb2: 0xa8309daa11b6981ed784a3ac, - limb3: 0x17056c5dd749562ffb9477aa + limb3: 0x17056c5dd749562ffb9477aa, }, r1a0: u384 { limb0: 0xe16c9dcf214392cd7a09676b, limb1: 0x741b68da9729956259db5e80, limb2: 0x7307e417e88bef6b7886098a, - limb3: 0x16fcf0d17700b504f863c6fb + limb3: 0x16fcf0d17700b504f863c6fb, }, r1a1: u384 { limb0: 0x99b0a3f78a184f700178b139, limb1: 0x4d6e3662d7810b3f1054bd01, limb2: 0x29fe9f13eeb06558d12ceb2f, - limb3: 0x16aba426597166960c6725bd - } + limb3: 0x16aba426597166960c6725bd, + }, }, G2Line { r0a0: u384 { limb0: 0x8208b44ee53a9fc7eb288388, limb1: 0x3456d09962a3dda5865a27a8, limb2: 0xe1f3e4e3ed8ef8435cfe3ae, - limb3: 0x10a37b4e7c8061faaa5c01a6 + limb3: 0x10a37b4e7c8061faaa5c01a6, }, r0a1: u384 { limb0: 0xf9d6db9a5ac46771b19e3ac9, limb1: 0x42c10987c49132e9a8ab8d39, limb2: 0xd7ad0c0bdd201b0be5e93e0c, - limb3: 0x408dae3a4926d4a4ea397a9 + limb3: 0x408dae3a4926d4a4ea397a9, }, r1a0: u384 { limb0: 0x653665fed5d98ea9f33e0757, limb1: 0xacfa712330085cde3f722ed4, limb2: 0xbe1fcfda554eb87530bf6559, - limb3: 0x5462519ce1e048fbcbb22a4 + limb3: 0x5462519ce1e048fbcbb22a4, }, r1a1: u384 { limb0: 0xc6e9de72771ebb73bc382c9c, limb1: 0x2b29a88d36211b1579147a2f, limb2: 0xabbad720f32d8b7ef4e5b528, - limb3: 0xf16180bf4a1de636ac8ced8 - } + limb3: 0xf16180bf4a1de636ac8ced8, + }, }, G2Line { r0a0: u384 { limb0: 0xbd00656c6a03e40e7a1c96d, limb1: 0xc6ec405888aa450fb0aa26e1, limb2: 0x169143ae2bf37f999e5709e8, - limb3: 0xd989153870f4c8ffbb5af7b + limb3: 0xd989153870f4c8ffbb5af7b, }, r0a1: u384 { limb0: 0x40bd6d526b0e08d58fa66010, limb1: 0x127a3c8ea6b5b2cc9f4dd258, limb2: 0x246398565166fcf21abdc99c, - limb3: 0x1139b4d60c70c41df89895d0 + limb3: 0x1139b4d60c70c41df89895d0, }, r1a0: u384 { limb0: 0x1e0803443a2e501406221316, limb1: 0xd4ab19eaa32e432f1b5675e9, limb2: 0x550a6da9fb9787a1e690aa43, - limb3: 0x38d29d1f1993b9d9e60f603 + limb3: 0x38d29d1f1993b9d9e60f603, }, r1a1: u384 { limb0: 0x12c57cbf483c651473b1d989, limb1: 0xc895e14b9897f216e4d9f22b, limb2: 0xd7f570fe66cf3f673abc03c1, - limb3: 0x18d84210d9b793e6acd217b4 - } + limb3: 0x18d84210d9b793e6acd217b4, + }, }, G2Line { r0a0: u384 { limb0: 0x8a4878d8e2e133986b8ae1c2, limb1: 0xb9ede196be35fc25ca8764bd, limb2: 0x8926fe5d6d93f96dcd45bff6, - limb3: 0xa9af73cd8f02d67fbac7c31 + limb3: 0xa9af73cd8f02d67fbac7c31, }, r0a1: u384 { limb0: 0xb4ac60395435ab8c101d3f66, limb1: 0x51b5668e81d774a523536aea, limb2: 0xaf6c3902dfe7d93c5cd7e0d4, - limb3: 0x7de5b12d21d9cfd4b8f1bd6 + limb3: 0x7de5b12d21d9cfd4b8f1bd6, }, r1a0: u384 { limb0: 0xdbbd341b7617d7da02f767cb, limb1: 0x390a6cdb0247c8b696f54818, limb2: 0xc5c4d82d35c4a86900b9c108, - limb3: 0xcedcdacd1e4bfd4b3ec453d + limb3: 0xcedcdacd1e4bfd4b3ec453d, }, r1a1: u384 { limb0: 0x2e1da9fa7b1e27c2eb90c1db, limb1: 0x1bd463826b9fd44f9af5c53c, limb2: 0x2d55689e4b07965f4b24f4aa, - limb3: 0xaf0b738c4875f563f27ca2f - } + limb3: 0xaf0b738c4875f563f27ca2f, + }, }, G2Line { r0a0: u384 { limb0: 0x982c093dd6a1f08c9f98f549, limb1: 0x206794a8b198598b7ce4fa9, limb2: 0xc888c728be45b57e38fb3778, - limb3: 0x74283fe50724556c49ef237 + limb3: 0x74283fe50724556c49ef237, }, r0a1: u384 { limb0: 0x96bc29f2bcc0f815c55c409e, limb1: 0xe48119617a07eb33ab893613, limb2: 0x908d162dc06fc4a17d248864, - limb3: 0x1aaf38bbd8891856272de1d + limb3: 0x1aaf38bbd8891856272de1d, }, r1a0: u384 { limb0: 0x858ef2dbf3b0abd9ee6b0dfa, limb1: 0x9b84aea4dc77001de4491c8b, limb2: 0x2fee669cbecc806510e5321, - limb3: 0xc2698ef04170dd90fe9040b + limb3: 0xc2698ef04170dd90fe9040b, }, r1a1: u384 { limb0: 0xf466f3e5f33a4d032ce1d26b, limb1: 0xa2dbc37e685f47b642da17b0, limb2: 0x4fe20a8b997927f5e3c81193, - limb3: 0x106497892fbc54848cf8dc2 - } + limb3: 0x106497892fbc54848cf8dc2, + }, }, G2Line { r0a0: u384 { limb0: 0x20bd93c9da3e81a8eae945b3, limb1: 0x828fee23af9ea75d0a85e148, limb2: 0x4c1a1f1b862331fe27f8d9f4, - limb3: 0x63d0d46e0d13c2b4089bfa3 + limb3: 0x63d0d46e0d13c2b4089bfa3, }, r0a1: u384 { limb0: 0x5ec6828def657a6b3620ccea, limb1: 0x94ad61cdb2d72668197acef5, limb2: 0x7baee501930b611a99e46a0c, - limb3: 0xddd9e2bdcf6001b73313233 + limb3: 0xddd9e2bdcf6001b73313233, }, r1a0: u384 { limb0: 0xf9278e7727717e399e585d1d, limb1: 0xf9eabf0071885c7038169d31, limb2: 0xd4503f9fa816f9111fbfeef9, - limb3: 0x6ccdcbce5dab18378c8e683 + limb3: 0x6ccdcbce5dab18378c8e683, }, r1a1: u384 { limb0: 0xcc90a9d15f39ccd673782c6c, limb1: 0x91a54145933733fa6a8282ef, limb2: 0x77a1d8952789f3aab595cf2e, - limb3: 0x117809e3864b0f92e6bdfb88 - } + limb3: 0x117809e3864b0f92e6bdfb88, + }, }, G2Line { r0a0: u384 { limb0: 0xcfacd8bafe80e34c80895ce2, limb1: 0x405055a8e3556eec6fe19b33, limb2: 0x215e510b0585c12c7aa4b9fc, - limb3: 0x166c8a8d92ddb160d84e3dc9 + limb3: 0x166c8a8d92ddb160d84e3dc9, }, r0a1: u384 { limb0: 0xded38c78e1bdce8139c0c49c, limb1: 0x880be26de982752e92c7f3b6, limb2: 0x650ff5ae95115c46cf190034, - limb3: 0xd28c9264d7943b90541cde8 + limb3: 0xd28c9264d7943b90541cde8, }, r1a0: u384 { limb0: 0xa9b4b12b59c157302b9c1e03, limb1: 0xb3d4cbc18ebdbf27e7af3c16, limb2: 0xe0f12acb3615cb9a62039090, - limb3: 0x1210b9dab7bac860f54963d7 + limb3: 0x1210b9dab7bac860f54963d7, }, r1a1: u384 { limb0: 0xa492048852bb2ceb97e408f5, limb1: 0x77848eeb1c67a40c581a3235, limb2: 0x8aa45235af23ebd968d454ab, - limb3: 0x144d609bbd40cb1a61799523 - } + limb3: 0x144d609bbd40cb1a61799523, + }, }, G2Line { r0a0: u384 { limb0: 0xae465430a3b879fa609ed588, limb1: 0x5b4441a8cc9f013eb815c1f4, limb2: 0x110619006c872a26d93ba293, - limb3: 0xe1c6863a7e22b68f50a2e01 + limb3: 0xe1c6863a7e22b68f50a2e01, }, r0a1: u384 { limb0: 0xa14cd671deb3cecf066b68ff, limb1: 0x146280483d10683e53e0af, limb2: 0x3ead8592a7548acaf49128b4, - limb3: 0x91c35d9b0c4a0cbaa54de18 + limb3: 0x91c35d9b0c4a0cbaa54de18, }, r1a0: u384 { limb0: 0x6f33a2c44245c7019c0c5c67, limb1: 0x5efc92747f401ead3c8cfc2f, limb2: 0x393adb0e0036514a75839cf, - limb3: 0x1382a3bc2c35391ea4888358 + limb3: 0x1382a3bc2c35391ea4888358, }, r1a1: u384 { limb0: 0x1163e633ef6eb65ff47fe5f6, limb1: 0x43edbe5def5f4b8cb624def7, limb2: 0xe3d7d6469d9ea3ebd107f34f, - limb3: 0x96ac6f3aea62de484fb9f5 - } + limb3: 0x96ac6f3aea62de484fb9f5, + }, }, G2Line { r0a0: u384 { limb0: 0xeef462793df87830739b58e9, limb1: 0xae7c8ea1ad71ca6bed2ebe00, limb2: 0x9ae2164a137a064d1df7f02d, - limb3: 0x4a9888e14ac3625ff321114 + limb3: 0x4a9888e14ac3625ff321114, }, r0a1: u384 { limb0: 0xc3c414c0d08ecbf15184e66b, limb1: 0xdde9cfcbdd2e00b615eb8280, limb2: 0x475a2c4bb26b585add37b2db, - limb3: 0x91ef361ba4f2ff51c967890 + limb3: 0x91ef361ba4f2ff51c967890, }, r1a0: u384 { limb0: 0xd82fd80a2061263e1fd01764, limb1: 0xe1c1efac8d73b700b4f7624b, limb2: 0x4b66141becce9ed674af6eb8, - limb3: 0x14fb9e8021f44b1eb120b9d9 + limb3: 0x14fb9e8021f44b1eb120b9d9, }, r1a1: u384 { limb0: 0x4de7793b20d51e4f8fb8f053, limb1: 0xd7f28ae911fa3e1b6c0e60e4, limb2: 0x9d6970421cbe2f4d5c9c878, - limb3: 0x3b7adf46bf35aebc482e388 - } + limb3: 0x3b7adf46bf35aebc482e388, + }, }, G2Line { r0a0: u384 { limb0: 0x12f2b778d5fbab976bc57ada, limb1: 0x76459b21736fbf46a8970d59, limb2: 0xb94be6680c7126ca6efa8aac, - limb3: 0x837f3c1bf89ea556baa0f1e + limb3: 0x837f3c1bf89ea556baa0f1e, }, r0a1: u384 { limb0: 0xe5a3489fc04cbff07982f68e, limb1: 0xa191417243695b45f476d8bc, limb2: 0xc51a4550afd0e726501933a6, - limb3: 0xf44ecd23806ed5e74169f54 + limb3: 0xf44ecd23806ed5e74169f54, }, r1a0: u384 { limb0: 0x6cd53a71fa2d57fc5af7daf, limb1: 0x2b428bc9d14c4baec9df8d4d, limb2: 0xc1cdc7f4f9547699b33a5d3f, - limb3: 0x132932753bb6ce9737dd24b1 + limb3: 0x132932753bb6ce9737dd24b1, }, r1a1: u384 { limb0: 0xdc3e579e2d3ef4c042f7356a, limb1: 0xd176af6e739a4172c748084d, limb2: 0xc2d99caaf0cee64b95b74caf, - limb3: 0x6c6e6c693605fab377449f9 - } + limb3: 0x6c6e6c693605fab377449f9, + }, }, G2Line { r0a0: u384 { limb0: 0x8453ae7d36f5618e254ad0d1, limb1: 0x7e8d71e845958e9741385a13, limb2: 0xad311639a622f093066fc3b6, - limb3: 0x83a861cfac3d33a177738ee + limb3: 0x83a861cfac3d33a177738ee, }, r0a1: u384 { limb0: 0x3ad1bdc48790c12209582975, limb1: 0x8dfd29dcf52774c4f1845b52, limb2: 0xa02ac71b2c0dea50d477db6, - limb3: 0x13a1c836ec6af306248cc909 + limb3: 0x13a1c836ec6af306248cc909, }, r1a0: u384 { limb0: 0x14406ff512e0479dc3c8d, limb1: 0x96cd90daabf66287008c71f, limb2: 0xa60a0e779f3b9ee1551e2bd3, - limb3: 0x12f79805baffe96832e3a077 + limb3: 0x12f79805baffe96832e3a077, }, r1a1: u384 { limb0: 0x647d4e42f9f13a7c0d7a75cc, limb1: 0x12effbcbf19df432e200c643, limb2: 0x1d18afbec71b6348e0977ada, - limb3: 0x2a237cabc4f307c6bba9c62 - } + limb3: 0x2a237cabc4f307c6bba9c62, + }, }, G2Line { r0a0: u384 { limb0: 0x4a4ebb65d008e49339423340, limb1: 0xe8af68a1403ac4097334dda5, limb2: 0x60b3a6cae1c54f8ae1bce576, - limb3: 0x13011c97e91f386caf2a2972 + limb3: 0x13011c97e91f386caf2a2972, }, r0a1: u384 { limb0: 0x62af6c1bb245e69512982435, limb1: 0xe06e1b68f65815af7672ef87, limb2: 0x181bfb87298f6dd64c518b25, - limb3: 0xc2c69e7df650d02bdb2088b + limb3: 0xc2c69e7df650d02bdb2088b, }, r1a0: u384 { limb0: 0xf21d1538741e50e9a499ac73, limb1: 0xacc6dd8bf4c874e1da1f0ae3, limb2: 0xcacde4e1801b3c95b1705651, - limb3: 0x116971bf55359268362fb2c6 + limb3: 0x116971bf55359268362fb2c6, }, r1a1: u384 { limb0: 0x6da7f6a48d6e7831a983fefc, limb1: 0x103b747a61ed06984ee35089, limb2: 0x9fc5bf34c0740b9d08b104a3, - limb3: 0x9e4768acd9aadafabe1415 - } + limb3: 0x9e4768acd9aadafabe1415, + }, }, G2Line { r0a0: u384 { limb0: 0x8f61f5ba0fa958bb27b0738d, limb1: 0xf241c01ee89f0223fae54588, limb2: 0xda4e4767658a0ac3abbf2397, - limb3: 0x1469bf3b838495c457b871dd + limb3: 0x1469bf3b838495c457b871dd, }, r0a1: u384 { limb0: 0x6c26df5b82209295efa30f78, limb1: 0xa6d88fe2c2c7eb127399a8f5, limb2: 0x12a48d65bb7c320195ed2ba1, - limb3: 0x2607291048cb4d7c8e364b6 + limb3: 0x2607291048cb4d7c8e364b6, }, r1a0: u384 { limb0: 0x62d61af0924cf04ab435ef0a, limb1: 0x411a7672635a9cb3f011dba9, limb2: 0x311966492e36c204118b8d63, - limb3: 0x609e43c5745ab0721e69d08 + limb3: 0x609e43c5745ab0721e69d08, }, r1a1: u384 { limb0: 0xca4ae7db7b1ef2f2a8338569, limb1: 0x7d8cdadb9652eeff7e0353a4, limb2: 0xc85f6a2486d9cea932ac87a5, - limb3: 0x18bd575791b49a042112020c - } + limb3: 0x18bd575791b49a042112020c, + }, }, G2Line { r0a0: u384 { limb0: 0x64282b3efaf71690d668de0e, limb1: 0x8781d985cfc29d3e8099fff, limb2: 0xb81331cc8b1997d037d2d7ec, - limb3: 0x12235a5ac7f1d2ab9ae5b9c5 + limb3: 0x12235a5ac7f1d2ab9ae5b9c5, }, r0a1: u384 { limb0: 0xa29416594a6408df6161b6fa, limb1: 0x223f57279d16c8cceb28c803, limb2: 0x20c74e1a6bb7c6387a749de9, - limb3: 0x118595f99d022878c5dfa242 + limb3: 0x118595f99d022878c5dfa242, }, r1a0: u384 { limb0: 0x4e37473da8164d9afb454170, limb1: 0x374f98a1cd8e5cb81d5d1588, limb2: 0xb1086185aa14c12e63aac04e, - limb3: 0x1838f9c2473fb4633451cc86 + limb3: 0x1838f9c2473fb4633451cc86, }, r1a1: u384 { limb0: 0xd5d6e5aa8ca10362522318e3, limb1: 0x85d25f9b4b9506dc7a20bca9, limb2: 0x9bca10d7d717b218a1128f10, - limb3: 0x145af4e6b53d5676e5a8bcc9 - } + limb3: 0x145af4e6b53d5676e5a8bcc9, + }, }, G2Line { r0a0: u384 { limb0: 0xf3c802dee19e24b92e7979fa, limb1: 0x14da8c307396b2b3098cc029, limb2: 0x81ec9801bc5a699e39b50971, - limb3: 0xfbdf2094dbd982c4366a295 + limb3: 0xfbdf2094dbd982c4366a295, }, r0a1: u384 { limb0: 0xeea5bd7fc66ac332eef61a9e, limb1: 0x1b86742a4721e1ed6be9d082, limb2: 0xfc5fd3946f0cb7a618e7e452, - limb3: 0x19be9789e6a4a595a557c8d5 + limb3: 0x19be9789e6a4a595a557c8d5, }, r1a0: u384 { limb0: 0xd7e6895fbf700ae72769736a, limb1: 0x416c1c33622a357d679d913c, limb2: 0x35c8dd89e1eba641557b344b, - limb3: 0x677c5a38ff37fdb4605b0bf + limb3: 0x677c5a38ff37fdb4605b0bf, }, r1a1: u384 { limb0: 0x59bc57df21c9065dee74fe4f, limb1: 0xe251d5a312068328a96aee57, limb2: 0x20bb5ca4b72b1ae1df0402aa, - limb3: 0xdb28c872b29f1111ff063b8 - } + limb3: 0xdb28c872b29f1111ff063b8, + }, }, G2Line { r0a0: u384 { limb0: 0x7266c55e323eb5f523137011, limb1: 0x3fa2140fee350709e12cc602, limb2: 0x2ca6caaba6c036ac2a015fe0, - limb3: 0xe6370e66a3639679d1ffaf1 + limb3: 0xe6370e66a3639679d1ffaf1, }, r0a1: u384 { limb0: 0x673a512572f43dafc1fb3e60, limb1: 0xf17d9c9e1f0151e37745e09c, limb2: 0xb0231ba928984ff48f7c72ad, - limb3: 0x116bc15d70785ac8e3dbaafa + limb3: 0x116bc15d70785ac8e3dbaafa, }, r1a0: u384 { limb0: 0x54599fa912c2c83137391fc4, limb1: 0x3024f1a43f73ebb9f356f0c1, limb2: 0x3b1b2662cc9d943f76848e62, - limb3: 0x129b0437839946397ba58144 + limb3: 0x129b0437839946397ba58144, }, r1a1: u384 { limb0: 0xf93d43a03e1c6787dcbd8285, limb1: 0x124a2f604da1317e5610dac6, limb2: 0x64f7cc1679a914abd36770df, - limb3: 0x10f2e7649f93b589d8d4acba - } + limb3: 0x10f2e7649f93b589d8d4acba, + }, }, G2Line { r0a0: u384 { limb0: 0xf82b6df19a54e2cf1cf2a926, limb1: 0x3f6e3866481525431265f2dd, limb2: 0x345f14dcadaceb6bd10a7737, - limb3: 0xe39d5893debb54d49156924 + limb3: 0xe39d5893debb54d49156924, }, r0a1: u384 { limb0: 0x45be1970d7ccbf809b2067d9, limb1: 0x5960a9502e5dd19b2764e96f, limb2: 0xb8c9075c1ab2fdacb6fc6965, - limb3: 0x78f512de963787677e431a4 + limb3: 0x78f512de963787677e431a4, }, r1a0: u384 { limb0: 0x486d90dee20ae276acefbad, limb1: 0x804cd3f829f2603c900f701f, limb2: 0xe97e5fe9e95da08ce6ad0c9e, - limb3: 0xefabe32ca67e113d82a9975 + limb3: 0xefabe32ca67e113d82a9975, }, r1a1: u384 { limb0: 0x7b00323f1f5d9b1acde52435, limb1: 0xbba8c1970d071fde53462819, limb2: 0xaeb541c1bc202e4247d63d2b, - limb3: 0x54e8ff0cede4fcd4bf670a5 - } + limb3: 0x54e8ff0cede4fcd4bf670a5, + }, }, G2Line { r0a0: u384 { limb0: 0x19deb207d5ed377cf6e1fc34, limb1: 0xa450925cc66369d7ac242254, limb2: 0x1c3bdc1e64a941a34fc053cc, - limb3: 0x14df45de9151dfb3e06995fb + limb3: 0x14df45de9151dfb3e06995fb, }, r0a1: u384 { limb0: 0xd1cb0605f648519c51a2896e, limb1: 0xfd5a32cb5433d9d638ce5f44, limb2: 0x22b95ccf2f9f474991447155, - limb3: 0x1b6a551862dd5d0d0e23eea + limb3: 0x1b6a551862dd5d0d0e23eea, }, r1a0: u384 { limb0: 0x29a5f4f5636af654cf00c5e4, limb1: 0xd06d14134a0604b5670c8754, limb2: 0x4f9397231527c3bf676603a8, - limb3: 0x725540566667205b8e18667 + limb3: 0x725540566667205b8e18667, }, r1a1: u384 { limb0: 0x4027b710692c5e378612279d, limb1: 0xde69c4a076f5a6558d86111, limb2: 0x3d32f4dcf1e86bbf40210871, - limb3: 0x160b4757d533ef30f2094173 - } + limb3: 0x160b4757d533ef30f2094173, + }, }, G2Line { r0a0: u384 { limb0: 0x391dda06f57de49c19a39355, limb1: 0x4e737dfa7ab368808331a160, limb2: 0x4861c22221cf946a7bd7ce3f, - limb3: 0xbf98d2b99fcb852dee131ab + limb3: 0xbf98d2b99fcb852dee131ab, }, r0a1: u384 { limb0: 0xa908feaefe8603bc57fed5ec, limb1: 0x24ccd521287d21f70525b3f3, limb2: 0xb0c14b45ee675a30a02b03ae, - limb3: 0x486ddefa539161f18afb8b3 + limb3: 0x486ddefa539161f18afb8b3, }, r1a0: u384 { limb0: 0x2b55b06830bb4b7604c06419, limb1: 0xa5521e8fbc7d47ff6cee8649, limb2: 0x19044603e7a7fd14f2ca392f, - limb3: 0x100534339fb750d36ddf81c + limb3: 0x100534339fb750d36ddf81c, }, r1a1: u384 { limb0: 0x144ad61af74f6da85031acdb, limb1: 0xc4feb7056df7bd2d6526fdfd, limb2: 0xd35f577108fa47be0bac8535, - limb3: 0x159564e4ac7dc0857b9b7f66 - } + limb3: 0x159564e4ac7dc0857b9b7f66, + }, }, G2Line { r0a0: u384 { limb0: 0xf98d6dbcb3ea133fb4ffcaf2, limb1: 0x6fbf2c7d9fc7cb84bf8a4eff, limb2: 0xe62c313483fc5463bf3ed2bf, - limb3: 0x19a9884ea34fe0126dee7e18 + limb3: 0x19a9884ea34fe0126dee7e18, }, r0a1: u384 { limb0: 0xe817610114936f7ecee50446, limb1: 0xc04e0c4475092ba5e70435ef, limb2: 0x65469702b18d011ea024ca54, - limb3: 0xa3d7efe3405b93e96bfced4 + limb3: 0xa3d7efe3405b93e96bfced4, }, r1a0: u384 { limb0: 0x23979b215fbc5eb927025b3c, limb1: 0x7ee7ff729f1a2046dce0f71b, limb2: 0x6c54f503e474ccd1fd2c589b, - limb3: 0x881ebefcd5614bf757db21a + limb3: 0x881ebefcd5614bf757db21a, }, r1a1: u384 { limb0: 0x8cf989efab414db4ca0337f8, limb1: 0x55fe112a2e13392491c2b191, limb2: 0x13e416c811005d1a3350cb5, - limb3: 0x14037e0e1d38e15b73e0ca43 - } + limb3: 0x14037e0e1d38e15b73e0ca43, + }, }, G2Line { r0a0: u384 { limb0: 0xbdb98a83e5729b997b8d9aa1, limb1: 0xcb52848e21e96dfd84afb236, limb2: 0x4fbaadb89ff456c79d956aea, - limb3: 0x1940988caf75778db3d7b20e + limb3: 0x1940988caf75778db3d7b20e, }, r0a1: u384 { limb0: 0xcc4b3f78288f83db55b1bb45, limb1: 0xf5d2f34a4f2cbeaa75178684, limb2: 0x1aeaabf273db3651ed9a6ca0, - limb3: 0xd1f255ae26606742036a4c6 + limb3: 0xd1f255ae26606742036a4c6, }, r1a0: u384 { limb0: 0x16674b87da60cca57add5066, limb1: 0xf993170c807c39cb94b60722, limb2: 0x8b42bb6cde71360f572240e9, - limb3: 0x5249854c68d1b2761d27c54 + limb3: 0x5249854c68d1b2761d27c54, }, r1a1: u384 { limb0: 0x4c3ccd4beed240cca6f61f5a, limb1: 0xc68d54b38aa262727e982f1e, limb2: 0x3211c469594dff0cf9486c32, - limb3: 0x10faeb3d4ca1e301b47ba93a - } + limb3: 0x10faeb3d4ca1e301b47ba93a, + }, }, G2Line { r0a0: u384 { limb0: 0x2823c66648f4d481d8e005a7, limb1: 0xe856f0ae7cf3a85a214e662b, limb2: 0xc2dbe57f6a6041f9408548cc, - limb3: 0x12cbf8243f62a684ffd117c9 + limb3: 0x12cbf8243f62a684ffd117c9, }, r0a1: u384 { limb0: 0xf33c0f25f30965922b7a3d95, limb1: 0xad2490f1a91b92ec63c3a38f, limb2: 0xd9b3254082d06e13ed45ce64, - limb3: 0x1599b9de0a9d639c47386266 + limb3: 0x1599b9de0a9d639c47386266, }, r1a0: u384 { limb0: 0xebcd5f23a4c3dd5b3c831608, limb1: 0x37e0a6835ef506afdf7efa80, limb2: 0x72d6ebdd955d53e4bb3088a6, - limb3: 0x1854c3c13966bc0d0b2cde14 + limb3: 0x1854c3c13966bc0d0b2cde14, }, r1a1: u384 { limb0: 0xe3107baa5208305dd296b362, limb1: 0xf06342a6f9251ee1e2036283, limb2: 0xe6612735f5fd5f25f4a18f0, - limb3: 0xcaf6e119c91fc84ef1c1aca - } + limb3: 0xcaf6e119c91fc84ef1c1aca, + }, }, G2Line { r0a0: u384 { limb0: 0x3b68bb1e9790730752af570b, limb1: 0x1edee4298985741a4c96ff, limb2: 0x2d734e175da7cf84fbafd3c5, - limb3: 0x3fb948696ef0e166bebf412 + limb3: 0x3fb948696ef0e166bebf412, }, r0a1: u384 { limb0: 0xb0b7e8d0f696fbccb5fbb186, limb1: 0x99de7fd4d64e41ad44bf9b5f, limb2: 0x4f51631e336cadb706f3a33, - limb3: 0x11bba4f788fb1ded0e221b32 + limb3: 0x11bba4f788fb1ded0e221b32, }, r1a0: u384 { limb0: 0x9eff9067ac9e819fc7057ae9, limb1: 0x1e64c6d4089a0fb2425a645d, limb2: 0xf94423c637381bbae316235e, - limb3: 0xf2f15e92682cdfa72a52fd2 + limb3: 0xf2f15e92682cdfa72a52fd2, }, r1a1: u384 { limb0: 0xab9a26b00f30b21765b7547, limb1: 0x28c3c566fb6babb94109fa7e, limb2: 0x7d858033627814454b111d98, - limb3: 0x155d1bd5ef23109cbf8c1ccf - } + limb3: 0x155d1bd5ef23109cbf8c1ccf, + }, }, G2Line { r0a0: u384 { limb0: 0x2cde708f0b8cd318fc67bee8, limb1: 0x9a95f572f0429539b3ce328b, limb2: 0x4a5d4d9fd5dcf9f241ecc4d, - limb3: 0x19078676070364267ebcc3ab + limb3: 0x19078676070364267ebcc3ab, }, r0a1: u384 { limb0: 0x98bd9f89de920ae0ebfb2406, limb1: 0xd738868806c46f20e861d034, limb2: 0x9b038050debc0edbc1be0e16, - limb3: 0x1362dcdc65285d2c8c41f9c2 + limb3: 0x1362dcdc65285d2c8c41f9c2, }, r1a0: u384 { limb0: 0xcd4657e749f4ffcadbb0d9a5, limb1: 0xd63c26d6ba8661d5080379af, limb2: 0xc809cd05f4b7382bc077b1ea, - limb3: 0x12864d0dca4b400e2a95102b + limb3: 0x12864d0dca4b400e2a95102b, }, r1a1: u384 { limb0: 0xd611a29ff543d96cf849bd1, limb1: 0x596407fe121213b4a8cc307d, limb2: 0x92d36061c70feaba71f789af, - limb3: 0x499654f872ac06ea4a452bc - } + limb3: 0x499654f872ac06ea4a452bc, + }, }, G2Line { r0a0: u384 { limb0: 0xb0962fbcf21139969e8dab25, limb1: 0xb0a19f7ca5f477871be73cbf, limb2: 0x88ad887afd15eae613675e08, - limb3: 0x2a7b58589ca7b7e5b344396 + limb3: 0x2a7b58589ca7b7e5b344396, }, r0a1: u384 { limb0: 0xf718c3a824df9a4081dd18d, limb1: 0x41e4ef4d528d6c4f5dceb1d1, limb2: 0xddf16e8d62dd032870008ad1, - limb3: 0x1507f575d3c90144e8d7f643 + limb3: 0x1507f575d3c90144e8d7f643, }, r1a0: u384 { limb0: 0xfe658024d9e687959a028d31, limb1: 0xd2bb637f753e2d0bd6233ad2, limb2: 0x4ed4d8e0c9a61e71b74e8d50, - limb3: 0xe8f6a3795714e66d7f76cb8 + limb3: 0xe8f6a3795714e66d7f76cb8, }, r1a1: u384 { limb0: 0xc99318a2e53111aa51be227c, limb1: 0xf6251383d887b2d7aa2cfed2, limb2: 0x4d90f6d24972610e5c13a0c1, - limb3: 0x1047331dacc8b1a00c020666 - } + limb3: 0x1047331dacc8b1a00c020666, + }, }, G2Line { r0a0: u384 { limb0: 0x556da7f56ee0c7d62fc2972f, limb1: 0xdfb895df67fa4aee9235305e, limb2: 0x29439ced958130b5388abbca, - limb3: 0x323dd9807649f00008b4087 + limb3: 0x323dd9807649f00008b4087, }, r0a1: u384 { limb0: 0x874af1a436b6ade8baca63e4, limb1: 0x6d4f1a7e518069c3d2dd1ddb, limb2: 0x9c80fa9f1c0a2d348ee7b957, - limb3: 0xd523391bbe3f0de1019fccb + limb3: 0xd523391bbe3f0de1019fccb, }, r1a0: u384 { limb0: 0x1be5bbc51b64cf3dd26dd3, limb1: 0x2fa737161f1e1415d3938969, limb2: 0xafa9623233be5134ff59b5b, - limb3: 0x28e491d31e52da5ff90caa3 + limb3: 0x28e491d31e52da5ff90caa3, }, r1a1: u384 { limb0: 0x4d3c3323d817ef85ac80e43c, limb1: 0x954d330e18b44f9a52f33c50, limb2: 0x452f1d366708c2dcbf45278d, - limb3: 0x1511877d960dad5c4f4aa325 - } + limb3: 0x1511877d960dad5c4f4aa325, + }, }, G2Line { r0a0: u384 { limb0: 0x336b741fc1583b606c65abaf, limb1: 0x73801a000b489b2200db6572, limb2: 0xf94c4519220a8cfc88edc539, - limb3: 0x715c050a954cf814d0c7e0a + limb3: 0x715c050a954cf814d0c7e0a, }, r0a1: u384 { limb0: 0xed5fbf1ab4cc40ac6e7d933, limb1: 0x30ba3c9eab6fe7baec2a6a88, limb2: 0x4afe67182f279cf5cbcb98f5, - limb3: 0xad08242f19c0aaec787286a + limb3: 0xad08242f19c0aaec787286a, }, r1a0: u384 { limb0: 0xcde708df2cf8ebba73c7b13e, limb1: 0x32efd2eb6114dcfe39c3fdf9, limb2: 0x81b46d9352a1d3283852dc27, - limb3: 0x19ad0267f7bdaaf9986205cd + limb3: 0x19ad0267f7bdaaf9986205cd, }, r1a1: u384 { limb0: 0x860109901150c0785eca2431, limb1: 0xa7bf3670dae1ad8a4f40d305, limb2: 0xb9bc1d54935166605ca85485, - limb3: 0xde55ad5b86f0179f3a34e6f - } + limb3: 0xde55ad5b86f0179f3a34e6f, + }, }, G2Line { r0a0: u384 { limb0: 0x178379b18626f7f480996464, limb1: 0x9905457420bad5a85b9bee90, limb2: 0x1c27977000f53f2a05b4e4a1, - limb3: 0x918842c5d9f1da6cf126741 + limb3: 0x918842c5d9f1da6cf126741, }, r0a1: u384 { limb0: 0x27dd95e2844378ea90ebe5d4, limb1: 0x5af2fd2756e4dab52f5e77f8, limb2: 0xc2ba5de18b0385ce74c77b5f, - limb3: 0x3c7fa5727ea8c9d646cae70 + limb3: 0x3c7fa5727ea8c9d646cae70, }, r1a0: u384 { limb0: 0xf0a44f50005dcf7588f02c02, limb1: 0xd971fd2f991b155467696d20, limb2: 0x699795f7b8975027f1e5c103, - limb3: 0xda7f16c23b59fae7c41e66d + limb3: 0xda7f16c23b59fae7c41e66d, }, r1a1: u384 { limb0: 0xd00a3bc91e29ee6504078f25, limb1: 0x37efc549e098e4407c501366, limb2: 0xef8969c8bad5269a563c83e3, - limb3: 0x149af36ce061f6aa56ee93af - } + limb3: 0x149af36ce061f6aa56ee93af, + }, }, G2Line { r0a0: u384 { limb0: 0x8a02b34e776442ba59c167e, limb1: 0x2cd74b2524d97b6dccb82f1b, limb2: 0x813ca4185e38eee5964aed07, - limb3: 0x83cc2f404d857d442b3eabb + limb3: 0x83cc2f404d857d442b3eabb, }, r0a1: u384 { limb0: 0x72463cfd186baad7a018e0cb, limb1: 0xa4cd63570dadb68f7d0309f, limb2: 0x57a086998740b2352d53fccf, - limb3: 0x2aa02706d4bdbc65ac03231 + limb3: 0x2aa02706d4bdbc65ac03231, }, r1a0: u384 { limb0: 0xe33b9bf1bff90857e4d61f2, limb1: 0x43eb7abde512fe176791dc98, limb2: 0xb4b49b358c9a901e40d5613e, - limb3: 0x53d85ae1b55cab87293aa1 + limb3: 0x53d85ae1b55cab87293aa1, }, r1a1: u384 { limb0: 0x547181b3fa66b2639ec8caac, limb1: 0x97a64032085b2c91d1c492b9, limb2: 0xdbd11997d43e3e57e23c4cff, - limb3: 0x19e0ef65ce0442faf2567108 - } + limb3: 0x19e0ef65ce0442faf2567108, + }, }, G2Line { r0a0: u384 { limb0: 0x3b4f86ee4171fc73a46c3d5, limb1: 0xa2c3a70144a8b213482fb90d, limb2: 0xfde12864b1671fa86d9e0211, - limb3: 0x8488e6d72cc9f99996e3a7c + limb3: 0x8488e6d72cc9f99996e3a7c, }, r0a1: u384 { limb0: 0x58bac66145ecf6b1dc4652e9, limb1: 0xa08c279a9dd3f9a27307a28f, limb2: 0xe0480f382a930c0e8da54894, - limb3: 0x1093a6faac45157511eda7e0 + limb3: 0x1093a6faac45157511eda7e0, }, r1a0: u384 { limb0: 0x8fff8e258c6a2d1b179b7217, limb1: 0x3ec2a966483e686b172d6b19, limb2: 0xb696ff28222f0abc8d46a4a2, - limb3: 0x1099a36e837c296a95743dee + limb3: 0x1099a36e837c296a95743dee, }, r1a1: u384 { limb0: 0xaddfe6fe51ba3ef44b12dbda, limb1: 0x94ca09358ab5dad1607c1722, limb2: 0x44926a8ffea15646ab1221f9, - limb3: 0xeb0d8e1ff3518df3041efbd - } + limb3: 0xeb0d8e1ff3518df3041efbd, + }, }, G2Line { r0a0: u384 { limb0: 0x8e63a441663872dab66149bf, limb1: 0xc9c87bf6e55ee4471ecfec00, limb2: 0xce8ba5b12ef7950e530e6751, - limb3: 0x19036c37239205542fb77256 + limb3: 0x19036c37239205542fb77256, }, r0a1: u384 { limb0: 0xc4c23871cf570d2ac86cac95, limb1: 0x3cff66372097c68451261af3, limb2: 0xc6ade94f8c28ebe4007e1343, - limb3: 0x19e7ab14be7691a66ed75c31 + limb3: 0x19e7ab14be7691a66ed75c31, }, r1a0: u384 { limb0: 0x604f0bcb1b846c57953baa9e, limb1: 0x81dcb277c4e97ebdd4596d05, limb2: 0xae63997c93fabf23479283b7, - limb3: 0x1812ad42cfda1a8d608a6116 + limb3: 0x1812ad42cfda1a8d608a6116, }, r1a1: u384 { limb0: 0x904a9370cc89b6f966b5aae0, limb1: 0x159ebfaa5d240591de06cb97, limb2: 0x1cc1851722f8ad2cf22893d5, - limb3: 0x728ade3923670c3bdd7beb4 - } + limb3: 0x728ade3923670c3bdd7beb4, + }, }, G2Line { r0a0: u384 { limb0: 0xa3dc1ab42d89ae8b325d427b, limb1: 0x1d7c740e46ec4306e2c88619, limb2: 0x31f7d47a027e479d085e880a, - limb3: 0x5de6db9ee0cfa85a151a83d + limb3: 0x5de6db9ee0cfa85a151a83d, }, r0a1: u384 { limb0: 0x8d9cbdbdeadf4d81f185a381, limb1: 0x580bb622f9f0839c77a2307, limb2: 0x5ccee07b4991bd23a307fa07, - limb3: 0x1616ef86618ac2b7bbeddf56 + limb3: 0x1616ef86618ac2b7bbeddf56, }, r1a0: u384 { limb0: 0x9ae8b66048d7c97f8fab821b, limb1: 0x6b496e9c0cb601604e75d0c7, limb2: 0x5eed49d86cf54de1b281d764, - limb3: 0x3d6513d6bc7bfd76157ec98 + limb3: 0x3d6513d6bc7bfd76157ec98, }, r1a1: u384 { limb0: 0xdcfb80780546b77cc35445a8, limb1: 0x125d7b294e98c0c435a793a2, limb2: 0xeced02d3114a1a1a18ca079, - limb3: 0x163a49c9922df63143db81d9 - } + limb3: 0x163a49c9922df63143db81d9, + }, }, G2Line { r0a0: u384 { limb0: 0x9c25e08fca582713a30bf8e8, limb1: 0x5498ae20a6a534f378b69831, limb2: 0xdd783a5b0f0ef9a3ecb74589, - limb3: 0x117d7480f71ac945bc135958 + limb3: 0x117d7480f71ac945bc135958, }, r0a1: u384 { limb0: 0x23f20c0260568db93332cad4, limb1: 0xf9be3edcad2f716ad354398e, limb2: 0x8abd8e1084b21e076745f42d, - limb3: 0xd031732c8c7513d0693ced + limb3: 0xd031732c8c7513d0693ced, }, r1a0: u384 { limb0: 0x50ecf31bd9798a48cb2540ef, limb1: 0xe9b082486d639a35ab8978d9, limb2: 0xd12e8e3b5ec44cb1f5af7edd, - limb3: 0x138ba5e28dfbae00af4b5c95 + limb3: 0x138ba5e28dfbae00af4b5c95, }, r1a1: u384 { limb0: 0x393d55e2e0bca3a82c44cf73, limb1: 0xf199ae3baa3ab94c0bf97ab0, limb2: 0xccc3be3d6bd86ddbebf34569, - limb3: 0xa562acfc71629deae99dc04 - } + limb3: 0xa562acfc71629deae99dc04, + }, }, G2Line { r0a0: u384 { limb0: 0xa32020fc5c26aa2b2c1872a9, limb1: 0x99317d0307ad5ea842fc68c7, limb2: 0x930db91b6ede96bd9c4fdc5d, - limb3: 0x102eac12776a8bcf9d8023d5 + limb3: 0x102eac12776a8bcf9d8023d5, }, r0a1: u384 { limb0: 0x731ff75a1aba2fa146f52ca7, limb1: 0x284943eff7736f26174d9b1, limb2: 0x1198d0b9e569464a497c9a09, - limb3: 0x137f25b5a84c95068af34ad7 + limb3: 0x137f25b5a84c95068af34ad7, }, r1a0: u384 { limb0: 0xe863956a16770c315872a7dc, limb1: 0x436b0e50fa85dcad5cd5a349, limb2: 0x3a801273d99a2fe4d30db9af, - limb3: 0x1860701c9eb068113c1ab2b4 + limb3: 0x1860701c9eb068113c1ab2b4, }, r1a1: u384 { limb0: 0x8662843a34c684808e361fc8, limb1: 0x5a38428f88ac5961d9f00e31, limb2: 0x6724f856869e9567aac72def, - limb3: 0x6bc151d66baf82f909ff2b0 - } + limb3: 0x6bc151d66baf82f909ff2b0, + }, }, G2Line { r0a0: u384 { limb0: 0x5527d5630ba777b1fb4ee088, limb1: 0x7e6df03522ab95222d3ffbd7, limb2: 0x307862552a41641cb0ddf50, - limb3: 0x12b662fd55c1871cd2294f80 + limb3: 0x12b662fd55c1871cd2294f80, }, r0a1: u384 { limb0: 0x2ee9236fced8ab9415122d9a, limb1: 0xa76214b949312091aa6358f0, limb2: 0x7df6f68f1a8701aea18b9ec, - limb3: 0x5befdc841ed311c388e2df2 + limb3: 0x5befdc841ed311c388e2df2, }, r1a0: u384 { limb0: 0x2b6fe7920b18941913c6655b, limb1: 0x78fd904d62559b1e4759ea15, limb2: 0xd8f1c747d3f90ced746ae347, - limb3: 0xa64d1afe8a82475a30e8c7d + limb3: 0xa64d1afe8a82475a30e8c7d, }, r1a1: u384 { limb0: 0xff554fd5d64a021bfbc00bf2, limb1: 0xf32efdc99923446fcc7e7ce6, limb2: 0x3d912c666b1ef6b2946fb5a4, - limb3: 0x170c583c65e55b93944cec32 - } + limb3: 0x170c583c65e55b93944cec32, + }, }, G2Line { r0a0: u384 { limb0: 0x951a4e431316ff50c6482c4b, limb1: 0xfca83ba8d8ac3648492339b3, limb2: 0xe58171dcd987509cb26871b3, - limb3: 0xbb9bb5adf70482b97a3bb0 + limb3: 0xbb9bb5adf70482b97a3bb0, }, r0a1: u384 { limb0: 0xbd34770ae9d9ab5889638f6e, limb1: 0xe560cf49df7557f1fc4789e6, limb2: 0xeaa7805774b72bcb87190c5d, - limb3: 0x3cbee01dd125eddb941d5ef + limb3: 0x3cbee01dd125eddb941d5ef, }, r1a0: u384 { limb0: 0x2591fb43af877979ad4813b8, limb1: 0x644b55586a6a840b039947d4, limb2: 0xf8fbb480986ffe538209ee87, - limb3: 0x3ad1974c3abfbbda2f04c39 + limb3: 0x3ad1974c3abfbbda2f04c39, }, r1a1: u384 { limb0: 0x93e4c00d261450378ac274aa, limb1: 0x660682ced30c45a709bb61cb, limb2: 0xd1bf1cf243b7b502956d9c37, - limb3: 0x10ba03cfd910b6debea99ca8 - } + limb3: 0x10ba03cfd910b6debea99ca8, + }, }, G2Line { r0a0: u384 { limb0: 0xb6c906d97aab5e1a9eb8c32d, limb1: 0x85329037280ec3157df623f7, limb2: 0xd9d95abc41d2db2aad018e4, - limb3: 0xe54818adbc0e75e37818e30 + limb3: 0xe54818adbc0e75e37818e30, }, r0a1: u384 { limb0: 0x94754dd0167e9ff97e8becf2, limb1: 0x670389f4b3b102ef1b751a27, limb2: 0x77799f6977420d487566d73b, - limb3: 0x4a016e9a4cb18014c34f16d + limb3: 0x4a016e9a4cb18014c34f16d, }, r1a0: u384 { limb0: 0x410ff00026087c2dbdf2fd58, limb1: 0x9ae51362dd988b2c6ebf5a13, limb2: 0xb13af64f748c9aede0307bb5, - limb3: 0x5cd4ab58201d40254203f2 + limb3: 0x5cd4ab58201d40254203f2, }, r1a1: u384 { limb0: 0x6555f91ee569a8afd438101c, limb1: 0xf3912880056e4067cad1d751, limb2: 0x7a68681bcf4416fbed94065d, - limb3: 0x21c29689b9032ed40de3aa7 - } + limb3: 0x21c29689b9032ed40de3aa7, + }, }, G2Line { r0a0: u384 { limb0: 0x9cb6410ea1c244cf91261620, limb1: 0x9a0ec70e2e435659f0b82aab, limb2: 0x6bdf6b76e92e374094dc4bff, - limb3: 0x17c071fbb0cd439df25600d4 + limb3: 0x17c071fbb0cd439df25600d4, }, r0a1: u384 { limb0: 0x9306de6711a91e50165883e1, limb1: 0xc18e08efb171501bbdff0cb5, limb2: 0xfd1e6d2d3a2460d3410a52e1, - limb3: 0xc2b3cc424e21932b681451b + limb3: 0xc2b3cc424e21932b681451b, }, r1a0: u384 { limb0: 0x5d5dd56986bea0e5134b28fe, limb1: 0x18fd0b9680274cb30e18754a, limb2: 0x4aa4b6112cb15d07ef827dfc, - limb3: 0x7654a15e3407ca6bab2ceda + limb3: 0x7654a15e3407ca6bab2ceda, }, r1a1: u384 { limb0: 0xee1aef22ef67624ae4234d51, limb1: 0x55866c74019cad949d30560f, limb2: 0x8bf24af5437a7ba1a934e0ff, - limb3: 0x16b7dcb84dde31d6d6ab26c9 - } + limb3: 0x16b7dcb84dde31d6d6ab26c9, + }, }, G2Line { r0a0: u384 { limb0: 0xdb7c2f40b16d97db7e13c229, limb1: 0xdff1cd4ca577396b6b70b26b, limb2: 0x1cd9cfb3a94fbf15cb93100, - limb3: 0xfefdba2cc25f2c9988106fa + limb3: 0xfefdba2cc25f2c9988106fa, }, r0a1: u384 { limb0: 0x62c89065b22acd9971ee6c13, limb1: 0xc625f36141a3b56449a77e6f, limb2: 0xa5493f44e855a7cb66dd8bbf, - limb3: 0x12c14460b44cf28ef342f8c5 + limb3: 0x12c14460b44cf28ef342f8c5, }, r1a0: u384 { limb0: 0x60b1fdd98b736e288380b2b, limb1: 0x63aff4cef5521d0cdae1528c, limb2: 0xd36d721112740df1889366c, - limb3: 0x11495a9a17f547466be11d96 + limb3: 0x11495a9a17f547466be11d96, }, r1a1: u384 { limb0: 0x193d4800d3bf3ba99b4873cc, limb1: 0x7f5f89e476bf6b18eb5921b6, limb2: 0x5cb3d8ee744c61fc500e6d7a, - limb3: 0x1523763cf6be6e71c2d91f96 - } + limb3: 0x1523763cf6be6e71c2d91f96, + }, }, G2Line { r0a0: u384 { limb0: 0x1aa12c881d544bcb37558850, limb1: 0x63144f19ff872a71e030cc70, limb2: 0x48ae38b0e1add101ce20c6f3, - limb3: 0x19ff58260aefd123e7ba2a8 + limb3: 0x19ff58260aefd123e7ba2a8, }, r0a1: u384 { limb0: 0x7ced7c5b08862b085468314e, limb1: 0xa13dbc7202177828765c874b, limb2: 0xbed3e3698263832c713811d3, - limb3: 0x292745a86de12caf184cbee + limb3: 0x292745a86de12caf184cbee, }, r1a0: u384 { limb0: 0x8c959e86f45c34c2a6916d1b, limb1: 0x9f18192cb102d0ff3966b40e, limb2: 0x52e77aa983872d849ff8d43d, - limb3: 0x48e5858a2e8ae6f1bc52341 + limb3: 0x48e5858a2e8ae6f1bc52341, }, r1a1: u384 { limb0: 0x3ac200354363217e43902841, limb1: 0x171fc3dfcb35d029c4833069, limb2: 0xfcbd684ba325147b59f94274, - limb3: 0x730542a2728b9e2dd2070a4 - } + limb3: 0x730542a2728b9e2dd2070a4, + }, }, G2Line { r0a0: u384 { limb0: 0x3bc964d3cbdd70ad2e06f5fa, limb1: 0x9e036ff6ff547b6bff393699, limb2: 0x297502ec4ddf92bd4a493750, - limb3: 0x73084817d704764e798e635 + limb3: 0x73084817d704764e798e635, }, r0a1: u384 { limb0: 0x31809caa85fd1dee70633314, limb1: 0x6c523cb1d6d1fa98de5a75dd, limb2: 0x1aa4873cc1858c15952ba162, - limb3: 0x14849b1aabca26d959441cde + limb3: 0x14849b1aabca26d959441cde, }, r1a0: u384 { limb0: 0xacae5867577225d72b8258bc, limb1: 0x96a4b24a109f241ed9c103e0, limb2: 0xe3442c632f299305679b0bca, - limb3: 0x14d7ce3b603d1e7cd7e2361a + limb3: 0x14d7ce3b603d1e7cd7e2361a, }, r1a1: u384 { limb0: 0x5e1f793ad67dd2264e64d9, limb1: 0xadfd0cda9704c46e93b68319, limb2: 0xb34174c0ba3f0e5690b4f12, - limb3: 0x7cead3683efbab7c7c3a775 - } + limb3: 0x7cead3683efbab7c7c3a775, + }, }, G2Line { r0a0: u384 { limb0: 0x999071a9101732d492061a90, limb1: 0xe63f37b3174c5f1297e235f6, limb2: 0x95b88eed7507ce097bbe89ca, - limb3: 0x163149501da9846df4670d0c + limb3: 0x163149501da9846df4670d0c, }, r0a1: u384 { limb0: 0x9e9d3eddfe0b0aab2fbec0c, limb1: 0xfea1de933107fff354bc0f3d, limb2: 0xb517bbbc647a7ab824f4e848, - limb3: 0x170b612b36fc686c2e694d29 + limb3: 0x170b612b36fc686c2e694d29, }, r1a0: u384 { limb0: 0x7fc55183f351dd4a9d52c0db, limb1: 0x2912e3b30839b48a933c3e5e, limb2: 0x39262021239a1090055cd429, - limb3: 0xec3a57880804fd3f02e825a + limb3: 0xec3a57880804fd3f02e825a, }, r1a1: u384 { limb0: 0x99b5fb13fc76d8a2c2cfa88d, limb1: 0x2af93378b2e0d8d194604349, limb2: 0x832ee1f724befe4e41349494, - limb3: 0x2a4caaf73deb41cddeb1e20 - } + limb3: 0x2a4caaf73deb41cddeb1e20, + }, }, G2Line { r0a0: u384 { limb0: 0xb4c0e53b8b85b70fd397ca9, limb1: 0xf81023bcd84336ba486bbb69, limb2: 0x951f292517f80fefb53ce43a, - limb3: 0x1854db111892206ddcc7d4f2 + limb3: 0x1854db111892206ddcc7d4f2, }, r0a1: u384 { limb0: 0x7d3f4d9b31edded71452fa4e, limb1: 0x1d7efee57fa90e3a87b5bf30, limb2: 0x98b4bb185fadc2115844beb3, - limb3: 0x9323c26174a9528c0078a0c + limb3: 0x9323c26174a9528c0078a0c, }, r1a0: u384 { limb0: 0xcae0056d355b9f6761bec260, limb1: 0x761aac0270bdc92cbcffd5c3, limb2: 0x7eeedd0df5c8b1cf9b25033, - limb3: 0xdf44e5cb05d7ac7267fca21 + limb3: 0xdf44e5cb05d7ac7267fca21, }, r1a1: u384 { limb0: 0x2c618c362b029fd18c70f772, limb1: 0x16872fb729361313dff53d74, limb2: 0x83abe31b8bfade90e907f78f, - limb3: 0xe38ce80ae574859be5b287e - } + limb3: 0xe38ce80ae574859be5b287e, + }, }, G2Line { r0a0: u384 { limb0: 0xc483cab3af32b8cce205e87d, limb1: 0x9d2a45392f78c5e530451785, limb2: 0xdb6c59ed5b82f4de76b7256b, - limb3: 0x47c81e4cc5e1c5d2ff3dfb7 + limb3: 0x47c81e4cc5e1c5d2ff3dfb7, }, r0a1: u384 { limb0: 0xf7f0999a8a0c2078daf563ff, limb1: 0xf801e673de7a6681d0ad832c, limb2: 0x6dd8755c6b9fef053dda67f0, - limb3: 0x470082fac490f7d8ff83d05 + limb3: 0x470082fac490f7d8ff83d05, }, r1a0: u384 { limb0: 0x1d9f096b1cdfa9d92f3ecd86, limb1: 0x303cd4299b5599615f34e12, limb2: 0x4d28fad42e2136274fc22ac1, - limb3: 0x42ad6e99b972ba7faaccfa + limb3: 0x42ad6e99b972ba7faaccfa, }, r1a1: u384 { limb0: 0x7d9d2503df48b7eb05d6cc13, limb1: 0x6a65472b48aff35a2ae3a9d3, limb2: 0xcbb040de22bd261b17829a93, - limb3: 0x2f359c6ff6e984beda9b4e0 - } + limb3: 0x2f359c6ff6e984beda9b4e0, + }, }, G2Line { r0a0: u384 { limb0: 0x3368b59a608905f593717f6c, limb1: 0x9fadc99f54479421462b44a6, limb2: 0x7ecc879dfa7e889b09cddc25, - limb3: 0xafacf2a7a033583c7e9d920 + limb3: 0xafacf2a7a033583c7e9d920, }, r0a1: u384 { limb0: 0x284cfbe8d68936e4fcc5e83, limb1: 0x65a8a02635080d8565116a03, limb2: 0x7a868f131cbcd89142de7559, - limb3: 0xcc53ca2497099a56ff098ff + limb3: 0xcc53ca2497099a56ff098ff, }, r1a0: u384 { limb0: 0xc58cbd4b283cbf3eff21b78a, limb1: 0x67dd7b9f8984e236e1c6b51c, limb2: 0x3e6366a0c97a444c9defec8d, - limb3: 0x11132f87bc1acdb72deafe50 + limb3: 0x11132f87bc1acdb72deafe50, }, r1a1: u384 { limb0: 0x538f361d8e86e4617e6a5770, limb1: 0x8538c52255d062c8dd6b6a6e, limb2: 0x3cf6cfda020417393f068a01, - limb3: 0x2dcc10794cec979dc66f076 - } + limb3: 0x2dcc10794cec979dc66f076, + }, }, G2Line { r0a0: u384 { limb0: 0x91346b567f76364e14397802, limb1: 0xe4669ab6c6c801868ea181c9, limb2: 0x69e8ca27aa64f9b9deff6b5e, - limb3: 0x1324fcf625329027578f8a1f + limb3: 0x1324fcf625329027578f8a1f, }, r0a1: u384 { limb0: 0x1b90c202de3c543db443916c, limb1: 0xa1b60baac0c7858225ee8f4e, limb2: 0xc122c8ac8d01fa4f77561f6d, - limb3: 0xbf8ce24ece91062b1fafaa0 + limb3: 0xbf8ce24ece91062b1fafaa0, }, r1a0: u384 { limb0: 0x349aa436731d52ce8143d7fe, limb1: 0xf01f24c451c7f3cee4523ba9, limb2: 0x95aeaad6f40e28638278856e, - limb3: 0x11018272ddb0440784f09552 + limb3: 0x11018272ddb0440784f09552, }, r1a1: u384 { limb0: 0x44f1642d198d8ef7cc740f99, limb1: 0x3fcb198297333fc4f5188eec, limb2: 0xf9355343a13841f641108327, - limb3: 0x7ca3e5d510ac999944827d5 - } + limb3: 0x7ca3e5d510ac999944827d5, + }, }, G2Line { r0a0: u384 { limb0: 0x1ae539cd3d5bfd7479374a3a, limb1: 0x99986d947095a5d0e52d8cb4, limb2: 0x85c3a70092a1328677770181, - limb3: 0x191626fe1a2306ec9140df49 + limb3: 0x191626fe1a2306ec9140df49, }, r0a1: u384 { limb0: 0xd60992cc29ba925f57b9aa72, limb1: 0x6f5f37c85cf18ccb3f47bef6, limb2: 0x11dfbc1091ccdc6b21563041, - limb3: 0x371c988f9b10c65bd6912 + limb3: 0x371c988f9b10c65bd6912, }, r1a0: u384 { limb0: 0x6ab68e6eaa011a274ade6247, limb1: 0x53c650901cf6547029586264, limb2: 0x217b97d310aa75843d576b00, - limb3: 0xb34674dd9565502f88c2310 + limb3: 0xb34674dd9565502f88c2310, }, r1a1: u384 { limb0: 0xda421691cbe1d6e42d607a17, limb1: 0x41918f135ebf00991f4ea5f, limb2: 0x3b96c0b3672bee4ac88cfe38, - limb3: 0xedebecc6bc8087f71261d0b - } + limb3: 0xedebecc6bc8087f71261d0b, + }, }, G2Line { r0a0: u384 { limb0: 0x5708387c81243d8656ed877b, limb1: 0xe445c9668475e7ee6a220c3c, limb2: 0x9a5616be12b5ca329b1e9351, - limb3: 0x98439dacd980beada81f775 + limb3: 0x98439dacd980beada81f775, }, r0a1: u384 { limb0: 0x24153e1576aac5b27c520a25, limb1: 0x63099212876df906160f0bdc, limb2: 0xacf518d04b54fb97a80223a4, - limb3: 0x159baddef0ddc9dbaabfa621 + limb3: 0x159baddef0ddc9dbaabfa621, }, r1a0: u384 { limb0: 0xbe25262bec154dfef1428866, limb1: 0xa2c787ef175bc996f0b35f95, limb2: 0x32b960ca398570da22485f90, - limb3: 0xa5eda48d9b501ca3e565fdc + limb3: 0xa5eda48d9b501ca3e565fdc, }, r1a1: u384 { limb0: 0x575e126dbb7dd3b0bd23eb9d, limb1: 0x1bc5525abae24ad5be772bf9, limb2: 0xe8d0e48a8737f58e7d56d4c1, - limb3: 0x1045e77f326c79fb8086ec53 - } + limb3: 0x1045e77f326c79fb8086ec53, + }, }, G2Line { r0a0: u384 { limb0: 0x6d56d1252725e7f5143c8590, limb1: 0x35d67756ade4dee8f8be255e, limb2: 0x303dfcf0cbf0761f5a085ccb, - limb3: 0x5ed54990f1521085b462863 + limb3: 0x5ed54990f1521085b462863, }, r0a1: u384 { limb0: 0xd8f454dda993b61de297e66c, limb1: 0xcbfbf6b7b48d4a55bc672a3b, limb2: 0x4ff1328c6462d1fc71f2c955, - limb3: 0xe481de1284934419be4f77e + limb3: 0xe481de1284934419be4f77e, }, r1a0: u384 { limb0: 0x4ae8cd7c0c3d1c169a6bde1, limb1: 0xe5ced7984c11e16ac61e6337, limb2: 0xdf6341c367b3c11a34785533, - limb3: 0x66193e648c407cda52b0a86 + limb3: 0x66193e648c407cda52b0a86, }, r1a1: u384 { limb0: 0xd5108a1ee2d649a19acb66c8, limb1: 0x360824b595c0ceb4ffa2eef3, limb2: 0xb954a7a4dbd0ba9344fd0c57, - limb3: 0xcfb3335779d608b47dbc5c - } + limb3: 0xcfb3335779d608b47dbc5c, + }, }, G2Line { r0a0: u384 { limb0: 0x1905660330e264ffe1201088, limb1: 0xe77ab0740f1c3b23f0f51f50, limb2: 0x8ef7cee645865d3da96ac0e5, - limb3: 0x168ed09f27759e0ce04c9746 + limb3: 0x168ed09f27759e0ce04c9746, }, r0a1: u384 { limb0: 0x55d57a2fd6abd06bdc4937b0, limb1: 0x26e6337a256c5d0b5a1afd47, limb2: 0x3ac49416e71b8427f2562fb1, - limb3: 0x2ff671352fc439126c3772a + limb3: 0x2ff671352fc439126c3772a, }, r1a0: u384 { limb0: 0x8fd316a93a09f110e6160238, limb1: 0xdd0daafc6ed6c95aa1b344b2, limb2: 0x210b615efd4970d9dbc58783, - limb3: 0xf448d964ca7f8796e644e2d + limb3: 0xf448d964ca7f8796e644e2d, }, r1a1: u384 { limb0: 0x29b9f2bc42f2ffd5005f5eb4, limb1: 0xc48f2cbd47015150e31a4823, limb2: 0xaba30fd7d93d1e7a0d228fb0, - limb3: 0x135a194d7581a97a56598750 - } + limb3: 0x135a194d7581a97a56598750, + }, }, G2Line { r0a0: u384 { limb0: 0x92836260b75c579dbd14b12a, limb1: 0x620b095c36717ab6852efa2, limb2: 0xc1eafa05172755028bd35b2, - limb3: 0xe5b66fa93381b5aed7bb46a + limb3: 0xe5b66fa93381b5aed7bb46a, }, r0a1: u384 { limb0: 0x73e4e9ac5f5bd83e9aa5959c, limb1: 0x36949ed94590d0197fc158ab, limb2: 0xc2ef7657cfb98405cb7ebeaa, - limb3: 0x8445f154af158efd856e68a + limb3: 0x8445f154af158efd856e68a, }, r1a0: u384 { limb0: 0x581c26803b5b1f3e199f7ab2, limb1: 0x5ae8d3853d0699834c85d670, limb2: 0x8ad634ec4b30b96b6a80383f, - limb3: 0xd488f35f949c09cf57164e7 + limb3: 0xd488f35f949c09cf57164e7, }, r1a1: u384 { limb0: 0x55c31b3cb4484c5bc1ae6cca, limb1: 0x866f2857d1cfd432a2e31087, limb2: 0x5d00ff10ce51b502176df865, - limb3: 0x172fe3e278748039822ecdca - } + limb3: 0x172fe3e278748039822ecdca, + }, }, G2Line { r0a0: u384 { limb0: 0x6a6472287dda67068ae6340c, limb1: 0x3cfc2833599fdfa121b9fe7e, limb2: 0x31ff610147c17e23f45b5486, - limb3: 0x185130e4f785abb0619abe9 + limb3: 0x185130e4f785abb0619abe9, }, r0a1: u384 { limb0: 0x4393bed022a497d9346164ac, limb1: 0x130b9265e6e5ee1c7df031ce, limb2: 0x6715f0b4d6099b750a24d3d9, - limb3: 0xe91da3136cb53d96c595b78 + limb3: 0xe91da3136cb53d96c595b78, }, r1a0: u384 { limb0: 0x55fd3f010688075e5978b14, limb1: 0xff1b2f45c9d48fef7bb2490d, limb2: 0xfada4a38c5e40aff5c0b0c19, - limb3: 0xcd1bf218916e21b0b11b7bd + limb3: 0xcd1bf218916e21b0b11b7bd, }, r1a1: u384 { limb0: 0x6694ff2e84b88d0b28a86c7, limb1: 0xdbed6debb000097d0d7aed0c, limb2: 0x135d21c4bb6d0ca7d8768c31, - limb3: 0x187a63bf7554a98e6d087717 - } + limb3: 0x187a63bf7554a98e6d087717, + }, }, G2Line { r0a0: u384 { limb0: 0xbf20ae5e2142585ab87496b2, limb1: 0x66dbe973ac92a361793c678e, limb2: 0x34adbc4eee58df2265649a7a, - limb3: 0x161986b067ab47313f14f315 + limb3: 0x161986b067ab47313f14f315, }, r0a1: u384 { limb0: 0x5dafd82ea5951b1700b85fd6, limb1: 0xa032df8c5c8b6ff0c82d4335, limb2: 0x5e9d0d2cd37437c605b9ca77, - limb3: 0x713edf121dafa633e361a77 + limb3: 0x713edf121dafa633e361a77, }, r1a0: u384 { limb0: 0xf48d3a8c3104532057ca25ca, limb1: 0x6dbf987d3174e477ed32e3dd, limb2: 0xc4a4c6d77d33f0cfd64ea3da, - limb3: 0x36c11e29cc4fb647a958057 + limb3: 0x36c11e29cc4fb647a958057, }, r1a1: u384 { limb0: 0x1fbf942fc96f0157cf750797, limb1: 0x6c1aa4ccb2d753301f746dcd, limb2: 0x4d09e39cd306fe441eea9bc0, - limb3: 0x5a5d219af2a34e73631f810 - } + limb3: 0x5a5d219af2a34e73631f810, + }, }, G2Line { r0a0: u384 { limb0: 0xcc5753fa5f9c2031b7c52b48, limb1: 0xc05b4af7e1a54143e7ade2b7, limb2: 0x7b585f7f4937d5d56ee06a1d, - limb3: 0x9c88d19f51226766b5fc7e1 + limb3: 0x9c88d19f51226766b5fc7e1, }, r0a1: u384 { limb0: 0xb7e478b01ca956db521aff83, limb1: 0x6a187593d50cc4f027e11347, limb2: 0x462960288c2ed800cb8d93f9, - limb3: 0x36e4e0fb04b76c200f8fb8 + limb3: 0x36e4e0fb04b76c200f8fb8, }, r1a0: u384 { limb0: 0xf9710b97ef78c7473b8a09da, limb1: 0x864cfcbe4725c0b6928f2a56, limb2: 0x6c695406b9c701a19ff65fc9, - limb3: 0x79d5669429ce771f3e3dab6 + limb3: 0x79d5669429ce771f3e3dab6, }, r1a1: u384 { limb0: 0x8ec637f338c24ff852fd062c, limb1: 0xdbe45df89124a93faec45927, limb2: 0x7e86298f4efebacdefb4fb7e, - limb3: 0xdd88cbee8b074de30e60664 - } + limb3: 0xdd88cbee8b074de30e60664, + }, }, G2Line { r0a0: u384 { limb0: 0xfcaec442440567fbd524afd3, limb1: 0x8a98d6814b4e1a9d7cc758f5, limb2: 0x2f760e54677f2bfe70729dda, - limb3: 0x10d9b23a3b0bed118a63da40 + limb3: 0x10d9b23a3b0bed118a63da40, }, r0a1: u384 { limb0: 0xf8ddb0878dacb7f806e628f6, limb1: 0xa92656b5a22485577c56af43, limb2: 0xc1966ef8fd5955d77fe82334, - limb3: 0x14241c193aeb87dabd157fcb + limb3: 0x14241c193aeb87dabd157fcb, }, r1a0: u384 { limb0: 0xe24c327f129ea9cc0c685f56, limb1: 0x2cc19f72e94fdb6bd9c760af, limb2: 0xf2d5c5f0374a2fc038365379, - limb3: 0x1878ead2b6e1e7596ec4cfde + limb3: 0x1878ead2b6e1e7596ec4cfde, }, r1a1: u384 { limb0: 0xbe9a8c83f17d63b11ec592f7, limb1: 0x333dabd959a73409e3af6512, limb2: 0xc6a319cf5c77477ad20fb93b, - limb3: 0x702610944a3a8ae2f03176d - } + limb3: 0x702610944a3a8ae2f03176d, + }, }, G2Line { r0a0: u384 { limb0: 0xe3f40bb32c0c05422e341419, limb1: 0xf98709366139095ffb68876e, limb2: 0x2674c9dda9d7a090002bc885, - limb3: 0x17eae9f6a6302f7703aa443f + limb3: 0x17eae9f6a6302f7703aa443f, }, r0a1: u384 { limb0: 0xe2dd70013040cad06ef5ca86, limb1: 0x42a8d956ad95aea9367a1f5f, limb2: 0x9810ea523e0cf2253013f127, - limb3: 0x8bbc56ac77f83287136e63b + limb3: 0x8bbc56ac77f83287136e63b, }, r1a0: u384 { limb0: 0x9b99afd48e0d94cbff84eece, limb1: 0xe1b581098b2ccd1c8955a1eb, limb2: 0x5f4e293d975fca4259bf4fd7, - limb3: 0x5580f5ed24c4fa4f4a1dad5 + limb3: 0x5580f5ed24c4fa4f4a1dad5, }, r1a1: u384 { limb0: 0x9576941ab7748b52d007681d, limb1: 0x90a60953d0871a846ab3b1f0, limb2: 0xf79279b4da9f3433f8099425, - limb3: 0x195f49ffeb41a4213cda8f46 - } + limb3: 0x195f49ffeb41a4213cda8f46, + }, }, G2Line { r0a0: u384 { limb0: 0x90cef5ee61e6df7a454608fe, limb1: 0x88fe96f3b500db97a43de2d1, limb2: 0xa5d6accf5ccaa42fe16a3992, - limb3: 0xae32950a755162ce529df78 + limb3: 0xae32950a755162ce529df78, }, r0a1: u384 { limb0: 0xf3ae985d887f474aa5877b76, limb1: 0xb8547eba672182699a37b51, limb2: 0xb7c251f43cab02164068b78f, - limb3: 0x174654a7bb0641d12855a77f + limb3: 0x174654a7bb0641d12855a77f, }, r1a0: u384 { limb0: 0xf753460ade95181364d2f3ea, limb1: 0x96a3ec0badb9f7367bde0aab, limb2: 0xff4d25450e90338ada3905d3, - limb3: 0xd5c3971a419820ff1b7cccd + limb3: 0xd5c3971a419820ff1b7cccd, }, r1a1: u384 { limb0: 0x3f1ecd361055779f1b53e7b1, limb1: 0x14d20a7dda52d2825dbf9837, limb2: 0x14a64436c97c743580f85855, - limb3: 0xdfc88a6d5eac1b6de8191f - } + limb3: 0xdfc88a6d5eac1b6de8191f, + }, }, G2Line { r0a0: u384 { limb0: 0xae56b988f4758a522dca5a4d, limb1: 0xae3d0e7e09190f3609c309cd, limb2: 0x47682787ec998873eb9d2407, - limb3: 0x1450b662024978043b49dc8d + limb3: 0x1450b662024978043b49dc8d, }, r0a1: u384 { limb0: 0xbb90fcac5a679687e056e1ab, limb1: 0x346bb08e621a7eb5bfb4fac4, limb2: 0xa4f760e0f167e1a1bd40c3f, - limb3: 0x14844a685948d595d4670e4d + limb3: 0x14844a685948d595d4670e4d, }, r1a0: u384 { limb0: 0x30be8b4bacb9ba7ed94ecc16, limb1: 0x39660a59eb1229ceac4b77b5, limb2: 0xa7c51a2eb736180af609d139, - limb3: 0x3565a224e9d4c23eb077b2f + limb3: 0x3565a224e9d4c23eb077b2f, }, r1a1: u384 { limb0: 0x8439a957b7e57d9a49eebba6, limb1: 0xf61f936d1748fd0836c435f9, limb2: 0xe02f71c8ca4c526df790cfac, - limb3: 0xc873450002e03b8fbae2d85 - } + limb3: 0xc873450002e03b8fbae2d85, + }, }, G2Line { r0a0: u384 { limb0: 0xea2aa2ef798d63dae1ad5987, limb1: 0xc1cc74e5c2033001dbfb3d2a, limb2: 0x84aca7a16c78c31ed8f8ed89, - limb3: 0x14dccb954adf43f1f8d66861 + limb3: 0x14dccb954adf43f1f8d66861, }, r0a1: u384 { limb0: 0xc582e31d76536e6079306875, limb1: 0x6b02558893b8f50219b410a2, limb2: 0xbde3edcd153b6a2a637da1d3, - limb3: 0xd094e0bb17f9376d4e53419 + limb3: 0xd094e0bb17f9376d4e53419, }, r1a0: u384 { limb0: 0x7cd03ef2cd33db33f6a8ae2c, limb1: 0x5e2f73868b9435622e66abde, limb2: 0x17d48c069f57a0f70ef9b0c3, - limb3: 0x14f4eacc84d8d967e9bf296a + limb3: 0x14f4eacc84d8d967e9bf296a, }, r1a1: u384 { limb0: 0xc22e92ae4c9bf9dce9693503, limb1: 0xecee5b30a52a97acf85cc7db, limb2: 0x6a40372e261a1a3f795946e3, - limb3: 0x108e71b5478085f037d483ca - } + limb3: 0x108e71b5478085f037d483ca, + }, }, G2Line { r0a0: u384 { limb0: 0xfd3f06dc9ab069ab1ce8f8a1, limb1: 0x94eab902643916c93a42725d, limb2: 0x92896eef5c25b54929be81c, - limb3: 0xe1231b2187274313b2221ea + limb3: 0xe1231b2187274313b2221ea, }, r0a1: u384 { limb0: 0xe79feb70c92be5b75090280e, limb1: 0xa079b2d01c8fd3c5e91224d5, limb2: 0xc3d6265ffbc67b2935500cb7, - limb3: 0xc55e460244e9d7e4724fc08 + limb3: 0xc55e460244e9d7e4724fc08, }, r1a0: u384 { limb0: 0xc2536498b81604b679714431, limb1: 0xfba1e239fe9a2ba2b8434f7d, limb2: 0xfb06ed703e76ad221dd5f099, - limb3: 0x179f886a9d4a211471ca742c + limb3: 0x179f886a9d4a211471ca742c, }, r1a1: u384 { limb0: 0xc0002d164553ae2136d17389, limb1: 0x9e4c21af2da6e3fa6547209b, limb2: 0xc0d2c1b4544b1ff1f728f42f, - limb3: 0x5d028766fec144c63899579 - } + limb3: 0x5d028766fec144c63899579, + }, }, G2Line { r0a0: u384 { limb0: 0xbc724a32cdf5e686384f9c7a, limb1: 0x392e6cc66a96742b02d99a2d, limb2: 0xeb9b287e3c4d8e9fb1139bdc, - limb3: 0x12871a93fbded0050b89a65f + limb3: 0x12871a93fbded0050b89a65f, }, r0a1: u384 { limb0: 0xd651768ec377726d1e98bbc3, limb1: 0x161f43ed1fa20484936f2fa3, limb2: 0xc1ac29c81e10ff7a9de14de, - limb3: 0x19f6a875998dc4da65846083 + limb3: 0x19f6a875998dc4da65846083, }, r1a0: u384 { limb0: 0x9bb0b60d42e6317602bd7ce7, limb1: 0x81349962f265bf955e2764be, limb2: 0x1c169de754e8e91e0db4fa7e, - limb3: 0xc08c552ccddf1e5cff0e338 + limb3: 0xc08c552ccddf1e5cff0e338, }, r1a1: u384 { limb0: 0xb38dc139b4e54949577b1af0, limb1: 0xa84359dd65e8195ade74119b, limb2: 0x98af04c069558c8ff3c8a988, - limb3: 0xd7d61d48c3534a82ef148f9 - } + limb3: 0xd7d61d48c3534a82ef148f9, + }, }, G2Line { r0a0: u384 { limb0: 0x295040d451b4f8c10a66f7d7, limb1: 0xf80871061d801c912de9eafb, limb2: 0xed8fba8b831bbb416e5ebee6, - limb3: 0x8e430db1b12d579f711d4d0 + limb3: 0x8e430db1b12d579f711d4d0, }, r0a1: u384 { limb0: 0xd164d4b3a22de89a6127a3da, limb1: 0x3179de3a1d34aa2ba893d3bd, limb2: 0xd13dbdaf8082b8707f996dcb, - limb3: 0x331baf7d5a95517a04106b9 + limb3: 0x331baf7d5a95517a04106b9, }, r1a0: u384 { limb0: 0x9c001f3c828430bd90bdc1c7, limb1: 0xb547be2465b75cb89225949e, limb2: 0xb122f0237cfe3b5d08f35577, - limb3: 0x11503e8a68740fb9362c9459 + limb3: 0x11503e8a68740fb9362c9459, }, r1a1: u384 { limb0: 0x65097bf894cc61c85f24f61e, limb1: 0xdf7a3e16965ab9a30895ea0d, limb2: 0x847935d9036676bf5514e7c3, - limb3: 0x177430f992f8d04517396f1a - } + limb3: 0x177430f992f8d04517396f1a, + }, }, G2Line { r0a0: u384 { limb0: 0xa0441a4e753643b9355a3f17, limb1: 0x5a5c762a2fd001fa04296621, limb2: 0x8aae9d0aadb27b00bfb42ba7, - limb3: 0xc001ec34e10687e40e3fe3a + limb3: 0xc001ec34e10687e40e3fe3a, }, r0a1: u384 { limb0: 0xcf274b3feea0a98a9b78a1f, limb1: 0xeda53e4c0d1b94029825054e, limb2: 0x77bd53e6876b8b4092e9830e, - limb3: 0xf544b1f6c1cbceaa8e8a27d + limb3: 0xf544b1f6c1cbceaa8e8a27d, }, r1a0: u384 { limb0: 0x4875b1a7e30d8b356c4b48d5, limb1: 0x793f8bad6545072c701e941e, limb2: 0xdfaae7697d21b2c91f24603b, - limb3: 0x173d1e1c4f05bc5b74162c78 + limb3: 0x173d1e1c4f05bc5b74162c78, }, r1a1: u384 { limb0: 0x1cb3eb9353a1f193fb82307e, limb1: 0x31022b7f3322bddb99c07c3e, limb2: 0x1be773cf729614f209981079, - limb3: 0xfba0833bdd7e0106f828369 - } + limb3: 0xfba0833bdd7e0106f828369, + }, }, G2Line { r0a0: u384 { limb0: 0x8e9e39aea770477dfe41413f, limb1: 0x559b27235633eae55e8ca028, limb2: 0x2e0b31fe51912846733f2096, - limb3: 0x119fa86b301bad56082a7a7d + limb3: 0x119fa86b301bad56082a7a7d, }, r0a1: u384 { limb0: 0x180fe9c5376d245dfcee6c8a, limb1: 0xa8dd4c7ddf1cb669c8641bb8, limb2: 0x7a6d705717e66bb11df0c176, - limb3: 0x9ff35d1500f1e43f5865d55 + limb3: 0x9ff35d1500f1e43f5865d55, }, r1a0: u384 { limb0: 0xc028e802f19a8ce09f9f23, limb1: 0xce04a4a4f6d5a750653cc7f7, limb2: 0xa6205c0b6fed3d0ae979bc7, - limb3: 0x13d44560fc6bb13d20f95fb9 + limb3: 0x13d44560fc6bb13d20f95fb9, }, r1a1: u384 { limb0: 0x561f8c090b24590a5ee95f0c, limb1: 0x6c79bc6d06256ea89d865cf5, limb2: 0x22d121d8814a3e99fab8b5b1, - limb3: 0x4e23c464de2a41f3634339c - } + limb3: 0x4e23c464de2a41f3634339c, + }, }, G2Line { r0a0: u384 { limb0: 0xe3570af849f18f7de4fcdcc2, limb1: 0x359d4f295f551f49f4ce0f43, limb2: 0x5fe81d5b454ac7b4d4be42e5, - limb3: 0x1827c0c95f19420686366ca1 + limb3: 0x1827c0c95f19420686366ca1, }, r0a1: u384 { limb0: 0xa80485f524899e0cafdb37ee, limb1: 0xe411dfbadc22a4e279fd320d, limb2: 0x4c187fbb32f9c03e9f8cb503, - limb3: 0x4443bb766a082498ba4f82b + limb3: 0x4443bb766a082498ba4f82b, }, r1a0: u384 { limb0: 0x9fb076b57d27346b27413dac, limb1: 0x169bffe50985257a033e162c, limb2: 0x847335f827ed1b57015c8125, - limb3: 0xa597c1ceea834fc4b9e4175 + limb3: 0xa597c1ceea834fc4b9e4175, }, r1a1: u384 { limb0: 0x6ab00cdbb6122cf0abafc5cc, limb1: 0xce164faae38420ccb08012ee, limb2: 0xdcf9b5ad40487bd3f8b80798, - limb3: 0x1416a582ca2f516030f48cd4 - } + limb3: 0x1416a582ca2f516030f48cd4, + }, }, G2Line { r0a0: u384 { limb0: 0x262938eb02b0a0ce738b5135, limb1: 0x87081cbabce49821653c349b, limb2: 0x3fcca5c6ffa7a93194552dd4, - limb3: 0x5f33058fd7a6f5562daa952 + limb3: 0x5f33058fd7a6f5562daa952, }, r0a1: u384 { limb0: 0xdb76adbd6f126b7e297a2a22, limb1: 0xdc1536a0cc54a2f6012a71fd, limb2: 0x5efc1d4d08e9adb2b0ef7131, - limb3: 0xaa29cc910ff93bd714430ce + limb3: 0xaa29cc910ff93bd714430ce, }, r1a0: u384 { limb0: 0x21aaddfbe26c0076a1332277, limb1: 0x5befc360a7b2df7cb42a9106, limb2: 0x84c8928ec73a7ad664bd4166, - limb3: 0x1210a1b9dad92922a760b203 + limb3: 0x1210a1b9dad92922a760b203, }, r1a1: u384 { limb0: 0x5f784e1ac6fdc4df7afc0fdd, limb1: 0x50db8e7afbc30c4f71fb694e, limb2: 0x63a33182a4d866eaf5174a90, - limb3: 0x3f8bf361c208df3e1726f03 - } + limb3: 0x3f8bf361c208df3e1726f03, + }, }, G2Line { r0a0: u384 { limb0: 0x5b64c7ec2aae834addcea0eb, limb1: 0x6f09c230bd77e317eaa5f387, limb2: 0x7adec10bb78aca18464d9c84, - limb3: 0x163574a747167dd083db3305 + limb3: 0x163574a747167dd083db3305, }, r0a1: u384 { limb0: 0x9c2652b4c20bf74024218182, limb1: 0xa2f015e045625953330e76b3, limb2: 0x500283810da9c9a67c2fe8b9, - limb3: 0x75023affbdb4b667a21158b + limb3: 0x75023affbdb4b667a21158b, }, r1a0: u384 { limb0: 0xf0773eec0af14322cfed77c3, limb1: 0x268fb48d3bc1f128636687f1, limb2: 0x9fd00e0a5e5f3035244cb7c1, - limb3: 0x14f215b62046fce592481ca1 + limb3: 0x14f215b62046fce592481ca1, }, r1a1: u384 { limb0: 0xef9be30f50ebea41d28d75c9, limb1: 0x193fa33c3c816bddcc207425, limb2: 0x68976ca00c72e88755f5296, - limb3: 0x10ab8afd148808ae0e486da2 - } + limb3: 0x10ab8afd148808ae0e486da2, + }, }, G2Line { r0a0: u384 { limb0: 0xcd513d6ba860c71057206399, limb1: 0x451ecd2c9b96e60e66758dc0, limb2: 0x64ced0ddb512c97bc59cf920, - limb3: 0x3f4ac01fe942b1ac9311d3f + limb3: 0x3f4ac01fe942b1ac9311d3f, }, r0a1: u384 { limb0: 0x2998601d0aca6605631bd0c0, limb1: 0xb8fc0faae442022a0626fe9a, limb2: 0xf661588e85d804f1f2048c6c, - limb3: 0x1298ae12dceae383634c5c78 + limb3: 0x1298ae12dceae383634c5c78, }, r1a0: u384 { limb0: 0xc742ad0b483c6424693da3a4, limb1: 0xdaa35b3d0ba84948c3e058e6, limb2: 0xf2be609830ad79764d4aa3b0, - limb3: 0x117d58d6d1a5a32518ed182a + limb3: 0x117d58d6d1a5a32518ed182a, }, r1a1: u384 { limb0: 0x9011dc447abae8f91198a37e, limb1: 0x8286397fef7c1a7a377647d7, limb2: 0x1ccb94f068d152311de445ae, - limb3: 0x7dccd16a52f94da768c38bb - } + limb3: 0x7dccd16a52f94da768c38bb, + }, }, G2Line { r0a0: u384 { limb0: 0x538c083ce4e1deb79fc8d7ae, limb1: 0xcff551314712bb599e99f0b9, limb2: 0x9bf9eb4d01de1579ddd826eb, - limb3: 0x2a1ea081d2dbbfb9b85015a + limb3: 0x2a1ea081d2dbbfb9b85015a, }, r0a1: u384 { limb0: 0xee2ecee8b151574694d17327, limb1: 0x2fe6c87f4670d9b999d3772b, limb2: 0xc0ad5a6e62cf44b446f89a6f, - limb3: 0x10f2b18da949e2a50114e551 + limb3: 0x10f2b18da949e2a50114e551, }, r1a0: u384 { limb0: 0xf9fa9355d7c82720f8e21bd2, limb1: 0xaca9cc30e7371424a78bdc29, limb2: 0x7349b58cc0ae05fb6db5f578, - limb3: 0xe36c1e3ac43374add4493ee + limb3: 0xe36c1e3ac43374add4493ee, }, r1a1: u384 { limb0: 0xa06af78a8ab34c1022f0b846, limb1: 0xb8c3411e193439f11b63b3f4, limb2: 0x513dc683165699443b4ece80, - limb3: 0xd2a46af0a089885b4499c38 - } + limb3: 0xd2a46af0a089885b4499c38, + }, }, G2Line { r0a0: u384 { limb0: 0x307547f29ce0e10a413edb2b, limb1: 0xef4de07379413a2e7d3ac526, limb2: 0xbf4e796dab1d7b8ec71a6c9d, - limb3: 0x19a4c8fc8080493b37dad997 + limb3: 0x19a4c8fc8080493b37dad997, }, r0a1: u384 { limb0: 0x2d4b6d98f6a62dc9cb1b3c, limb1: 0x2e820a6c08cc1b1be230cd27, limb2: 0x493e8c672a2898b9a16ac6f8, - limb3: 0x5357128dd5f24fd60edc8a8 + limb3: 0x5357128dd5f24fd60edc8a8, }, r1a0: u384 { limb0: 0x1063c19a9ad984fffa4dff59, limb1: 0xff2961c84b610248446d01df, limb2: 0x714c88877d87ca828f45a30c, - limb3: 0x10c04eacfdbe1ec246a332f + limb3: 0x10c04eacfdbe1ec246a332f, }, r1a1: u384 { limb0: 0xa96deb5431f3e10c1335f460, limb1: 0x585524813f3a8dfec4a25ff5, limb2: 0xf0e4d4bf011411422a77c5f9, - limb3: 0x1385dc2aae3bd61dd2d8c122 - } + limb3: 0x1385dc2aae3bd61dd2d8c122, + }, }, G2Line { r0a0: u384 { limb0: 0x7198960d6ea2cafefbb6b9ab, limb1: 0x114183051d9b79fe6adc88a, limb2: 0xa0dfceac911a90a3eb5ca7c1, - limb3: 0x3944defa81481b7dd4bdff7 + limb3: 0x3944defa81481b7dd4bdff7, }, r0a1: u384 { limb0: 0xdefd7682db60845ecb47b3cc, limb1: 0x74780a500546ae0a4b8b3dc, limb2: 0x7a9a4ccf67e06300513c5860, - limb3: 0x504436c0dba5f93ea9164 + limb3: 0x504436c0dba5f93ea9164, }, r1a0: u384 { limb0: 0x119696eda49e51bf553b09da, limb1: 0xe2fdb538f4daf500dbd3c6dd, limb2: 0x744f6bed078959ebb2da574f, - limb3: 0x18b9ad2990893e795fd5e4dd + limb3: 0x18b9ad2990893e795fd5e4dd, }, r1a1: u384 { limb0: 0xbcb13ccaf69256bd2aa0b3e1, limb1: 0x8d38b8ccd4189be6e119e52d, limb2: 0x13321abc207b3936a4823a29, - limb3: 0x265ea0154a5133b534732cb - } + limb3: 0x265ea0154a5133b534732cb, + }, }, G2Line { r0a0: u384 { limb0: 0x5613c020634ff16b44d83f24, limb1: 0x80cd5fc93e3d09662c8c0bc5, limb2: 0xe5a7f64ed33d8e75390b4a2a, - limb3: 0x77b5e69dffa452e710da671 + limb3: 0x77b5e69dffa452e710da671, }, r0a1: u384 { limb0: 0xfd475bb5cabda2ca66b8a9a2, limb1: 0xa2f483666599b3f38616a265, limb2: 0x2f50c3e13b47f9f013b110ae, - limb3: 0xb90546cd4c81153ae816b28 + limb3: 0xb90546cd4c81153ae816b28, }, r1a0: u384 { limb0: 0x5bb0532b9b631f6226209db4, limb1: 0x8af30847f24064aaea92f634, limb2: 0x63fc234f0211d3a48fd3794a, - limb3: 0x186be21ff49b8619293b08a0 + limb3: 0x186be21ff49b8619293b08a0, }, r1a1: u384 { limb0: 0x7257ceb68e224443379d4f3d, limb1: 0x832ff2fc38659e439e40d450, limb2: 0x2bc2eeb8acd74c13b35c613b, - limb3: 0xc40014d71cb257fadad0453 - } + limb3: 0xc40014d71cb257fadad0453, + }, }, ]; diff --git a/src/contracts/groth16_example_bn254/.tools-versions b/src/contracts/groth16_example_bn254/.tools-versions index ff547533..3efd1f43 100644 --- a/src/contracts/groth16_example_bn254/.tools-versions +++ b/src/contracts/groth16_example_bn254/.tools-versions @@ -1 +1 @@ -scarb 2.8.4 +scarb 2.9.1 diff --git a/src/contracts/groth16_example_bn254/Scarb.toml b/src/contracts/groth16_example_bn254/Scarb.toml index 01c5fb3b..2bf14310 100644 --- a/src/contracts/groth16_example_bn254/Scarb.toml +++ b/src/contracts/groth16_example_bn254/Scarb.toml @@ -5,7 +5,7 @@ edition = "2024_07" [dependencies] garaga = { path = "../../" } -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/contracts/groth16_example_bn254/src/groth16_verifier.cairo b/src/contracts/groth16_example_bn254/src/groth16_verifier.cairo index 7e631c5f..e46df900 100644 --- a/src/contracts/groth16_example_bn254/src/groth16_verifier.cairo +++ b/src/contracts/groth16_example_bn254/src/groth16_verifier.cairo @@ -18,8 +18,7 @@ mod Groth16VerifierBN254 { use super::{N_PUBLIC_INPUTS, vk, ic, precomputed_lines}; const ECIP_OPS_CLASS_HASH: felt252 = - 0x223a0051c2e31ede1fd33db4f01bc979901fd80f3429017710176cce6aada3b; - use starknet::ContractAddress; + 0x2f2a107cee3e12d1fb6070d2ae30d18c1e412efdf8ef5c8dd278fc00862f952; #[storage] struct Storage {} @@ -63,14 +62,14 @@ mod Groth16VerifierBN254 { let mut _vx_x_serialized = core::starknet::syscalls::library_call_syscall( ECIP_OPS_CLASS_HASH.try_into().unwrap(), selector!("msm_g1"), - msm_calldata.span() + msm_calldata.span(), ) .unwrap_syscall(); ec_safe_add( - Serde::::deserialize(ref _vx_x_serialized).unwrap(), *ic.at(0), 0 + Serde::::deserialize(ref _vx_x_serialized).unwrap(), *ic.at(0), 0, ) - } + }, }; // Perform the pairing check. let check = multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( @@ -80,7 +79,7 @@ mod Groth16VerifierBN254 { vk.alpha_beta_miller_loop_result, precomputed_lines.span(), mpcheck_hint, - small_Q + small_Q, ); if check == true { return Option::Some(groth16_proof.public_inputs); diff --git a/src/contracts/groth16_example_bn254/src/groth16_verifier_constants.cairo b/src/contracts/groth16_example_bn254/src/groth16_verifier_constants.cairo index 05de73c3..a2d37ae7 100644 --- a/src/contracts/groth16_example_bn254/src/groth16_verifier_constants.cairo +++ b/src/contracts/groth16_example_bn254/src/groth16_verifier_constants.cairo @@ -4,4032 +4,4027 @@ use garaga::groth16::Groth16VerifyingKey; pub const N_PUBLIC_INPUTS: usize = 1; -pub const vk: Groth16VerifyingKey = - Groth16VerifyingKey { - alpha_beta_miller_loop_result: E12D { - w0: u288 { - limb0: 0x11a6ad63c049a0774b1f8d69, - limb1: 0xf7fca2c91020c7f53e2beb4c, - limb2: 0x2e0acf1407b6b19c - }, - w1: u288 { - limb0: 0xd4938178efd479c0f958db9a, - limb1: 0x84c3c18b6204eec59b85778f, - limb2: 0x73ca31ecae7d32e - }, - w2: u288 { - limb0: 0x72743eb58616c0e417c4aba3, - limb1: 0xb4ac27c376d51ed710fba137, - limb2: 0x1acbdf1cb7d3466 - }, - w3: u288 { - limb0: 0x93acd00474adbe5d51facd39, - limb1: 0xa9189ccc1f5ce888cac4749a, - limb2: 0x1ae9e30c3e513da0 - }, - w4: u288 { - limb0: 0x84916f4f6a4f628bdf86d2b1, - limb1: 0x77860ba9a989de43f309fc67, - limb2: 0x269bcad1c0ce254e - }, - w5: u288 { - limb0: 0x7138ef04bab92f97355093e0, - limb1: 0x66da4e6149cb9e2d53894518, - limb2: 0x39d844bb6b441d8 - }, - w6: u288 { - limb0: 0x9e481d49fcbb14d72c8f3700, - limb1: 0x582640a337edb441a9237eb0, - limb2: 0x6ac2149bd480805 - }, - w7: u288 { - limb0: 0xd952d96fdf1298e24de9a8ec, - limb1: 0x6bde8fce1837818c1bb4c7d1, - limb2: 0x173e64f406ad3079 - }, - w8: u288 { - limb0: 0x7e3e90ad41525ee5ab604479, - limb1: 0xc5868b5aaa79f89f3b0d38c6, - limb2: 0xb2c95b493361fb1 - }, - w9: u288 { - limb0: 0xf35cf1f086baf1880d2a6e2b, - limb1: 0x500d80de07da8e3ee9d854b7, - limb2: 0x59e0bc51eb3a8b1 - }, - w10: u288 { - limb0: 0x84fbc02aadbc9e8ee74e83f7, - limb1: 0x57960adc97b6def2fdd0c8a2, - limb2: 0x17ef7d97b124dce5 - }, - w11: u288 { - limb0: 0xdd2d75826bf4ec82eba0dcb5, - limb1: 0x286e75e7626aa2c71f7ffc8e, - limb2: 0xf330011992a685a - } - }, - gamma_g2: G2Point { - x0: u384 { - limb0: 0x89e732f5f87195d15a4ce637, - limb1: 0x884359c76cc9c6b81d289d33, - limb2: 0x3541dacedd860ef, - limb3: 0x0 - }, - x1: u384 { - limb0: 0xe313e222b376d9a9da02f080, - limb1: 0x272d9cc4aa2e71146c83c13b, - limb2: 0x2eb7d1fa8416da97, - limb3: 0x0 - }, - y0: u384 { - limb0: 0xa7d48b949e86c8b00eef73f9, - limb1: 0xefcb8bbb160b0f2ecb7cd98, - limb2: 0x8dce093ad7f7fe2, - limb3: 0x0 - }, - y1: u384 { - limb0: 0xd917839a146ea15cd7493f1d, - limb1: 0x6eb4af5910b954a713c49174, - limb2: 0x29a4b793edc63974, - limb3: 0x0 - } - }, - delta_g2: G2Point { - x0: u384 { - limb0: 0x63d786683ef471af4434acdc, - limb1: 0x185580c9ee198f6cac8bc784, - limb2: 0x34fc9ba8eba1e49, - limb3: 0x0 - }, - x1: u384 { - limb0: 0x161153d19ebc7f594246b9b0, - limb1: 0x61912be284ecae3a3f0899bb, - limb2: 0x17f115a16975c6f2, - limb3: 0x0 - }, - y0: u384 { - limb0: 0xb4dbc7294e1eacf59b3e2054, - limb1: 0x31c92abab72ef0ed83a3c195, - limb2: 0x17fd1ad43bbc8ef9, - limb3: 0x0 - }, - y1: u384 { - limb0: 0x55b6e98c187b34ca3e7cd1b, - limb1: 0x6ff9481052ddb780a4cc43da, - limb2: 0x1bd7d75bf918b676, - limb3: 0x0 - } - } - }; +pub const vk: Groth16VerifyingKey = Groth16VerifyingKey { + alpha_beta_miller_loop_result: E12D { + w0: u288 { + limb0: 0x11a6ad63c049a0774b1f8d69, + limb1: 0xf7fca2c91020c7f53e2beb4c, + limb2: 0x2e0acf1407b6b19c, + }, + w1: u288 { + limb0: 0xd4938178efd479c0f958db9a, + limb1: 0x84c3c18b6204eec59b85778f, + limb2: 0x73ca31ecae7d32e, + }, + w2: u288 { + limb0: 0x72743eb58616c0e417c4aba3, + limb1: 0xb4ac27c376d51ed710fba137, + limb2: 0x1acbdf1cb7d3466, + }, + w3: u288 { + limb0: 0x93acd00474adbe5d51facd39, + limb1: 0xa9189ccc1f5ce888cac4749a, + limb2: 0x1ae9e30c3e513da0, + }, + w4: u288 { + limb0: 0x84916f4f6a4f628bdf86d2b1, + limb1: 0x77860ba9a989de43f309fc67, + limb2: 0x269bcad1c0ce254e, + }, + w5: u288 { + limb0: 0x7138ef04bab92f97355093e0, + limb1: 0x66da4e6149cb9e2d53894518, + limb2: 0x39d844bb6b441d8, + }, + w6: u288 { + limb0: 0x9e481d49fcbb14d72c8f3700, + limb1: 0x582640a337edb441a9237eb0, + limb2: 0x6ac2149bd480805, + }, + w7: u288 { + limb0: 0xd952d96fdf1298e24de9a8ec, + limb1: 0x6bde8fce1837818c1bb4c7d1, + limb2: 0x173e64f406ad3079, + }, + w8: u288 { + limb0: 0x7e3e90ad41525ee5ab604479, + limb1: 0xc5868b5aaa79f89f3b0d38c6, + limb2: 0xb2c95b493361fb1, + }, + w9: u288 { + limb0: 0xf35cf1f086baf1880d2a6e2b, + limb1: 0x500d80de07da8e3ee9d854b7, + limb2: 0x59e0bc51eb3a8b1, + }, + w10: u288 { + limb0: 0x84fbc02aadbc9e8ee74e83f7, + limb1: 0x57960adc97b6def2fdd0c8a2, + limb2: 0x17ef7d97b124dce5, + }, + w11: u288 { + limb0: 0xdd2d75826bf4ec82eba0dcb5, + limb1: 0x286e75e7626aa2c71f7ffc8e, + limb2: 0xf330011992a685a, + }, + }, + gamma_g2: G2Point { + x0: u384 { + limb0: 0x89e732f5f87195d15a4ce637, + limb1: 0x884359c76cc9c6b81d289d33, + limb2: 0x3541dacedd860ef, + limb3: 0x0, + }, + x1: u384 { + limb0: 0xe313e222b376d9a9da02f080, + limb1: 0x272d9cc4aa2e71146c83c13b, + limb2: 0x2eb7d1fa8416da97, + limb3: 0x0, + }, + y0: u384 { + limb0: 0xa7d48b949e86c8b00eef73f9, + limb1: 0xefcb8bbb160b0f2ecb7cd98, + limb2: 0x8dce093ad7f7fe2, + limb3: 0x0, + }, + y1: u384 { + limb0: 0xd917839a146ea15cd7493f1d, + limb1: 0x6eb4af5910b954a713c49174, + limb2: 0x29a4b793edc63974, + limb3: 0x0, + }, + }, + delta_g2: G2Point { + x0: u384 { + limb0: 0x63d786683ef471af4434acdc, + limb1: 0x185580c9ee198f6cac8bc784, + limb2: 0x34fc9ba8eba1e49, + limb3: 0x0, + }, + x1: u384 { + limb0: 0x161153d19ebc7f594246b9b0, + limb1: 0x61912be284ecae3a3f0899bb, + limb2: 0x17f115a16975c6f2, + limb3: 0x0, + }, + y0: u384 { + limb0: 0xb4dbc7294e1eacf59b3e2054, + limb1: 0x31c92abab72ef0ed83a3c195, + limb2: 0x17fd1ad43bbc8ef9, + limb3: 0x0, + }, + y1: u384 { + limb0: 0x55b6e98c187b34ca3e7cd1b, + limb1: 0x6ff9481052ddb780a4cc43da, + limb2: 0x1bd7d75bf918b676, + limb3: 0x0, + }, + }, +}; -pub const ic: [ - G1Point - ; 2] = [ +pub const ic: [G1Point; 2] = [ G1Point { x: u384 { limb0: 0x62587fa0f6c879156e7390bc, limb1: 0xc9da665a8bebfd01ce6489a4, limb2: 0x124e30bf4dff3ae9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x50c0471724e1b022791c7532, limb1: 0x5e101dd2383fdc600dcb4a34, limb2: 0x1fdc3a96cea49b08, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xedaa0ed100691cceb974c6a1, limb1: 0x26a8465790ba44ddb5716750, limb2: 0x164668f89d9d6c61, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf3d9d0426a702f368be936da, limb1: 0x153290e7b5c8497412386c61, limb2: 0x1d9c7309625ec7cf, - limb3: 0x0 - } + limb3: 0x0, + }, }, ]; -pub const precomputed_lines: [ - G2Line - ; 176] = [ +pub const precomputed_lines: [G2Line; 176] = [ G2Line { r0a0: u288 { limb0: 0x6262802b3d1fc57f02eb7de7, limb1: 0x90ccab72e89abbdc16280011, - limb2: 0x178e51f74b0542e7 + limb2: 0x178e51f74b0542e7, }, r0a1: u288 { limb0: 0x12a071ce64f150102f094209, limb1: 0xaaad51a68888c9f4d366eb85, - limb2: 0xb854c3062c6dca4 + limb2: 0xb854c3062c6dca4, }, r1a0: u288 { limb0: 0x88c793e1f884996295be7f4b, limb1: 0x9801cbb1add70980a565d93, - limb2: 0x7f1a23af3e93b10 + limb2: 0x7f1a23af3e93b10, }, r1a1: u288 { limb0: 0x16b6ccc140737723f6fbf23c, limb1: 0xfaa6476d81d4fb40a38fa84e, - limb2: 0x1d370360026ceef - } + limb2: 0x1d370360026ceef, + }, }, G2Line { r0a0: u288 { limb0: 0x6768b1b65ac701242d58a4d5, limb1: 0x9a21b14a1117318e6e93346c, - limb2: 0x28206643cf01adb6 + limb2: 0x28206643cf01adb6, }, r0a1: u288 { limb0: 0xc733c609365fab81f5bebf8c, limb1: 0xe7dba9325253668b9de809ab, - limb2: 0x1e2aed8a72758ae3 + limb2: 0x1e2aed8a72758ae3, }, r1a0: u288 { limb0: 0x95ec7d05aa1f4c5b117cc3df, limb1: 0xc9473775e0fd4d6797d4fe54, - limb2: 0x28418cb32e9a4478 + limb2: 0x28418cb32e9a4478, }, r1a1: u288 { limb0: 0x2a17416676088b3ed523bc76, limb1: 0xa7a7189cf0cb6f593da6398d, - limb2: 0x1646a797175de826 - } + limb2: 0x1646a797175de826, + }, }, G2Line { r0a0: u288 { limb0: 0x60f4a61ff00c697d5917f60, limb1: 0x27839a4398e69c8181596a80, - limb2: 0x18d5fc7b962c5d42 + limb2: 0x18d5fc7b962c5d42, }, r0a1: u288 { limb0: 0x55d158bed72f3c06a973bb3e, limb1: 0xda2f40ff8f88e68c41a7f0c, - limb2: 0x24df02427e6ac385 + limb2: 0x24df02427e6ac385, }, r1a0: u288 { limb0: 0xdfaa36ab439bf2b442be7dfc, limb1: 0xaed028fb66a3e7c58d2b0cfd, - limb2: 0x2872ac37ed486519 + limb2: 0x2872ac37ed486519, }, r1a1: u288 { limb0: 0x51bafdcbfbad14f2e1810b0b, limb1: 0xbda9fe48ffac5d1cf3f1c243, - limb2: 0x2e90de3ce10ad139 - } + limb2: 0x2e90de3ce10ad139, + }, }, G2Line { r0a0: u288 { limb0: 0x22f06d243ec31a24265558f6, limb1: 0x144f71a68e6e295284eaa624, - limb2: 0xb114d08d4730af8 + limb2: 0xb114d08d4730af8, }, r0a1: u288 { limb0: 0xd3a0ee47077b6225045c67ee, limb1: 0xeec7cbf282c77e03df828f62, - limb2: 0xbe64d352adee5f0 + limb2: 0xbe64d352adee5f0, }, r1a0: u288 { limb0: 0xc7ec19dad21e785ffc755ad, limb1: 0xd24141743526f183d2654043, - limb2: 0x1988f55b31c4faf3 + limb2: 0x1988f55b31c4faf3, }, r1a1: u288 { limb0: 0x994cab0255bb4272f95c3e23, limb1: 0xd922c9add52c749a87cf7c07, - limb2: 0xaa4d57bef928d58 - } + limb2: 0xaa4d57bef928d58, + }, }, G2Line { r0a0: u288 { limb0: 0x10918d6e1598af2ab245872, limb1: 0x1e2e946c706a26cf28ee3625, - limb2: 0x843e82f122ff273 + limb2: 0x843e82f122ff273, }, r0a1: u288 { limb0: 0xa13e048405c0e094e2be3dbb, limb1: 0xd0749c842f2df1d1f99960e5, - limb2: 0x123960e86ebc1545 + limb2: 0x123960e86ebc1545, }, r1a0: u288 { limb0: 0xd2854d8792013fbbc7003968, limb1: 0xef090e40a0840af5ffac6c3c, - limb2: 0x822c1bfb2975bb0 + limb2: 0x822c1bfb2975bb0, }, r1a1: u288 { limb0: 0x3e5a8926c61800d8035940d1, limb1: 0x10a92d1990b5e90459db3104, - limb2: 0x1a1da6dbc9d3b803 - } + limb2: 0x1a1da6dbc9d3b803, + }, }, G2Line { r0a0: u288 { limb0: 0xf3c1aff57ebd4252b1ee0a92, limb1: 0x4dbf6eac239e2fd65d64b8f7, - limb2: 0x26d1f994835b7b47 + limb2: 0x26d1f994835b7b47, }, r0a1: u288 { limb0: 0x345e6aaef5a543714baced, limb1: 0xb490ac8096315947ee617410, - limb2: 0x1a09bb8870da1b8a + limb2: 0x1a09bb8870da1b8a, }, r1a0: u288 { limb0: 0x5ebf58b2e5dd76b36593db9f, limb1: 0x8fa5c6ffbd16bb8a189499b2, - limb2: 0xaf4be2ac3e90ead + limb2: 0xaf4be2ac3e90ead, }, r1a1: u288 { limb0: 0xd4b8cde758e0d235326f7919, limb1: 0xcd650faf49b3ee058023c216, - limb2: 0x1c00cc9bd40f552b - } + limb2: 0x1c00cc9bd40f552b, + }, }, G2Line { r0a0: u288 { limb0: 0xfc81a9267fe02a0e01e5690e, limb1: 0x935b7be9ed04f236f8ccb6d3, - limb2: 0xd21be991cebbac7 + limb2: 0xd21be991cebbac7, }, r0a1: u288 { limb0: 0x823e612788adf8af694cadf8, limb1: 0x28ffb411c649c749b8b2ab3f, - limb2: 0x29f85195d5ae6cb3 + limb2: 0x29f85195d5ae6cb3, }, r1a0: u288 { limb0: 0xa4e79c63454447ad586868ed, limb1: 0x1d25998e1dee245a7a740dfd, - limb2: 0x312f28354b440eb + limb2: 0x312f28354b440eb, }, r1a1: u288 { limb0: 0x230c5675e4713e459ecf6ee7, limb1: 0xf23579a5477f2fded9e59a95, - limb2: 0x23effe3fb162cfa9 - } + limb2: 0x23effe3fb162cfa9, + }, }, G2Line { r0a0: u288 { limb0: 0x6938a36b06b59bb433023aa9, limb1: 0x9f733207d38e4c21c5f938d4, - limb2: 0xb694e7fb696f425 + limb2: 0xb694e7fb696f425, }, r0a1: u288 { limb0: 0x1fb7151f69662f3282addefa, limb1: 0x73b463adbed2a2c44be9521d, - limb2: 0x1ce3d8bc49dd6f3f + limb2: 0x1ce3d8bc49dd6f3f, }, r1a0: u288 { limb0: 0xcdefacedca9cea69a67218ef, limb1: 0x2a61c39d6c9e8df657e11fa2, - limb2: 0x287b08ea40db8edf + limb2: 0x287b08ea40db8edf, }, r1a1: u288 { limb0: 0xf3493b34c974473567e0bfd, limb1: 0x62ec80dec81fe20e56185f3d, - limb2: 0x2a9d8912a369f0fc - } + limb2: 0x2a9d8912a369f0fc, + }, }, G2Line { r0a0: u288 { limb0: 0xb7482cd3a64ad7c6972ce18, limb1: 0xc612ec6a27ef894c2448e7e, - limb2: 0xb0a181c0bc5bb35 + limb2: 0xb0a181c0bc5bb35, }, r0a1: u288 { limb0: 0x77fd6133c7186e2a51fdfe8b, limb1: 0xb6d8557c94e885365cd1284f, - limb2: 0x2807238c4095ab2e + limb2: 0x2807238c4095ab2e, }, r1a0: u288 { limb0: 0xac2bf429c889f4e4fca7ad87, limb1: 0x4e2138d3a53fab48b9372da0, - limb2: 0x661b199c593f990 + limb2: 0x661b199c593f990, }, r1a1: u288 { limb0: 0x17ad71412ec95d2e450e4a9a, limb1: 0x5a390094f598fbc1c73ffc6f, - limb2: 0x1745ca0ad68deb3c - } + limb2: 0x1745ca0ad68deb3c, + }, }, G2Line { r0a0: u288 { limb0: 0x792e91102d6015db651264a5, limb1: 0xef1739e0f3140e7dae1b9f26, - limb2: 0x2c68c775b43aa438 + limb2: 0x2c68c775b43aa438, }, r0a1: u288 { limb0: 0x2d480c09009f63ff03bacd7e, limb1: 0xe49d79a774b60104278749bb, - limb2: 0x28dd05053808f291 + limb2: 0x28dd05053808f291, }, r1a0: u288 { limb0: 0xa4f235af16d6b1aa9cb935e0, limb1: 0x3356bbf421edd3b119a977a, - limb2: 0x2c3a3e6fb5bf407a + limb2: 0x2c3a3e6fb5bf407a, }, r1a1: u288 { limb0: 0x475304a1c01b032aae98253d, limb1: 0xc07800c8acc177d31257f8a7, - limb2: 0x2c17966ecef6d358 - } + limb2: 0x2c17966ecef6d358, + }, }, G2Line { r0a0: u288 { limb0: 0xe9cd661691f7215396894f0f, limb1: 0x9e3c0f429f703e40f5baa9bc, - limb2: 0x1b94de4f8b072262 + limb2: 0x1b94de4f8b072262, }, r0a1: u288 { limb0: 0xb2328b5f060b47983ead044a, limb1: 0x5d6772c45ac19b49a05cbb0b, - limb2: 0xf6f282c18f98d7c + limb2: 0xf6f282c18f98d7c, }, r1a0: u288 { limb0: 0x10f6b52bee174dc609820448, limb1: 0xa4d84cb409d798e1dc4d0880, - limb2: 0x1e5bc83da6436d50 + limb2: 0x1e5bc83da6436d50, }, r1a1: u288 { limb0: 0xce182a96f56ced121091e41b, limb1: 0x8800263a87f78d7ab82d3e71, - limb2: 0x2640778c4c20679b - } + limb2: 0x2640778c4c20679b, + }, }, G2Line { r0a0: u288 { limb0: 0xb78d8e331f9fde95d8762cbe, limb1: 0xe50fc6532130dcab69ccd2f3, - limb2: 0x1c5ad86495e84014 + limb2: 0x1c5ad86495e84014, }, r0a1: u288 { limb0: 0xfe7268e3ed4b6b97899984c4, limb1: 0xf2e63f6c60064bc7fb5fd561, - limb2: 0x9717b3891610a6b + limb2: 0x9717b3891610a6b, }, r1a0: u288 { limb0: 0xb6a3d0ad2be4cf8a6d7a4932, limb1: 0xf368ce713db6a7c85ce253e7, - limb2: 0x11fb9d13419437db + limb2: 0x11fb9d13419437db, }, r1a1: u288 { limb0: 0x6c0e91e32102a27c6bc0f117, limb1: 0x1580942374bdb287e34d50e8, - limb2: 0x25451806c34da2eb - } + limb2: 0x25451806c34da2eb, + }, }, G2Line { r0a0: u288 { limb0: 0xecf4b439dcb55cb7cd17c938, limb1: 0xaa30677da06e04007bc10783, - limb2: 0x5acf050d824c550 + limb2: 0x5acf050d824c550, }, r0a1: u288 { limb0: 0xfdadd2fba222755a97b93bd8, limb1: 0xc5f72c5874f13b63850c7e3, - limb2: 0x8d6e33876937270 + limb2: 0x8d6e33876937270, }, r1a0: u288 { limb0: 0x48b70ead9b67d481e7fbac7c, limb1: 0xeea576a4020c901099fb5796, - limb2: 0xe89161f969f758d + limb2: 0xe89161f969f758d, }, r1a1: u288 { limb0: 0x8081483546fdaca3e803ae13, limb1: 0x7b29b6041c0844fb7bd3c828, - limb2: 0x840a11945bdaf61 - } + limb2: 0x840a11945bdaf61, + }, }, G2Line { r0a0: u288 { limb0: 0x5257173c58d9ac477f4e7362, limb1: 0x4ac0a4b0a604dc11701ec7be, - limb2: 0x2ced1a344a191870 + limb2: 0x2ced1a344a191870, }, r0a1: u288 { limb0: 0xced9cba631d33b433f4c02b7, limb1: 0xc83a4a272ab8c01b6631fd59, - limb2: 0x201561c61f1309c6 + limb2: 0x201561c61f1309c6, }, r1a0: u288 { limb0: 0x6c107fe09b4144f1c2e218b4, limb1: 0x6bedd36ccbfb5eb21e3052b5, - limb2: 0x1710d637ed85f3f4 + limb2: 0x1710d637ed85f3f4, }, r1a1: u288 { limb0: 0x2dbf59bd81c858f20f9a2c22, limb1: 0x538891d36da9558f005eaa18, - limb2: 0x2e047a78332f57a7 - } + limb2: 0x2e047a78332f57a7, + }, }, G2Line { r0a0: u288 { limb0: 0x87ebd70984bc04919fc9986, limb1: 0x49e5baa3bf84014bbfa4b343, - limb2: 0x13c681e8a87b09d5 + limb2: 0x13c681e8a87b09d5, }, r0a1: u288 { limb0: 0xc7ba9d524130fff410f86354, limb1: 0xe56c32754857a3eadf92430e, - limb2: 0x12b61a869a91562d + limb2: 0x12b61a869a91562d, }, r1a0: u288 { limb0: 0xcf43a1c9be7903f6823856c3, limb1: 0x17aa81a20cb8b6533b7e05ad, - limb2: 0x8edd93c88eac470 + limb2: 0x8edd93c88eac470, }, r1a1: u288 { limb0: 0x61527058e2d37f7267e2d55b, limb1: 0x4133bd157d450dc27f32d457, - limb2: 0x582ee28eaa58570 - } + limb2: 0x582ee28eaa58570, + }, }, G2Line { r0a0: u288 { limb0: 0x8e35c54e5a8fc51ffe565808, limb1: 0x54a5c4c2ce68417d89a41927, - limb2: 0x1bb192a0da69b4bc + limb2: 0x1bb192a0da69b4bc, }, r0a1: u288 { limb0: 0xb15a23caab89361c695304d, limb1: 0xa21ac5490dcc6ec31e532a00, - limb2: 0x2c5d334f664f1db0 + limb2: 0x2c5d334f664f1db0, }, r1a0: u288 { limb0: 0x1513569aab675cc8a80d83b, limb1: 0x8823f86ca10c614200a888cd, - limb2: 0x27e75cf5e6c5decb + limb2: 0x27e75cf5e6c5decb, }, r1a1: u288 { limb0: 0x7dfe801eafb39580b2591c53, limb1: 0x7ad779d2bc8b8960e97e8369, - limb2: 0x2a2e897e4fcb8d03 - } + limb2: 0x2a2e897e4fcb8d03, + }, }, G2Line { r0a0: u288 { limb0: 0xba5ea5187f76b5704defef65, limb1: 0x8a7319f0591a44264e9857c7, - limb2: 0x2d9dd5412302fd6b + limb2: 0x2d9dd5412302fd6b, }, r0a1: u288 { limb0: 0xaa7e8dec15610116b7d0b0cf, limb1: 0xe5e0a55405629a2fe14bf3d5, - limb2: 0x2dae2582a7c55627 + limb2: 0x2dae2582a7c55627, }, r1a0: u288 { limb0: 0x303fd13168b5089e4e0e3fa2, limb1: 0xd1d646954006479380c9f8ab, - limb2: 0x1b643b47405a9dd + limb2: 0x1b643b47405a9dd, }, r1a1: u288 { limb0: 0x893d761d04a60dae26f4e064, limb1: 0xf185cfd787972d2bed98ddf7, - limb2: 0x27e2db3d67b8caa3 - } + limb2: 0x27e2db3d67b8caa3, + }, }, G2Line { r0a0: u288 { limb0: 0xb1fd301f8de9a4fdaa4a5688, limb1: 0x656432730487dbc9e9e29270, - limb2: 0x17df9b19f2918abd + limb2: 0x17df9b19f2918abd, }, r0a1: u288 { limb0: 0x2d5832aab61dab3a5549a92, limb1: 0xe47839d4ca00888bb56afc4a, - limb2: 0x3fe4c9d799a3bd1 + limb2: 0x3fe4c9d799a3bd1, }, r1a0: u288 { limb0: 0x2810fcc73bea01896cd75a0f, limb1: 0x2c92809424a97db06448759f, - limb2: 0x123eff8f7259581a + limb2: 0x123eff8f7259581a, }, r1a1: u288 { limb0: 0x601fdec3567703d1c3d34df0, limb1: 0x7f03a904345610b15ff1205a, - limb2: 0x289705e3e298309a - } + limb2: 0x289705e3e298309a, + }, }, G2Line { r0a0: u288 { limb0: 0xc16237e16f04d4855851266c, limb1: 0x216a15737a6b54352caee4fb, - limb2: 0x2cb963083fceacfc + limb2: 0x2cb963083fceacfc, }, r0a1: u288 { limb0: 0x1d5728a99fc8a6b1501def7d, limb1: 0xc82efa12901500963bbfdfc1, - limb2: 0x29472ad7813d3e51 + limb2: 0x29472ad7813d3e51, }, r1a0: u288 { limb0: 0x4bc73fff7a02804f65a8b807, limb1: 0x55d252b720478bafee38f7e0, - limb2: 0xb89e5290fecd5c4 + limb2: 0xb89e5290fecd5c4, }, r1a1: u288 { limb0: 0xcecce3e7e700ddfe8b57d681, limb1: 0x6ffd2dd49f2ff2ecf872f76b, - limb2: 0x1834d8633ed7aa5e - } + limb2: 0x1834d8633ed7aa5e, + }, }, G2Line { r0a0: u288 { limb0: 0x921d0a486c2af8e00aca15cf, limb1: 0xce5e704e01a8381a38da803c, - limb2: 0x2a3b10f49d66db73 + limb2: 0x2a3b10f49d66db73, }, r0a1: u288 { limb0: 0x4d5fe5d5c9f584cffdde9b20, limb1: 0x694bbbada9b90b560fe95a28, - limb2: 0x1f9131f7b839f971 + limb2: 0x1f9131f7b839f971, }, r1a0: u288 { limb0: 0xb2a323906650185cccdc623c, limb1: 0x8643738b8d13209ced4a8401, - limb2: 0x1afc7bd309bd2e6f + limb2: 0x1afc7bd309bd2e6f, }, r1a1: u288 { limb0: 0x66a405a6925c6daf1121bfa8, limb1: 0xae0d46e02b0c767a8311def7, - limb2: 0x1eac8613f1b73d0 - } + limb2: 0x1eac8613f1b73d0, + }, }, G2Line { r0a0: u288 { limb0: 0xc0dc2ee8c1634b43c7c67a36, limb1: 0x44b5cda8cf434ecc7f4c6c75, - limb2: 0x17ff23c44b249965 + limb2: 0x17ff23c44b249965, }, r0a1: u288 { limb0: 0x6af3458d6fcb51bce863b3ee, limb1: 0xb4c9cf6033098a5367bc38a0, - limb2: 0x16b5fff40c83591f + limb2: 0x16b5fff40c83591f, }, r1a0: u288 { limb0: 0x75584b946a79b88e5bec9dd0, limb1: 0x696fa9bfb38fbd7621f553d2, - limb2: 0x1bf248055b1b2f90 + limb2: 0x1bf248055b1b2f90, }, r1a1: u288 { limb0: 0xd45ae28bb106c9cf5b04a1b5, limb1: 0xefc1e176eab50a80b4506c1b, - limb2: 0x2d6a0ffa973804a5 - } + limb2: 0x2d6a0ffa973804a5, + }, }, G2Line { r0a0: u288 { limb0: 0x639121398df650418531ec43, limb1: 0xc0dc106ff32d445f63f8a120, - limb2: 0x2db69a72bd084b2f + limb2: 0x2db69a72bd084b2f, }, r0a1: u288 { limb0: 0x2efbf5c7bf4d8eee620eb8e1, limb1: 0xbebd2c4b9f9ecc3d77d2c81c, - limb2: 0x267a73e3f62a38b5 + limb2: 0x267a73e3f62a38b5, }, r1a0: u288 { limb0: 0x30674b4201c8f6262cad443b, limb1: 0xc6536f9ebec5d19d59f529c4, - limb2: 0x226bae32ed07fa9b + limb2: 0x226bae32ed07fa9b, }, r1a1: u288 { limb0: 0x3c71a9fed0157d9b2577984, limb1: 0xb147ab8ccbc129533b491b1, - limb2: 0x482a238e334dfe6 - } + limb2: 0x482a238e334dfe6, + }, }, G2Line { r0a0: u288 { limb0: 0xf6c03dcc8bd1379820cb9967, limb1: 0xe8b667570844eddc673b54d8, - limb2: 0x19130dc068e65472 + limb2: 0x19130dc068e65472, }, r0a1: u288 { limb0: 0x90bbf7945a517e331f836592, limb1: 0x2051ba8f0200e210ad28fc3f, - limb2: 0x177199e9bca93186 + limb2: 0x177199e9bca93186, }, r1a0: u288 { limb0: 0xb960ca772d1e6bbaf9338163, limb1: 0xa7f34e9ae435bcd02d2faf69, - limb2: 0x26dff0b0b6c2f756 + limb2: 0x26dff0b0b6c2f756, }, r1a1: u288 { limb0: 0xd70ea39bddfa02454849f135, limb1: 0x9aaf0bb16c009e3b28d1bbd2, - limb2: 0x581b8dda5c79e1e - } + limb2: 0x581b8dda5c79e1e, + }, }, G2Line { r0a0: u288 { limb0: 0x463ce7476e959a1931385237, limb1: 0xf75919c87010d96ac7c94cbe, - limb2: 0x24a412978f2c5ecc + limb2: 0x24a412978f2c5ecc, }, r0a1: u288 { limb0: 0x4564f0aa378b3a5b8d09788f, limb1: 0xf875d0276495706bc0d09d6d, - limb2: 0x1b9fed005e16d2cf + limb2: 0x1b9fed005e16d2cf, }, r1a0: u288 { limb0: 0x26445be3d3f49fbd01c70d1, limb1: 0xd5378dbee2feb0496e798ec, - limb2: 0x1e8739b2b619c238 + limb2: 0x1e8739b2b619c238, }, r1a1: u288 { limb0: 0x549556a03524dc61169783b9, limb1: 0xec53665fd27c4865c5367af8, - limb2: 0x22dbab3609da89f9 - } + limb2: 0x22dbab3609da89f9, + }, }, G2Line { r0a0: u288 { limb0: 0xba161cc9e9cebd75b98e13ed, limb1: 0x2632c1abd01681aa124fcbd9, - limb2: 0x1bbdec597979fb4 + limb2: 0x1bbdec597979fb4, }, r0a1: u288 { limb0: 0xfa0305a260ea7340c6afa662, limb1: 0x39110a94cdd1c5e8cc0a1d1f, - limb2: 0x1e788e28c0103ea6 + limb2: 0x1e788e28c0103ea6, }, r1a0: u288 { limb0: 0x442b863a5c5f8a2c338a4463, limb1: 0xb9fdab2ef9d33c430dece624, - limb2: 0x1d5d4de242b83d54 + limb2: 0x1d5d4de242b83d54, }, r1a1: u288 { limb0: 0xdfb11e4e76affcbb462154ba, limb1: 0x5704a29b1a8e2703af5c3c48, - limb2: 0x2312d417321e92e7 - } + limb2: 0x2312d417321e92e7, + }, }, G2Line { r0a0: u288 { limb0: 0x4b8c4313130de071e5a25b39, limb1: 0xf1b3260f13cabcf328b26362, - limb2: 0x116ceab520d16408 + limb2: 0x116ceab520d16408, }, r0a1: u288 { limb0: 0x10523011df0f3a9767278aa3, limb1: 0x16f3307af4c560a400c90ae2, - limb2: 0x2ede49ff73a3a3ae + limb2: 0x2ede49ff73a3a3ae, }, r1a0: u288 { limb0: 0xd6465d87f836c70c2add7bdf, limb1: 0xc7c6c33787b9a4a9f0b6a19f, - limb2: 0x3a10546e2951d1a + limb2: 0x3a10546e2951d1a, }, r1a1: u288 { limb0: 0xc4462f508080ee25b195846, limb1: 0xa9d1ee563b4765315d3b2423, - limb2: 0x22d6d25e9e134bc5 - } + limb2: 0x22d6d25e9e134bc5, + }, }, G2Line { r0a0: u288 { limb0: 0xa8fdb52a5866ede3c829660e, limb1: 0xa747cc99fe24bbc124e60f83, - limb2: 0x77dc0694ce277af + limb2: 0x77dc0694ce277af, }, r0a1: u288 { limb0: 0x873e405654f06e7e618a0869, limb1: 0x5ce484db4f007368cbf5ef3f, - limb2: 0x406b87af902b368 + limb2: 0x406b87af902b368, }, r1a0: u288 { limb0: 0x42c090f0d49f3b172899d597, limb1: 0xe282930c7a6ae94172637791, - limb2: 0x5ae9317bf562ef3 + limb2: 0x5ae9317bf562ef3, }, r1a1: u288 { limb0: 0x9d38292f11255137c4072d20, limb1: 0xcbd810babdf368eda51a016e, - limb2: 0xe4a9c670bc40cd6 - } + limb2: 0xe4a9c670bc40cd6, + }, }, G2Line { r0a0: u288 { limb0: 0x6402739bdeb3492bb057259f, limb1: 0x26c108432264fab03a9dc8eb, - limb2: 0x18ef9553dbba8439 + limb2: 0x18ef9553dbba8439, }, r0a1: u288 { limb0: 0xa00d189487a0340fd81cc584, limb1: 0xe346065e533d0311d3a49619, - limb2: 0x20adf0a42e6d1031 + limb2: 0x20adf0a42e6d1031, }, r1a0: u288 { limb0: 0x2f40fa2fabe3889e62434f1c, limb1: 0xf5a60a0a1db35e01c23c4618, - limb2: 0xccf2f37e5f9d7f0 + limb2: 0xccf2f37e5f9d7f0, }, r1a1: u288 { limb0: 0x8755dc93602da01a9bdbf2fc, limb1: 0x9fe1c22607998504f098c4d5, - limb2: 0x18f0f45dc543c0ee - } + limb2: 0x18f0f45dc543c0ee, + }, }, G2Line { r0a0: u288 { limb0: 0xadf84437d9999eba295275a7, limb1: 0x52543bbddf3fc6be2f32a055, - limb2: 0x419797ad7a39dcc + limb2: 0x419797ad7a39dcc, }, r0a1: u288 { limb0: 0xb14ccb344bc7ae03672b7ed3, limb1: 0x32b4f3937b94a54a112ec060, - limb2: 0xd511afdf9250855 + limb2: 0xd511afdf9250855, }, r1a0: u288 { limb0: 0x9b40fa04851da740d91800ad, limb1: 0x3b7477878090da8c8f43a115, - limb2: 0xbd0be68b2e101c2 + limb2: 0xbd0be68b2e101c2, }, r1a1: u288 { limb0: 0x15760dce121076360bd9f792, limb1: 0xf1924f92230e898476d82bc9, - limb2: 0x304f65ebb79d2bd0 - } + limb2: 0x304f65ebb79d2bd0, + }, }, G2Line { r0a0: u288 { limb0: 0x5506e07a5fe97fdc5664791b, limb1: 0x7aee4b162d0660d41af388e4, - limb2: 0x1bee62627e4c1064 + limb2: 0x1bee62627e4c1064, }, r0a1: u288 { limb0: 0xdd3ab4c9ec1954b09595dc4d, limb1: 0xd02053bef44757a04f774eb9, - limb2: 0x1f8a410c013ff7fc + limb2: 0x1f8a410c013ff7fc, }, r1a0: u288 { limb0: 0x8dc98f9b1c2f0319008950ca, limb1: 0x4fb659c41dc5601420cab99b, - limb2: 0x15c515af959291b5 + limb2: 0x15c515af959291b5, }, r1a1: u288 { limb0: 0xba1238b4b4da8ca1dc84dcec, limb1: 0x191a2667a2b4bdc6a8d02874, - limb2: 0xbacbf0de8be4aa7 - } + limb2: 0xbacbf0de8be4aa7, + }, }, G2Line { r0a0: u288 { limb0: 0x7818f560d037de6bdd24efde, limb1: 0xda994bd7113ddab6f25bf7f8, - limb2: 0x2e7509590341ee + limb2: 0x2e7509590341ee, }, r0a1: u288 { limb0: 0xd14d410ebd15ad0e2dbeb005, limb1: 0xeeaef525eb5ca49303b32111, - limb2: 0x9952bc1815a0105 + limb2: 0x9952bc1815a0105, }, r1a0: u288 { limb0: 0x40511cd89aa9c76b90afd1fe, limb1: 0xeeebf38560f5818c7794c609, - limb2: 0x1e9835676b0e4cad + limb2: 0x1e9835676b0e4cad, }, r1a1: u288 { limb0: 0xfc4540bcfa1be23824759eda, limb1: 0x761c0a6caea91ff18df75d87, - limb2: 0xf4e6c24c41216b9 - } + limb2: 0xf4e6c24c41216b9, + }, }, G2Line { r0a0: u288 { limb0: 0x7c95bb4a3045f598ec02ad3e, limb1: 0x69527e98f5b823f054558e44, - limb2: 0x21990ad9da9ab486 + limb2: 0x21990ad9da9ab486, }, r0a1: u288 { limb0: 0xe76176f500a3b7bb7193cfc5, limb1: 0x85b90669c4270df3ba79b129, - limb2: 0x780be9adcae4970 + limb2: 0x780be9adcae4970, }, r1a0: u288 { limb0: 0x481876a8b44064c05d5246ef, limb1: 0x7dab43eb527bd93d1dc91b07, - limb2: 0xd714afad4aeff67 + limb2: 0xd714afad4aeff67, }, r1a1: u288 { limb0: 0x81582d4c64462a522c03d882, limb1: 0x609cde5a3b8e8b404e3faf64, - limb2: 0x2abe09a84d32cfe4 - } + limb2: 0x2abe09a84d32cfe4, + }, }, G2Line { r0a0: u288 { limb0: 0x6c6df46abcfe69b84b5cbbe8, limb1: 0x43b46da7c7b2aeec2fa935bd, - limb2: 0x2f14336fcc2bdbd + limb2: 0x2f14336fcc2bdbd, }, r0a1: u288 { limb0: 0x9ece765823cf827cccc87414, limb1: 0xbf5d9992534c6831dd441b95, - limb2: 0x6f7e39a016feeaf + limb2: 0x6f7e39a016feeaf, }, r1a0: u288 { limb0: 0x1759f088e6a22164845e28b3, limb1: 0x8fc900b0084e661b03277c03, - limb2: 0x150fc5685af62748 + limb2: 0x150fc5685af62748, }, r1a1: u288 { limb0: 0x3f0ff585c16da81d8922130b, limb1: 0x8b2bc20a9fc724a9e26c8a5f, - limb2: 0xbbd2c609b0705af - } + limb2: 0xbbd2c609b0705af, + }, }, G2Line { r0a0: u288 { limb0: 0xfd726e0bbbdd73195a7edd4e, limb1: 0x80381316ac4cc1180fe6580b, - limb2: 0x1679db00b998286b + limb2: 0x1679db00b998286b, }, r0a1: u288 { limb0: 0xf4df1c9e315352cc58418740, limb1: 0x609cfd341eddc85035abe0a, - limb2: 0xb0bbbf58076e7c3 + limb2: 0xb0bbbf58076e7c3, }, r1a0: u288 { limb0: 0x7f251d631ef9feedc710cc50, limb1: 0xf240804810ec72c3bd6ea838, - limb2: 0x238235c3c9db8b71 + limb2: 0x238235c3c9db8b71, }, r1a1: u288 { limb0: 0x1846a54b2774044cc6db6109, limb1: 0x588f586073d6e0294383f78, - limb2: 0x1439b6a213dd4c9f - } + limb2: 0x1439b6a213dd4c9f, + }, }, G2Line { r0a0: u288 { limb0: 0x67e20f1add3f4ebf14209db, limb1: 0xf7f6c97230cb77e31230ed5c, - limb2: 0x25e1f1a58ef3989f + limb2: 0x25e1f1a58ef3989f, }, r0a1: u288 { limb0: 0x70b88d1617d059ceb7d98043, limb1: 0x82f9d5ff0ae1136a457c094c, - limb2: 0x1e57f0f235835b64 + limb2: 0x1e57f0f235835b64, }, r1a0: u288 { limb0: 0x1b7e989c0aa4fed09c6fb03e, limb1: 0x301d42612ab66120ceb7f821, - limb2: 0xa616f1fb22b8093 + limb2: 0xa616f1fb22b8093, }, r1a1: u288 { limb0: 0x1309fa41e57e07658617981b, limb1: 0x3f8982bf9c1278956955f68e, - limb2: 0x2d2c9739573fee78 - } + limb2: 0x2d2c9739573fee78, + }, }, G2Line { r0a0: u288 { limb0: 0xcc24c41f4fa231c9b68ff129, limb1: 0x5440abe8953c426a1d9c839c, - limb2: 0x2f827a205f84222c + limb2: 0x2f827a205f84222c, }, r0a1: u288 { limb0: 0xb7ec4f27a8455ed2e02825c0, limb1: 0xf6214b20f2802f0322bf54de, - limb2: 0x7b6c0211a56a7cd + limb2: 0x7b6c0211a56a7cd, }, r1a0: u288 { limb0: 0x3ddcd17909984999f1d9c0b7, limb1: 0xa88f74be516fa85ef09c0c37, - limb2: 0x163a9e06932a7748 + limb2: 0x163a9e06932a7748, }, r1a1: u288 { limb0: 0x2430701222fa1d7df18182ed, limb1: 0x1842ef7d1e749169f69cd7d2, - limb2: 0x1cfab3ad0f78b05 - } + limb2: 0x1cfab3ad0f78b05, + }, }, G2Line { r0a0: u288 { limb0: 0x47c22ebfcc3068f8dcf02310, limb1: 0x3b3dd7a1f523872b1116c94d, - limb2: 0x227ed969d3c4de16 + limb2: 0x227ed969d3c4de16, }, r0a1: u288 { limb0: 0x74588d18e59d5afd7d6333e0, limb1: 0x9f0b0142842948df6eb78b67, - limb2: 0x2e0977e3388507ff + limb2: 0x2e0977e3388507ff, }, r1a0: u288 { limb0: 0x9edeb901cfd05d4d62c57891, limb1: 0xf2f44c81706b6c574ef74f27, - limb2: 0x21c87948f9829350 + limb2: 0x21c87948f9829350, }, r1a1: u288 { limb0: 0x8dae1edadcbeb24d1690498e, limb1: 0x64a5a0aefccf74b01c6fa30e, - limb2: 0x1bc752ac7ac4cde6 - } + limb2: 0x1bc752ac7ac4cde6, + }, }, G2Line { r0a0: u288 { limb0: 0x545af0ef26ace52605983817, limb1: 0xa79fd477f6e4bb7b9ff7ccfd, - limb2: 0x1ee6d4735695766c + limb2: 0x1ee6d4735695766c, }, r0a1: u288 { limb0: 0x1f7a45146d34eb09a7598bd9, limb1: 0xefa78e89ed2b184fde732788, - limb2: 0x25ec7ae4455d5b79 + limb2: 0x25ec7ae4455d5b79, }, r1a0: u288 { limb0: 0x2b6b735fbce332afa29e90cd, limb1: 0x805bb9f2ebc1c6417b04e9f5, - limb2: 0xec616e54a8979c3 + limb2: 0xec616e54a8979c3, }, r1a1: u288 { limb0: 0x709b98b05dd7794bab2d59b4, limb1: 0xf9f45610844c2c81a03a8a65, - limb2: 0x148662451cb583aa - } + limb2: 0x148662451cb583aa, + }, }, G2Line { r0a0: u288 { limb0: 0x62117d56c64475e6fbdec3af, limb1: 0x583fbbd8939b1e224aa95b0e, - limb2: 0x28191a7f22fb1b52 + limb2: 0x28191a7f22fb1b52, }, r0a1: u288 { limb0: 0x4a365c16e3d6d9018e9edc8e, limb1: 0x2349fc23c3d161ad59f146a4, - limb2: 0xcff2c08ca6d70ff + limb2: 0xcff2c08ca6d70ff, }, r1a0: u288 { limb0: 0x9b0f3727f6c65ae514391775, limb1: 0x66f500fff93b94dc25cd2ef5, - limb2: 0x1616cc41a4059848 + limb2: 0x1616cc41a4059848, }, r1a1: u288 { limb0: 0x20020f168e75bd67232897bd, limb1: 0x7538b1621f2aae4a1744a9d2, - limb2: 0x6a303d9af7e26b0 - } + limb2: 0x6a303d9af7e26b0, + }, }, G2Line { r0a0: u288 { limb0: 0xe62cde136820c7533e265423, limb1: 0xf793e2f097203fb2839ec54, - limb2: 0x2ecea3bada582558 + limb2: 0x2ecea3bada582558, }, r0a1: u288 { limb0: 0xe91c26cff33b3fca1fdca36b, limb1: 0xc0c7af270a2e684511271132, - limb2: 0xe5db537a21ca3cb + limb2: 0xe5db537a21ca3cb, }, r1a0: u288 { limb0: 0xc5e97fa982d1fafbbd294014, limb1: 0x9789fec81f07b1dd32691278, - limb2: 0xd0841164115e268 + limb2: 0xd0841164115e268, }, r1a1: u288 { limb0: 0xefb69f6018971aeb3c7133a, limb1: 0x7edbee9a93563bce2898d463, - limb2: 0x2d197bf653525879 - } + limb2: 0x2d197bf653525879, + }, }, G2Line { r0a0: u288 { limb0: 0x37a161654a55fde81d57e5e5, limb1: 0x1d33e1859f025bbf2f252cb1, - limb2: 0x256f03ef2e631950 + limb2: 0x256f03ef2e631950, }, r0a1: u288 { limb0: 0x70b359aa3604bedf42532ed2, limb1: 0x485902c5248f43f89f4d6489, - limb2: 0x91f619c2ee45ad5 + limb2: 0x91f619c2ee45ad5, }, r1a0: u288 { limb0: 0xcc72bdd8ef4bdbdbd5636693, limb1: 0x72d6b70d02a9f6fbc7ca5523, - limb2: 0xf88eb096dbbef8e + limb2: 0xf88eb096dbbef8e, }, r1a1: u288 { limb0: 0x567bbc86dcfd872c272170b9, limb1: 0x14ad5e1ba548e11ee091146a, - limb2: 0x2bde585cff386dc0 - } + limb2: 0x2bde585cff386dc0, + }, }, G2Line { r0a0: u288 { limb0: 0xeb79e6b473fadb992c5f83a8, limb1: 0xefe49f26e3970afdfad2cc2e, - limb2: 0x168773b099059842 + limb2: 0x168773b099059842, }, r0a1: u288 { limb0: 0x9d3e9750b006a99612167308, limb1: 0x36d359b16e977ed15d4161c2, - limb2: 0x1e4c95a1c15caafd + limb2: 0x1e4c95a1c15caafd, }, r1a0: u288 { limb0: 0xb3c4a79ce63902a10a51e23, limb1: 0xcb207dc605042ccef609394a, - limb2: 0x28367f81a785eea9 + limb2: 0x28367f81a785eea9, }, r1a1: u288 { limb0: 0x7f77d67428213715e7e45365, limb1: 0x1e5c92195da5eafb12b14815, - limb2: 0x19678fa4bc862330 - } + limb2: 0x19678fa4bc862330, + }, }, G2Line { r0a0: u288 { limb0: 0x1818039df6913206ab2405a2, limb1: 0x5377ab614813a34cfcee8b06, - limb2: 0x27c2371869238315 + limb2: 0x27c2371869238315, }, r0a1: u288 { limb0: 0x6e3a7b752b93af987513de48, limb1: 0x600847be13708d65af6fd056, - limb2: 0x1fb56f957b1c324f + limb2: 0x1fb56f957b1c324f, }, r1a0: u288 { limb0: 0xcc16c53c2ef721dc5c8f5e5f, limb1: 0x89e8742919e5d6f87814752a, - limb2: 0xca6f6bfb7f426d3 + limb2: 0xca6f6bfb7f426d3, }, r1a1: u288 { limb0: 0x41add8c9133ba30a102a4bb, limb1: 0x660c71c07cd5e4a635871503, - limb2: 0x2b0ba37253ca76bd - } + limb2: 0x2b0ba37253ca76bd, + }, }, G2Line { r0a0: u288 { limb0: 0xb6f9eda2bfae53ca69fd72df, limb1: 0x62429dd41cbb3c31acbada57, - limb2: 0x50d343c2ebbfa63 + limb2: 0x50d343c2ebbfa63, }, r0a1: u288 { limb0: 0xb16441c66be44074686e0873, limb1: 0x72118bf8f92fd93da3f931b1, - limb2: 0x2d8c67efcdab2c9f + limb2: 0x2d8c67efcdab2c9f, }, r1a0: u288 { limb0: 0x7c82fdbad97732971dcf82f8, limb1: 0x5905f35e201d9b83b7a1898a, - limb2: 0x666471518738295 + limb2: 0x666471518738295, }, r1a1: u288 { limb0: 0x79a4e035db3f75020f87c4e4, limb1: 0xa6597595a691184e717aa1b7, - limb2: 0x1f74dc71d5a002c7 - } + limb2: 0x1f74dc71d5a002c7, + }, }, G2Line { r0a0: u288 { limb0: 0x2eda1e7a3e47f0ceaa9f0137, limb1: 0x903e05a4c7372f902311a7e3, - limb2: 0x17ca943a56fba67 + limb2: 0x17ca943a56fba67, }, r0a1: u288 { limb0: 0x9b977b33fe71218fa31100a2, limb1: 0x9985a54c8af99f6f98acb770, - limb2: 0x264f4f1ae306ae09 + limb2: 0x264f4f1ae306ae09, }, r1a0: u288 { limb0: 0x7b5e4fdc6bc84d795d332dd2, limb1: 0xe2676d5d0d2d5bb6a482e391, - limb2: 0xf998e906ef11c24 + limb2: 0xf998e906ef11c24, }, r1a1: u288 { limb0: 0xd0215aa04d97800bfe4d2571, limb1: 0x8afbbc923a7161865fcccaf1, - limb2: 0x68a922244a1e06c - } + limb2: 0x68a922244a1e06c, + }, }, G2Line { r0a0: u288 { limb0: 0xfe3e9707bdad783425ab808c, limb1: 0x48bae37f3785f6ac84f1d9f4, - limb2: 0x23f7964ac6e85c1f + limb2: 0x23f7964ac6e85c1f, }, r0a1: u288 { limb0: 0x46389f8eb814620c85b16ace, limb1: 0x90f3fba998699480b75716f3, - limb2: 0x1776968a7c554df4 + limb2: 0x1776968a7c554df4, }, r1a0: u288 { limb0: 0xefa070a4d4d1d52d00593451, limb1: 0x2f9abffa4bfb1d259f9e163b, - limb2: 0x29367aa8e59832c + limb2: 0x29367aa8e59832c, }, r1a1: u288 { limb0: 0x82ea5e13b62b054933b28042, limb1: 0x55bec845824984eb488dc154, - limb2: 0x2a75ffeff6990ed5 - } + limb2: 0x2a75ffeff6990ed5, + }, }, G2Line { r0a0: u288 { limb0: 0xb1aed4098913b1760bfdef79, limb1: 0xfafca93bae3f4797778a4a3d, - limb2: 0x61e99ac907f0b5 + limb2: 0x61e99ac907f0b5, }, r0a1: u288 { limb0: 0xb3cfb4bc10c0fd6f52e7741f, limb1: 0x6997070a8b218ce200404bd8, - limb2: 0x1e541f2ec16eefb6 + limb2: 0x1e541f2ec16eefb6, }, r1a0: u288 { limb0: 0xc8037c2c08d6b09417f68f4, limb1: 0xc6672a1c3a90ce2db95e8fca, - limb2: 0x2faf1762a18f3cf3 + limb2: 0x2faf1762a18f3cf3, }, r1a1: u288 { limb0: 0x6a3151adfb916a8ff290644, limb1: 0xe53f264a1da30cb269399d90, - limb2: 0xf020c410d9b4038 - } + limb2: 0xf020c410d9b4038, + }, }, G2Line { r0a0: u288 { limb0: 0xd466ae8b808726024540df45, limb1: 0x106edc6b8bbe95e75c4c8ddb, - limb2: 0x11468447a8135b98 + limb2: 0x11468447a8135b98, }, r0a1: u288 { limb0: 0xd0881b80d847044084035ba3, limb1: 0x120d97c39e7d772df4ea1724, - limb2: 0x276d399b6465c9e + limb2: 0x276d399b6465c9e, }, r1a0: u288 { limb0: 0x7d57a86618737d3d2abaaa4a, limb1: 0xd7e9a1452de00c5e1014e4a7, - limb2: 0x1d4294c5a1e71a79 + limb2: 0x1d4294c5a1e71a79, }, r1a1: u288 { limb0: 0x22d506d59afa935528b3209d, limb1: 0x9b3ab29bf3cd5e1e10cc308d, - limb2: 0x747bbb31310f22d - } + limb2: 0x747bbb31310f22d, + }, }, G2Line { r0a0: u288 { limb0: 0x199cc10b709fbc97e010b5a2, limb1: 0xbfaf4107fa51b16129569088, - limb2: 0x27e59a950ce88313 + limb2: 0x27e59a950ce88313, }, r0a1: u288 { limb0: 0x6554582e8ebeeaed97477b68, limb1: 0xa21b4ce4041d0db94d82c7c8, - limb2: 0x1de018ce87d7bda5 + limb2: 0x1de018ce87d7bda5, }, r1a0: u288 { limb0: 0xc6420e29ce5455750c024fda, limb1: 0xc98a4b583326b58ef9b26e44, - limb2: 0x250ae9ddc80af6e2 + limb2: 0x250ae9ddc80af6e2, }, r1a1: u288 { limb0: 0xb2df135c47abbfec8b28d7a2, limb1: 0x937ccc7b47049c2f3167c9b2, - limb2: 0x1eae535d6c58d67d - } + limb2: 0x1eae535d6c58d67d, + }, }, G2Line { r0a0: u288 { limb0: 0x5d9402b6b38fd455bf6d41e7, limb1: 0x40762f68405f312ef02f8598, - limb2: 0x1f8342cbdceb3506 + limb2: 0x1f8342cbdceb3506, }, r0a1: u288 { limb0: 0xc72348fb470ab8c04752b5a4, limb1: 0x334d25fa09cf31cca46d0916, - limb2: 0x204a36e5e3992a52 + limb2: 0x204a36e5e3992a52, }, r1a0: u288 { limb0: 0xd80af7fe0ef47fff92f37a68, limb1: 0x16c4943784e96ba42bf07819, - limb2: 0x29504fb758b88d97 + limb2: 0x29504fb758b88d97, }, r1a1: u288 { limb0: 0x73229c759eb01fb63c20288b, limb1: 0x9ac158cfc3f612f54354fa46, - limb2: 0x2b076be18044918b - } + limb2: 0x2b076be18044918b, + }, }, G2Line { r0a0: u288 { limb0: 0xfb23f67b0c7c277b0fb86dd1, limb1: 0x38ecd10f58fa1a2a35794a92, - limb2: 0x37aa0d9abc10a23 + limb2: 0x37aa0d9abc10a23, }, r0a1: u288 { limb0: 0xa41ca972e4e66a3542219964, limb1: 0x1bd17624ed2ce1e682b4e8f7, - limb2: 0x2989444f436f1dd6 + limb2: 0x2989444f436f1dd6, }, r1a0: u288 { limb0: 0xd4c30c692a0cd4437bd20830, limb1: 0x3ff4fc96d1e014b335cb4ecb, - limb2: 0x1c92a02e4ef43dfa + limb2: 0x1c92a02e4ef43dfa, }, r1a1: u288 { limb0: 0xd920ac36097259643357948, limb1: 0x4a07824bac28e19dfecd3c9b, - limb2: 0x2107b2b219b0fce7 - } + limb2: 0x2107b2b219b0fce7, + }, }, G2Line { r0a0: u288 { limb0: 0xa7506225f160822b273888e9, limb1: 0xd3d14903f7cac6d483c7f486, - limb2: 0x1069a304f46fc73d + limb2: 0x1069a304f46fc73d, }, r0a1: u288 { limb0: 0xe09cdad30c6c95ec103b4899, limb1: 0x49e00af66e7a9ee491dae35, - limb2: 0x1864d886a088da8a + limb2: 0x1864d886a088da8a, }, r1a0: u288 { limb0: 0xc1b39342ab05cdf6860d1663, limb1: 0x2d93a67b66068131b4c4da45, - limb2: 0x2cf24b680c6c956a + limb2: 0x2cf24b680c6c956a, }, r1a1: u288 { limb0: 0x8c080385898b2b724819996, limb1: 0xcba25b471c4db069a8676475, - limb2: 0x108fc71b9d6170bd - } + limb2: 0x108fc71b9d6170bd, + }, }, G2Line { r0a0: u288 { limb0: 0x572b773de719e0286485c280, limb1: 0x11e06de6ae88abe2dc292d08, - limb2: 0x186e96233737a01 + limb2: 0x186e96233737a01, }, r0a1: u288 { limb0: 0x847e89ed969849374f7db3c7, limb1: 0xc5b2fb949e49d53bcf33515b, - limb2: 0x23b1283aae54fe3b + limb2: 0x23b1283aae54fe3b, }, r1a0: u288 { limb0: 0xed5be001209472991a4e75a, limb1: 0x2f5a7a9479f81cff74bda20a, - limb2: 0x103224cf323271db + limb2: 0x103224cf323271db, }, r1a1: u288 { limb0: 0xece900cc17ebd9f42d6a706a, limb1: 0x4fcf1446fb08c2ce8fe1f6d9, - limb2: 0x305cc1d699ea0794 - } + limb2: 0x305cc1d699ea0794, + }, }, G2Line { r0a0: u288 { limb0: 0xf8bfb85cdc86039bb4018125, limb1: 0x7be955c10b0359a7973d8645, - limb2: 0x26304c9784e41970 + limb2: 0x26304c9784e41970, }, r0a1: u288 { limb0: 0x45e2dd0c8c9e99be2d486ab7, limb1: 0x4435e999a3d2eb84952cbfff, - limb2: 0x1330c65943a597bf + limb2: 0x1330c65943a597bf, }, r1a0: u288 { limb0: 0xc3ca87ec812cb9200943aa6c, limb1: 0x240ae8fdf376bf8512aad6bb, - limb2: 0x2334035bf7082914 + limb2: 0x2334035bf7082914, }, r1a1: u288 { limb0: 0x63ede79d89c52d83f35048d8, limb1: 0x73a18b855a63a05716992b7e, - limb2: 0x217132215f0cc50f - } + limb2: 0x217132215f0cc50f, + }, }, G2Line { r0a0: u288 { limb0: 0x76c2c3f4a1f1e9d8af542b7, limb1: 0x8441dca19b660c87b2c24022, - limb2: 0xd4fb1ace706aab + limb2: 0xd4fb1ace706aab, }, r0a1: u288 { limb0: 0x6b98b456e4100fa122cd3adf, limb1: 0x9ae10c95907ea280c6754592, - limb2: 0x1473f309a21a16eb + limb2: 0x1473f309a21a16eb, }, r1a0: u288 { limb0: 0xf530f6daa1f8c4701334c030, limb1: 0x6fa238391d516b8940b78ac3, - limb2: 0x27085bb6119190ab + limb2: 0x27085bb6119190ab, }, r1a1: u288 { limb0: 0xf6e1318ded506c0fa4a5ca59, limb1: 0xd627f19ca3008cc90d8bbd8e, - limb2: 0xe4f8de695c15f15 - } + limb2: 0xe4f8de695c15f15, + }, }, G2Line { r0a0: u288 { limb0: 0x3cd25258c14698ad321ce4c1, limb1: 0x5f3e41e0e9abc286750b55ea, - limb2: 0x1e7acc78ae40f53c + limb2: 0x1e7acc78ae40f53c, }, r0a1: u288 { limb0: 0x7fb753e36893e039a913c94f, limb1: 0x71d2b9fcc8c9833d7de96163, - limb2: 0x99a73fa44b04d5c + limb2: 0x99a73fa44b04d5c, }, r1a0: u288 { limb0: 0xde6ab8423c206004fc0a2e0e, limb1: 0x78d2d32cf9a4d7886551910a, - limb2: 0x153d30f1951850ab + limb2: 0x153d30f1951850ab, }, r1a1: u288 { limb0: 0xe1104a60c9402d05c7369e2e, limb1: 0x692902d053754c3b56e08d58, - limb2: 0x13eae4536ba169a3 - } + limb2: 0x13eae4536ba169a3, + }, }, G2Line { r0a0: u288 { limb0: 0x1509c5b91b73a75eff1fd9fb, limb1: 0xf3dec59a348b17c7400b86bf, - limb2: 0x13db20e7e664f0c0 + limb2: 0x13db20e7e664f0c0, }, r0a1: u288 { limb0: 0x36dd1839b3a22a5afbd7f7ed, limb1: 0x66b0df244064db38c2bb2556, - limb2: 0x2abe1143e1e96ef0 + limb2: 0x2abe1143e1e96ef0, }, r1a0: u288 { limb0: 0xe9a3cf2e38669d402746144e, limb1: 0xf5902b6e357b3171d55c611, - limb2: 0x2664b92ca19b7611 + limb2: 0x2664b92ca19b7611, }, r1a1: u288 { limb0: 0x9daa58ef595d3b525a479c15, limb1: 0xb8c4e03fb569df7a793ee10c, - limb2: 0x5375f321384b046 - } + limb2: 0x5375f321384b046, + }, }, G2Line { r0a0: u288 { limb0: 0x8a787397b454b58176837e03, limb1: 0xc5cec0e7f665a2a76114ed3a, - limb2: 0x2c78f7b8fba875fd + limb2: 0x2c78f7b8fba875fd, }, r0a1: u288 { limb0: 0x7928a23938145a58f5d57ab0, limb1: 0xede46e1acbb7d258988f4b3a, - limb2: 0xe9e606331057a90 + limb2: 0xe9e606331057a90, }, r1a0: u288 { limb0: 0x9e19b0f639d02c4e3468d6db, limb1: 0x9fec35cbec423d803671267c, - limb2: 0x28477ed79b8d9f1c + limb2: 0x28477ed79b8d9f1c, }, r1a1: u288 { limb0: 0x9f3f001662c3ddb9542c5b1e, limb1: 0x66630f87ae05a36602688eee, - limb2: 0x2e141bd01fbd3896 - } + limb2: 0x2e141bd01fbd3896, + }, }, G2Line { r0a0: u288 { limb0: 0xcc3035708103ff2f96090b76, limb1: 0xf0cb8a10216eccab8c3b0985, - limb2: 0x163aab6dd7da60cc + limb2: 0x163aab6dd7da60cc, }, r0a1: u288 { limb0: 0xd33d3548ed9d2cec0c8c3e97, limb1: 0xabc9469b7c56c8da2ce322b, - limb2: 0x2e6f16f35be168fd + limb2: 0x2e6f16f35be168fd, }, r1a0: u288 { limb0: 0xb89c671c85a0d99ee444f09c, limb1: 0xc3e70b59ad07c869ff35fce, - limb2: 0x2d94791bb226fbf5 + limb2: 0x2d94791bb226fbf5, }, r1a1: u288 { limb0: 0xdd91f5db83ab791b396b15fc, limb1: 0x475f296aa5ec4dcb22e72eaf, - limb2: 0x118eb40c1ba0d446 - } + limb2: 0x118eb40c1ba0d446, + }, }, G2Line { r0a0: u288 { limb0: 0x28ccff4098291ff99db7d015, limb1: 0xbbf223ce77f8bdf1e351f459, - limb2: 0x1eb6506d0c7d4aea + limb2: 0x1eb6506d0c7d4aea, }, r0a1: u288 { limb0: 0xe4c907dc1a275aa0cdbd6c2d, limb1: 0x357d8adc7866fcc383178ae9, - limb2: 0x18c6082d4b4a59f5 + limb2: 0x18c6082d4b4a59f5, }, r1a0: u288 { limb0: 0xf7ba73f45b1f2c9b8b13b1c1, limb1: 0x754b28de4706d4147a660bf3, - limb2: 0x304b461ac8db9efd + limb2: 0x304b461ac8db9efd, }, r1a1: u288 { limb0: 0x7afa3c98b59c12047d082d00, limb1: 0x16b499cba52810fd94e60ac1, - limb2: 0x107cc1c9d1ee0ae5 - } + limb2: 0x107cc1c9d1ee0ae5, + }, }, G2Line { r0a0: u288 { limb0: 0x5473c94e995465f0785b4316, limb1: 0x86e38425ae2faae14a123db7, - limb2: 0x236ccf43605631c3 + limb2: 0x236ccf43605631c3, }, r0a1: u288 { limb0: 0x3560440e3b7a50cba31817c4, limb1: 0x94e7415089d9c6a041b95a4e, - limb2: 0x17b1e780a1f282b7 + limb2: 0x17b1e780a1f282b7, }, r1a0: u288 { limb0: 0x34f92afe1a802ef319d629ce, limb1: 0x9b7ae704b85f2ef01618f9ac, - limb2: 0x127e7a97519bc45 + limb2: 0x127e7a97519bc45, }, r1a1: u288 { limb0: 0x87fef97f09987ebb7a9d93f3, limb1: 0x6e571f3688a614ddfc482b07, - limb2: 0x26d1e21000c12da3 - } + limb2: 0x26d1e21000c12da3, + }, }, G2Line { r0a0: u288 { limb0: 0xb292d5bbc1c5800beeca8d15, limb1: 0xb6e3c05aa128d07de2df66e8, - limb2: 0x24424145a074ed6b + limb2: 0x24424145a074ed6b, }, r0a1: u288 { limb0: 0x138b775d1ca3d771fd249d3, limb1: 0x8a2392db8be88b8fa3f04951, - limb2: 0x17bc62334cefe39c + limb2: 0x17bc62334cefe39c, }, r1a0: u288 { limb0: 0x8e7371df60a9a5e4cbbc9be9, limb1: 0xb650615a2aa43a3aced9368c, - limb2: 0x1a4dc1089e983ca5 + limb2: 0x1a4dc1089e983ca5, }, r1a1: u288 { limb0: 0x18674fa925de769d104bd2a2, limb1: 0x777c884e96e41fdb34f4141a, - limb2: 0x4d2dfcf532f463b - } + limb2: 0x4d2dfcf532f463b, + }, }, G2Line { r0a0: u288 { limb0: 0xc780881f9c6d8bca3e37aea0, limb1: 0xe9895da94e554ff87a2dfd7, - limb2: 0x2f2f37a08cd78298 + limb2: 0x2f2f37a08cd78298, }, r0a1: u288 { limb0: 0xc54128f3d98d66a205153035, limb1: 0xde9df82c3ef59e5ffeb06262, - limb2: 0x12c11f147ed32b02 + limb2: 0x12c11f147ed32b02, }, r1a0: u288 { limb0: 0xd779e2290c08b46957f9f81f, limb1: 0xcef48524479ef765998c179e, - limb2: 0x62d4fd8696cda6c + limb2: 0x62d4fd8696cda6c, }, r1a1: u288 { limb0: 0xf553ff2a36599491c12d51cf, limb1: 0x68f2b7726eab96d19be4f7ad, - limb2: 0x1b2e70aad5ff1bde - } + limb2: 0x1b2e70aad5ff1bde, + }, }, G2Line { r0a0: u288 { limb0: 0xf421435fe144055f20b6716a, limb1: 0x8d06d11b62031d272be85bb6, - limb2: 0x378648f296513f4 + limb2: 0x378648f296513f4, }, r0a1: u288 { limb0: 0xaa516565bc7b4ae51c4a1d57, limb1: 0xd1a3c04fc68cda14c386fd17, - limb2: 0x10a17e6b2b05ae5f + limb2: 0x10a17e6b2b05ae5f, }, r1a0: u288 { limb0: 0x5a4fdbaf4101c2e7b0824483, limb1: 0x243d3d5fab841583935cbdbc, - limb2: 0x2bdee3f29a271704 + limb2: 0x2bdee3f29a271704, }, r1a1: u288 { limb0: 0x75a0bfe5357850025da7dc1e, limb1: 0x7efd8ea95e831ae7b7cb4204, - limb2: 0x242d5ff5148e8a24 - } + limb2: 0x242d5ff5148e8a24, + }, }, G2Line { r0a0: u288 { limb0: 0x13404adaeaee7586ba22a2fd, limb1: 0x37d5f59c1d1a7ead09415ba0, - limb2: 0x2d046fbec788a89f + limb2: 0x2d046fbec788a89f, }, r0a1: u288 { limb0: 0x304e12830e0da56473bfd493, limb1: 0xef4257261a4d1e86faddc8a6, - limb2: 0x2e2a406604501f28 + limb2: 0x2e2a406604501f28, }, r1a0: u288 { limb0: 0x4df9be0616aa88b0d4cf02a2, limb1: 0xfe4ac5d159b42f097e07c99, - limb2: 0x1bfaf8ddf8eadbe0 + limb2: 0x1bfaf8ddf8eadbe0, }, r1a1: u288 { limb0: 0x39cb7475288b5721bd85070f, limb1: 0xbcf9db00ab3740a004be0aa4, - limb2: 0x67aa9f57b6254b0 - } + limb2: 0x67aa9f57b6254b0, + }, }, G2Line { r0a0: u288 { limb0: 0xc35e158b40bec28bc76a5275, limb1: 0xc7155f076ac63ee9c5bc4282, - limb2: 0x29db032c04d42b9a + limb2: 0x29db032c04d42b9a, }, r0a1: u288 { limb0: 0xdd6363dfcc7e71cd13c51cf4, limb1: 0x10ffc527e277eaf97c79a492, - limb2: 0x22a9e4c447737c96 + limb2: 0x22a9e4c447737c96, }, r1a0: u288 { limb0: 0x9705df81acb2749faf48b2e4, limb1: 0x62e438807e2bfc92e2fdb9f6, - limb2: 0x138bbb12a9dd92f4 + limb2: 0x138bbb12a9dd92f4, }, r1a1: u288 { limb0: 0x9a675f19eeab63bd0216ce7c, limb1: 0x9a08c702e29a00db40bc334e, - limb2: 0xc960c1d7c1c05fb - } + limb2: 0xc960c1d7c1c05fb, + }, }, G2Line { r0a0: u288 { limb0: 0x7a08cc34c6fcd1f9e74c35b2, limb1: 0x2cc8a7d624b15a0f9bfb2d3e, - limb2: 0x22760e0e61e3e208 + limb2: 0x22760e0e61e3e208, }, r0a1: u288 { limb0: 0xc27bb24b5b346b44cf7d548f, limb1: 0xf27ea7f3736c8b8168f8c2c1, - limb2: 0x295d0b6d3ef18509 + limb2: 0x295d0b6d3ef18509, }, r1a0: u288 { limb0: 0xc7df1942c9b70ad4983814f, limb1: 0xf66a53554bde327b0ff9c637, - limb2: 0x1fe98a3ad4e0774a + limb2: 0x1fe98a3ad4e0774a, }, r1a1: u288 { limb0: 0xa33e765594cc92d0facb00ed, limb1: 0xe35f28bd8fb424b3721d3880, - limb2: 0x1735f29046f597b1 - } + limb2: 0x1735f29046f597b1, + }, }, G2Line { r0a0: u288 { limb0: 0xe8cbc94bb8cdf72ff26f38fd, limb1: 0xe0a2179f1a66292497c7a553, - limb2: 0x258204cb3308769e + limb2: 0x258204cb3308769e, }, r0a1: u288 { limb0: 0x31d262be0ea54e0eed69a03b, limb1: 0x830d5451d02580b33f770099, - limb2: 0x1b7c1fa69407bced + limb2: 0x1b7c1fa69407bced, }, r1a0: u288 { limb0: 0xeb6c0bbb02f4cf840a51ac39, limb1: 0x30ebd50843b10bfe90d970a0, - limb2: 0x2ce27eb8c126350b + limb2: 0x2ce27eb8c126350b, }, r1a1: u288 { limb0: 0x4c8c9c51af22d9bf461a9f49, limb1: 0xfb8b4c9ef7b7fc81c52ff1a2, - limb2: 0xd39e1c14eea7101 - } + limb2: 0xd39e1c14eea7101, + }, }, G2Line { r0a0: u288 { limb0: 0xb02550d130bf712df6d98a57, limb1: 0x8854a229566b7ff22b8ccff3, - limb2: 0x12a0631c0924ec70 + limb2: 0x12a0631c0924ec70, }, r0a1: u288 { limb0: 0xb59d2598e43244d544a1616e, limb1: 0xf28e9462628066c68e061fc6, - limb2: 0x7baccf7063f2981 + limb2: 0x7baccf7063f2981, }, r1a0: u288 { limb0: 0xb1cbf3882570f3d23dbedbc4, limb1: 0x5e8742fe9dc865822e5cae92, - limb2: 0x2654f08f566866ac + limb2: 0x2654f08f566866ac, }, r1a1: u288 { limb0: 0x1287198f6ac726fd6aa6595e, limb1: 0x220b82cf3025285d6b7344af, - limb2: 0x1419e0cd4fc9d705 - } + limb2: 0x1419e0cd4fc9d705, + }, }, G2Line { r0a0: u288 { limb0: 0x16da4933b0462809081edbc4, limb1: 0xb2b5cf2a2286026e0bbc4c4, - limb2: 0x14490aeefaf4002b + limb2: 0x14490aeefaf4002b, }, r0a1: u288 { limb0: 0x9631e388544a5571edb94366, limb1: 0x4647882204977448d836aae, - limb2: 0x1df1cff53ae1660e + limb2: 0x1df1cff53ae1660e, }, r1a0: u288 { limb0: 0xce99ac65e9d29dee6ab79293, limb1: 0xb5827a5ff68c42c93f003a3d, - limb2: 0x2ff7f220d4e2b15e + limb2: 0x2ff7f220d4e2b15e, }, r1a1: u288 { limb0: 0xfeead92cf9c75dc3dc26ddbe, limb1: 0x73f7035049129b05256f2625, - limb2: 0x2f97ef7e0326ae1b - } + limb2: 0x2f97ef7e0326ae1b, + }, }, G2Line { r0a0: u288 { limb0: 0x3557697309324ec7b28f655f, limb1: 0xf990f387e4585977f0c61411, - limb2: 0x1f88afaff88f777f + limb2: 0x1f88afaff88f777f, }, r0a1: u288 { limb0: 0xfbd05da9a80d37ee13e654d, limb1: 0xa34586aaab313351d2211c3c, - limb2: 0x16f110b250c8f4a7 + limb2: 0x16f110b250c8f4a7, }, r1a0: u288 { limb0: 0xe7379e88b19d61e01dbb464d, limb1: 0x6ef01d97f74e23a2a2e3954a, - limb2: 0x2b1bc8c3cb77b3b4 + limb2: 0x2b1bc8c3cb77b3b4, }, r1a1: u288 { limb0: 0xaefdcb2fc007f2b030adf282, limb1: 0x407cd78e89ca611eeba48b00, - limb2: 0x15caeeddb0b65f8e - } + limb2: 0x15caeeddb0b65f8e, + }, }, G2Line { r0a0: u288 { limb0: 0x25e2464064e839a435c901fd, limb1: 0xc8a250aab01f64653e7b143, - limb2: 0x140159960e8bbee6 + limb2: 0x140159960e8bbee6, }, r0a1: u288 { limb0: 0x7cb8f3194d4856b2e37ad147, limb1: 0x79f1a0cbdbe629456ff7fd09, - limb2: 0x2e8cc9955ec33b14 + limb2: 0x2e8cc9955ec33b14, }, r1a0: u288 { limb0: 0x3a33e8aae92f696039285ae8, limb1: 0x50e70dff510555f94708ec0e, - limb2: 0x107f090bc1746726 + limb2: 0x107f090bc1746726, }, r1a1: u288 { limb0: 0xebc6d08d9ffc1f811537ae5c, limb1: 0x97116269a7fe2b46ecd07544, - limb2: 0x2ed49e8306bb6b53 - } + limb2: 0x2ed49e8306bb6b53, + }, }, G2Line { r0a0: u288 { limb0: 0xf8f6ac38dbd6563a32fe3ee9, limb1: 0xfacb340af38f5dd75813a198, - limb2: 0x16bbfa264bbaa255 + limb2: 0x16bbfa264bbaa255, }, r0a1: u288 { limb0: 0x76a6b03f569b4e99a401edca, limb1: 0xba4469e4fb78a30370beb53, - limb2: 0xde76a28c997a85a + limb2: 0xde76a28c997a85a, }, r1a0: u288 { limb0: 0x9368f4915d1afe49ee098655, limb1: 0x4d6ca82a7c8d3612d1f5d552, - limb2: 0xbf0b37fd18b8725 + limb2: 0xbf0b37fd18b8725, }, r1a1: u288 { limb0: 0xc503c77bc66cf62a998cabd4, limb1: 0x4fe691624059c05c90abec0e, - limb2: 0x1b8daabf94ec10a9 - } + limb2: 0x1b8daabf94ec10a9, + }, }, G2Line { r0a0: u288 { limb0: 0x338a05ed9e18ca0c8cbb9ba, limb1: 0xeaed8a5ad1bbfa8ffd7827d0, - limb2: 0x229ab6a016d41b8d + limb2: 0x229ab6a016d41b8d, }, r0a1: u288 { limb0: 0x6de2e082d93ad5ab82221604, limb1: 0xdbadbca9be15f3e1a6011bef, - limb2: 0x17f46739d3798529 + limb2: 0x17f46739d3798529, }, r1a0: u288 { limb0: 0x556cb2cd13bc608a395ef30a, limb1: 0x5ae57098c69bfdd5e4310a77, - limb2: 0x234c308ff816d887 + limb2: 0x234c308ff816d887, }, r1a1: u288 { limb0: 0xde9e9d4f811bdd153dca9448, limb1: 0x2a5c0dbac52000c678bf9037, - limb2: 0x2f74a2c3d53bbf07 - } + limb2: 0x2f74a2c3d53bbf07, + }, }, G2Line { r0a0: u288 { limb0: 0x5d5094b09519f9fbc1bf26c7, limb1: 0x60b75c521b5d0d3a8c6c5a57, - limb2: 0x1db1a7d363c021fa + limb2: 0x1db1a7d363c021fa, }, r0a1: u288 { limb0: 0xda84f6ecfab32ddfc17bb30c, limb1: 0x31f21c63899699ef82e8956, - limb2: 0x1bb6484e546389ba + limb2: 0x1bb6484e546389ba, }, r1a0: u288 { limb0: 0x6d03eff42e8a9c1517bf621f, limb1: 0x25e25c77b11cc5006cb39115, - limb2: 0x2bab9460edd274f4 + limb2: 0x2bab9460edd274f4, }, r1a1: u288 { limb0: 0x6636dd3c7ea7e49e82793062, limb1: 0x45e083ea0fb71779754a40e0, - limb2: 0x1b148d5ad236afff - } + limb2: 0x1b148d5ad236afff, + }, }, G2Line { r0a0: u288 { limb0: 0x1bd0d3e64772dd8d6f4eb955, limb1: 0xd551e62b4dc950330f32055e, - limb2: 0x2af99115e61ea584 + limb2: 0x2af99115e61ea584, }, r0a1: u288 { limb0: 0xbf68bac9801a05b7d4e5c230, limb1: 0xb2c2415c0237afafa8e24039, - limb2: 0x9639d3152ec116d + limb2: 0x9639d3152ec116d, }, r1a0: u288 { limb0: 0x5470718dfbca1295766112f2, limb1: 0xcdc95e016f5749cd20628ff7, - limb2: 0xa073db3f3d4ee7f + limb2: 0xa073db3f3d4ee7f, }, r1a1: u288 { limb0: 0x59adba4782946b799f2b3f52, limb1: 0x60aac6f24d8307d05aaf156e, - limb2: 0x29fa48831a9be4a - } + limb2: 0x29fa48831a9be4a, + }, }, G2Line { r0a0: u288 { limb0: 0xfb944c01e622920643567a03, limb1: 0xb5e410fcce49e44fa6b733e5, - limb2: 0x67235bfc45af909 + limb2: 0x67235bfc45af909, }, r0a1: u288 { limb0: 0x7415228da60f54ef44f0e9e5, limb1: 0x54a974a80cb733a9398a4237, - limb2: 0x14742634cb3e88c6 + limb2: 0x14742634cb3e88c6, }, r1a0: u288 { limb0: 0xe6117563be5a51a3e45835bb, limb1: 0x5cd22381f024901e8038e534, - limb2: 0x9bccc5fd250a4e2 + limb2: 0x9bccc5fd250a4e2, }, r1a1: u288 { limb0: 0xd7e83df65939cb9e0a65506f, limb1: 0x5c0226578531f39df6fbfc47, - limb2: 0x24413aaad067b5a2 - } + limb2: 0x24413aaad067b5a2, + }, }, G2Line { r0a0: u288 { limb0: 0x1104034e64d27e5ffc63566, limb1: 0x399bd49fa7407a8bdb5203c7, - limb2: 0x1832f6474b41c0bf + limb2: 0x1832f6474b41c0bf, }, r0a1: u288 { limb0: 0x55803008aa1d71cb5f9941c1, limb1: 0x404a98b2848b86b4af5b57e6, - limb2: 0x163abe5942eb31d8 + limb2: 0x163abe5942eb31d8, }, r1a0: u288 { limb0: 0x82f5febdbf1aef734e2827ca, limb1: 0x12d2b5ab6f8472e574b9210c, - limb2: 0x28eb5172b9c24785 + limb2: 0x28eb5172b9c24785, }, r1a1: u288 { limb0: 0xb2fbbca733e95d52f011bf6f, limb1: 0x632c5aacc01d53ce7abc8bae, - limb2: 0x750b07eef4315e1 - } + limb2: 0x750b07eef4315e1, + }, }, G2Line { r0a0: u288 { limb0: 0x36e8e6c311534f247b2f522f, limb1: 0x30b52221767eb139a6621af5, - limb2: 0xa9472da06a550f6 + limb2: 0xa9472da06a550f6, }, r0a1: u288 { limb0: 0xd54bec3ff6e5c1609841378f, limb1: 0x86779a5fb4e9c376a93fbad, - limb2: 0xfe84f7906eda072 + limb2: 0xfe84f7906eda072, }, r1a0: u288 { limb0: 0x4f7564b178d5cb370ab75811, limb1: 0xd054e692a00381045a312b52, - limb2: 0x1af83b2d13968385 + limb2: 0x1af83b2d13968385, }, r1a1: u288 { limb0: 0xc3f2584ed4cfcc7213a55c0e, limb1: 0xcf835b28a17db67f23c65108, - limb2: 0x15f8038dbb750a89 - } + limb2: 0x15f8038dbb750a89, + }, }, G2Line { r0a0: u288 { limb0: 0xb311fac4a46b12a29d9145c5, limb1: 0xf0216ee536a371f5bb9fb55c, - limb2: 0x128c4da7ec19e940 + limb2: 0x128c4da7ec19e940, }, r0a1: u288 { limb0: 0x40d5ac9c25788920a64397a9, limb1: 0xe61e75b3f5562e0f5bc0039d, - limb2: 0xac9a936b0bfff57 + limb2: 0xac9a936b0bfff57, }, r1a0: u288 { limb0: 0xf7091e9a7ea3a772b7f006b3, limb1: 0x4541ad07dea41c3ff23f1c1, - limb2: 0x73ea3cc79b728c1 + limb2: 0x73ea3cc79b728c1, }, r1a1: u288 { limb0: 0xcd2b3dcd910e9d600708fe2e, limb1: 0x726ab436201b4de44b9efa4f, - limb2: 0x2e6674c1fcf4372e - } + limb2: 0x2e6674c1fcf4372e, + }, }, G2Line { r0a0: u288 { limb0: 0x9501f9c373c02510420bd774, limb1: 0x34a01a7a11837b54b21d87ad, - limb2: 0x13013fa1ad5a2602 + limb2: 0x13013fa1ad5a2602, }, r0a1: u288 { limb0: 0x4bf8308ce14b6895f625821, limb1: 0xde9402ce107e3b0bb8325032, - limb2: 0x221a4b3042ac620f + limb2: 0x221a4b3042ac620f, }, r1a0: u288 { limb0: 0x2b54888ac068e44ac1b5e725, limb1: 0xe2595c1718cf92904f26b388, - limb2: 0xc444735a378fc2b + limb2: 0xc444735a378fc2b, }, r1a1: u288 { limb0: 0xdb79229471d5dfb86ac334e6, limb1: 0x5300c1298d97c7e56a443d9, - limb2: 0x290a2ac4e4806224 - } + limb2: 0x290a2ac4e4806224, + }, }, G2Line { r0a0: u288 { limb0: 0x68dc34c5837479b6fe1b15f4, limb1: 0x70ffaada5c0d2134dd4b01ff, - limb2: 0x12600a475dc719f6 + limb2: 0x12600a475dc719f6, }, r0a1: u288 { limb0: 0xef8f37a1a7c1874aa696b864, limb1: 0xf03831086e97655126735dcc, - limb2: 0x29a8f8b90b8db8bd + limb2: 0x29a8f8b90b8db8bd, }, r1a0: u288 { limb0: 0xdaae6d464020690b41135866, limb1: 0xe1a461381c2daafc22ecc6b8, - limb2: 0x1be8b437d95ece9a + limb2: 0x1be8b437d95ece9a, }, r1a1: u288 { limb0: 0x6ec13263dbf5de6eebbeffc, limb1: 0x7309cff008feb3ebfb9b22e6, - limb2: 0x112e6ec0db536bd2 - } + limb2: 0x112e6ec0db536bd2, + }, }, G2Line { r0a0: u288 { limb0: 0xf85ee56a7931c3a3d7e22b1, limb1: 0xc49e4026d30000ff5ad0ed87, - limb2: 0x9a8d4f19347675e + limb2: 0x9a8d4f19347675e, }, r0a1: u288 { limb0: 0x34652599e03489dbca6a04bb, limb1: 0x98f8ba9e9b65abccfdce7169, - limb2: 0x153fbd440ef725b5 + limb2: 0x153fbd440ef725b5, }, r1a0: u288 { limb0: 0x35111b6f4eacb1fcf5f53f8f, limb1: 0x23545a2bb56c9b2fe222f39c, - limb2: 0x1b7822ce0cdc1f2b + limb2: 0x1b7822ce0cdc1f2b, }, r1a1: u288 { limb0: 0xe68e164e8c7cdb83224d5ecf, limb1: 0x4900a3f7ed3d0b25d2716b2d, - limb2: 0xf1e46e6adac9d5d - } + limb2: 0xf1e46e6adac9d5d, + }, }, G2Line { r0a0: u288 { limb0: 0x8b2c899639dc5cc9c044490d, limb1: 0x22f86bdfbacd20aeec5d8be9, - limb2: 0x19b836ccbb17a7e4 + limb2: 0x19b836ccbb17a7e4, }, r0a1: u288 { limb0: 0x89bae9959824cb3a475e5c49, limb1: 0xc53c6b56b477f0dd0853827b, - limb2: 0x22783114b221de87 + limb2: 0x22783114b221de87, }, r1a0: u288 { limb0: 0x5c91c9c68702894ffcd0ea24, limb1: 0x5d691537f69a30e7050f98a4, - limb2: 0x1bb9cbba6a513842 + limb2: 0x1bb9cbba6a513842, }, r1a1: u288 { limb0: 0xa9226abf9515bbd281fed4c8, limb1: 0x75b0a0c6355bd2dd020a5c6, - limb2: 0x221468ff5248a1e8 - } + limb2: 0x221468ff5248a1e8, + }, }, G2Line { r0a0: u288 { limb0: 0xf8820d4aceab306eb783e0a6, limb1: 0xc7d1a20e7942c4d389818908, - limb2: 0x2e31d9c48e89b432 + limb2: 0x2e31d9c48e89b432, }, r0a1: u288 { limb0: 0x85bbebd854eccf7a6c56767, limb1: 0x2d07ae2c3946de9e92f58236, - limb2: 0xeb5a4ae8acab71d + limb2: 0xeb5a4ae8acab71d, }, r1a0: u288 { limb0: 0x4512ff65bb8a0aed640ac4ab, limb1: 0xdd9f660ad3feed3e4510f4c5, - limb2: 0x16ba9a8b70ccc71c + limb2: 0x16ba9a8b70ccc71c, }, r1a1: u288 { limb0: 0x9d2c01267d4aeefcf1f78ccc, limb1: 0xdbeb1adcbf7df61b43429ba9, - limb2: 0x2c895b99227c31d6 - } + limb2: 0x2c895b99227c31d6, + }, }, G2Line { r0a0: u288 { limb0: 0x90e454055b75ead8e2ebac42, limb1: 0xfbabb00c2f3aa9dbd7522417, - limb2: 0x5b3e7e4068f790 + limb2: 0x5b3e7e4068f790, }, r0a1: u288 { limb0: 0xf85cebc1555abc4d89b337ef, limb1: 0xf4761f79f94babcc24806057, - limb2: 0x1b996af0e24e9310 + limb2: 0x1b996af0e24e9310, }, r1a0: u288 { limb0: 0xd7206c93b508f78061fe01cd, limb1: 0x742ef1d29a2c692312298778, - limb2: 0x151fe23f3bae34a2 + limb2: 0x151fe23f3bae34a2, }, r1a1: u288 { limb0: 0x87f5668138132b557efd05d6, limb1: 0x94e793d236320a9e3e525285, - limb2: 0x1988ca9052857a71 - } + limb2: 0x1988ca9052857a71, + }, }, G2Line { r0a0: u288 { limb0: 0x7c6a269fe06a16627f5ecf5b, limb1: 0x50317e79670fba9583cbc9af, - limb2: 0xb20ea22d8b7ef38 + limb2: 0xb20ea22d8b7ef38, }, r0a1: u288 { limb0: 0xcec9cccc31411674ea756b45, limb1: 0x7febf8b5905c4ad47e85f90a, - limb2: 0x85dd991fef5f00a + limb2: 0x85dd991fef5f00a, }, r1a0: u288 { limb0: 0xd935f602bec4954512e2a83c, limb1: 0x3d448544bb1a52e6c21568e5, - limb2: 0x30253372b426fa93 + limb2: 0x30253372b426fa93, }, r1a1: u288 { limb0: 0x2321475e1ba3f3775a8df03d, limb1: 0x8ad60a1731370c5148fdd271, - limb2: 0x5ac30ab6d4ac94f - } + limb2: 0x5ac30ab6d4ac94f, + }, }, G2Line { r0a0: u288 { limb0: 0x387a543af80110750ef06290, limb1: 0xf82835b4768246d0aaa1d901, - limb2: 0x2419af1838a4d116 + limb2: 0x2419af1838a4d116, }, r0a1: u288 { limb0: 0x47251c0c962be9ae66db3d05, limb1: 0x43f64d4ac11d82a21f131c2d, - limb2: 0xf896f4ab3e39af0 + limb2: 0xf896f4ab3e39af0, }, r1a0: u288 { limb0: 0xc5775374fa4d6293b3c2c070, limb1: 0xc1aef05fdcb1bb03a298fe38, - limb2: 0x298566e64b1aa9ea + limb2: 0x298566e64b1aa9ea, }, r1a1: u288 { limb0: 0xc1973597201173697fe8c018, limb1: 0xc357b15cb9b588bae8abc963, - limb2: 0xed371de6f4074ab - } + limb2: 0xed371de6f4074ab, + }, }, G2Line { r0a0: u288 { limb0: 0x40d9f3f225ebab5380d4b72, limb1: 0x31a46955bff4173ff90907c5, - limb2: 0xb56f0074b975741 + limb2: 0xb56f0074b975741, }, r0a1: u288 { limb0: 0xba705bbb410ae6715e48508, limb1: 0x9baf711d475a978e9c6208e0, - limb2: 0x2687a1dd57bbd608 + limb2: 0x2687a1dd57bbd608, }, r1a0: u288 { limb0: 0x4cdcbddd1555f6a28e4b4633, limb1: 0x5c368f07d906b3dedd347055, - limb2: 0x4c585e6b42f1812 + limb2: 0x4c585e6b42f1812, }, r1a1: u288 { limb0: 0x2aa6dcbf02a9bfd6a69b9713, limb1: 0xc377411908d06357c9dd7e0d, - limb2: 0x1ea404aa6b11edc9 - } + limb2: 0x1ea404aa6b11edc9, + }, }, G2Line { r0a0: u288 { limb0: 0x1ba2d91e528e15b1e971d7bc, limb1: 0xc3d5b13a1a0ed98868b53c49, - limb2: 0x58c43b20c6ae43b + limb2: 0x58c43b20c6ae43b, }, r0a1: u288 { limb0: 0xad13d1837679166bbc309e9c, limb1: 0xd40862384caeae8d2c50a472, - limb2: 0x1333a454fe004635 + limb2: 0x1333a454fe004635, }, r1a0: u288 { limb0: 0x67824db562428bd89655e374, limb1: 0xbb420615e88b3b3e751019b, - limb2: 0x1c8baf2e8cf9c832 + limb2: 0x1c8baf2e8cf9c832, }, r1a1: u288 { limb0: 0x6ffe8674ea7d664329d21c4a, limb1: 0x30f2edace39818c4f5d4cd54, - limb2: 0x22a7b32f48b0882a - } + limb2: 0x22a7b32f48b0882a, + }, }, G2Line { r0a0: u288 { limb0: 0xedd1d0959325376134891630, limb1: 0x1128395a9b57a29073cb0850, - limb2: 0xf3743d152d6505f + limb2: 0xf3743d152d6505f, }, r0a1: u288 { limb0: 0xb982975f8f3754c447048e4d, limb1: 0xa1f5febfa531fb8eda900af5, - limb2: 0x9d186ca8c21f49e + limb2: 0x9d186ca8c21f49e, }, r1a0: u288 { limb0: 0xae55ad9465da2d347c06d679, limb1: 0xef03eabc82c065f5848ac316, - limb2: 0x3048edc721645512 + limb2: 0x3048edc721645512, }, r1a1: u288 { limb0: 0xbf3fb43ad7c3bea794a1bd69, limb1: 0xb370c4cc79bacdb996aa7769, - limb2: 0x152d882002404123 - } + limb2: 0x152d882002404123, + }, }, G2Line { r0a0: u288 { limb0: 0xb8acde096bd6f573c8807c88, limb1: 0xf9370645c8a230645a4558bd, - limb2: 0x11060ebe6c0900e0 + limb2: 0x11060ebe6c0900e0, }, r0a1: u288 { limb0: 0x6f8b7c4c8c4850fe1b091402, limb1: 0xba7f7d879ddcfc28350fb8e4, - limb2: 0x251131fc4797a238 + limb2: 0x251131fc4797a238, }, r1a0: u288 { limb0: 0xc067941904de6452a702cc36, limb1: 0x36010868f854adcaac243b23, - limb2: 0x2be8d5d432d0e622 + limb2: 0x2be8d5d432d0e622, }, r1a1: u288 { limb0: 0x48bff01c3e0bb1049adc54d6, limb1: 0x5f6636dd538087bb8e95c05e, - limb2: 0x1aa24bc4a8d0aca4 - } + limb2: 0x1aa24bc4a8d0aca4, + }, }, G2Line { r0a0: u288 { limb0: 0xfed7cbe3be258eacb3805c43, limb1: 0x6a6b305ac8710cf771130d6a, - limb2: 0x20c5bdfdf73feb71 + limb2: 0x20c5bdfdf73feb71, }, r0a1: u288 { limb0: 0xd8ee10b63f015bcc45e694b3, limb1: 0xde212e60212fd33b5fb07f79, - limb2: 0x10406d0c66676419 + limb2: 0x10406d0c66676419, }, r1a0: u288 { limb0: 0xae6200bbf69b2d8222adc0c9, limb1: 0x5ed8395ab5798779de7855c7, - limb2: 0x1306f0dfb9dd1f33 + limb2: 0x1306f0dfb9dd1f33, }, r1a1: u288 { limb0: 0x7d3e5564e11b0c0d87ce2fcf, limb1: 0xa011abe1dfaff9533b90024b, - limb2: 0x4414840770b8d45 - } + limb2: 0x4414840770b8d45, + }, }, G2Line { r0a0: u288 { limb0: 0x1abbfaf4636b146d437f0f32, limb1: 0x823aeee9a4d8bec2345f04eb, - limb2: 0x474bc80c3969d26 + limb2: 0x474bc80c3969d26, }, r0a1: u288 { limb0: 0x4574559e190f5a9005079834, limb1: 0x1a14b1796aeaf3cac262c90, - limb2: 0x2a206e06250d18c9 + limb2: 0x2a206e06250d18c9, }, r1a0: u288 { limb0: 0x7c011e64290a2723d04fbb47, limb1: 0x9bf025c6164128c502666a3f, - limb2: 0x22056cad12d485a3 + limb2: 0x22056cad12d485a3, }, r1a1: u288 { limb0: 0x2c4a99cfec75332ddeb73d3f, limb1: 0x664ed1b9b659c29a8c5e86db, - limb2: 0x1c996a2f464fa6d5 - } + limb2: 0x1c996a2f464fa6d5, + }, }, G2Line { r0a0: u288 { limb0: 0x68cb5b19d04919eb3904b718, limb1: 0x3c200fed008fce871c299fe0, - limb2: 0xc82b868b865eaf2 + limb2: 0xc82b868b865eaf2, }, r0a1: u288 { limb0: 0x8d319155c9ce9e7023bba44a, limb1: 0xdf6d46a6eafac55cd37588a7, - limb2: 0x230891a91d84fb9 + limb2: 0x230891a91d84fb9, }, r1a0: u288 { limb0: 0x6c47fa46ada891b1ad0d4a2d, limb1: 0x896ef732068203aae4835c7f, - limb2: 0x13305bfc59ed9f88 + limb2: 0x13305bfc59ed9f88, }, r1a1: u288 { limb0: 0xdef6d4b1bb52e3ed41f3149, limb1: 0x4d38ba467238b118bd600aaa, - limb2: 0x23a7c08a0d34b716 - } + limb2: 0x23a7c08a0d34b716, + }, }, G2Line { r0a0: u288 { limb0: 0xe65bdf2f0e46c5d14bb2d437, limb1: 0x75d347475ec4f5e5da58702b, - limb2: 0x1e813045e86534b1 + limb2: 0x1e813045e86534b1, }, r0a1: u288 { limb0: 0x19aa620481b7ed5be5d86a56, limb1: 0xfe7790488a68214c21b7e599, - limb2: 0x60c00e0cb979bbe + limb2: 0x60c00e0cb979bbe, }, r1a0: u288 { limb0: 0x681c25373d992243e7bc4316, limb1: 0xdaa79fd2125a52658e4edbdf, - limb2: 0x8712013710d9b84 + limb2: 0x8712013710d9b84, }, r1a1: u288 { limb0: 0x26dbe63cdb5675671894a27c, limb1: 0xe81e4b46a10e510982b660b3, - limb2: 0x8c1356b21364b2d - } + limb2: 0x8c1356b21364b2d, + }, }, G2Line { r0a0: u288 { limb0: 0x180ea20e04ff0cfea452b5ef, limb1: 0x33a60d4aedd65598601bb804, - limb2: 0xaffd14ad17ead4a + limb2: 0xaffd14ad17ead4a, }, r0a1: u288 { limb0: 0x81a910653e6e700bcea6610e, limb1: 0x6d6da92fa688c271dbf2e929, - limb2: 0x1c6e6b669bcc47a2 + limb2: 0x1c6e6b669bcc47a2, }, r1a0: u288 { limb0: 0x9af3035b52384ba68596606b, limb1: 0x3fa4f17d582ce91fe8ca38fe, - limb2: 0x4fe17bae4b30f16 + limb2: 0x4fe17bae4b30f16, }, r1a1: u288 { limb0: 0x1ab98ebb109073ba1cbc0dbb, limb1: 0xe660bc83caf74b1c8bf3ffb9, - limb2: 0xce501ef0be5371c - } + limb2: 0xce501ef0be5371c, + }, }, G2Line { r0a0: u288 { limb0: 0x9ffe62d6c121725aa3dc36e9, limb1: 0x6737e5cd363c5c11c8bf9ce7, - limb2: 0x17c47bea351ac796 + limb2: 0x17c47bea351ac796, }, r0a1: u288 { limb0: 0xf372cf537d3cbd62464f2996, limb1: 0xc2b9f39affb15c1c565820ca, - limb2: 0x5574310dc643654 + limb2: 0x5574310dc643654, }, r1a0: u288 { limb0: 0xdc8bb75702c703f43630205, limb1: 0x95033f7e1161bb1c84e88163, - limb2: 0x46d85f905c3f6b1 + limb2: 0x46d85f905c3f6b1, }, r1a1: u288 { limb0: 0xa9acb5a9647aa09d829135c8, limb1: 0x4bd37d411bc856d38f320e81, - limb2: 0x7896f127bef56fc - } + limb2: 0x7896f127bef56fc, + }, }, G2Line { r0a0: u288 { limb0: 0xb4ff705d518fd8d507edeaad, limb1: 0xb8d6290591e20c70907b4f50, - limb2: 0x13cf6850ed83a8dd + limb2: 0x13cf6850ed83a8dd, }, r0a1: u288 { limb0: 0x9e8a05fa2a451c111ad1c113, limb1: 0x8db5108125c5cbd78b9da01, - limb2: 0x27f247c7aa579dc6 + limb2: 0x27f247c7aa579dc6, }, r1a0: u288 { limb0: 0x9178a3dddec5c7aae0e06dca, limb1: 0x58c7e0146524cbde6f68e28f, - limb2: 0x88e852062e630dd + limb2: 0x88e852062e630dd, }, r1a1: u288 { limb0: 0x69f9b02ecec442e37998de01, limb1: 0x5cec46a3b23ea712f31ade1c, - limb2: 0x9fb06804e3f2902 - } + limb2: 0x9fb06804e3f2902, + }, }, G2Line { r0a0: u288 { limb0: 0xbf97e7024cb4c784db5bb1d2, limb1: 0x885d190dc80200b104734467, - limb2: 0x2f8c96b95a4cc609 + limb2: 0x2f8c96b95a4cc609, }, r0a1: u288 { limb0: 0xdbefd57376bacff12dd5bf8d, limb1: 0x725a4a257518c7f89ddc7147, - limb2: 0xc764f79ea6d7683 + limb2: 0xc764f79ea6d7683, }, r1a0: u288 { limb0: 0xfa3fe08305546a6b3bf2e9cf, limb1: 0x710f3caf9d79a6696b4d972, - limb2: 0x12139b7a210ceba1 + limb2: 0x12139b7a210ceba1, }, r1a1: u288 { limb0: 0x508cd98936add0253c52a372, limb1: 0x802ab928a43250c71b30e58c, - limb2: 0x5fc4912d57a3f0c - } + limb2: 0x5fc4912d57a3f0c, + }, }, G2Line { r0a0: u288 { limb0: 0xfec54ca77219e3f19676ab7b, limb1: 0x35c7f555865188a018a4da62, - limb2: 0x21186a3acc624741 + limb2: 0x21186a3acc624741, }, r0a1: u288 { limb0: 0x21ddf02f404de3a01207e58a, limb1: 0x23771e91b431f2af1f1ac780, - limb2: 0x8e3f5e341b6527a + limb2: 0x8e3f5e341b6527a, }, r1a0: u288 { limb0: 0xe4a4409417045e8a52de5c81, limb1: 0x7285bf1777e48aacf83eec1, - limb2: 0x20fb9b67bbbd29e1 + limb2: 0x20fb9b67bbbd29e1, }, r1a1: u288 { limb0: 0xa48af9d53abedb33c38211a1, limb1: 0xcc79b186b059588232745396, - limb2: 0x117cf4e8ab0d8c01 - } + limb2: 0x117cf4e8ab0d8c01, + }, }, G2Line { r0a0: u288 { limb0: 0xbf62a89fb0b5572d634e036e, limb1: 0x62a4d7777fbdb30e117e4c96, - limb2: 0x1433cd8e6693800d + limb2: 0x1433cd8e6693800d, }, r0a1: u288 { limb0: 0xff6e40d2e595bd4b38b984b5, limb1: 0x10a254dcf6a53cd6a1a536a, - limb2: 0x205a86246aa4e70a + limb2: 0x205a86246aa4e70a, }, r1a0: u288 { limb0: 0x6ad13bec3f64b16831ecf3fc, limb1: 0x77e9fac67ceed69e2884e6e2, - limb2: 0xacc767288a196f5 + limb2: 0xacc767288a196f5, }, r1a1: u288 { limb0: 0x212a64c8db6818125f5c9d93, limb1: 0x8572ee34b58bae6edf226f4e, - limb2: 0x2948ef466aa9fd42 - } + limb2: 0x2948ef466aa9fd42, + }, }, G2Line { r0a0: u288 { limb0: 0x866d9dd94cf5c01da1af5b70, limb1: 0x89ec47fb1c069b4a36fa36fd, - limb2: 0x2a0587e51228856d + limb2: 0x2a0587e51228856d, }, r0a1: u288 { limb0: 0x771ffaa3db79c0011aee776f, limb1: 0x40625b6f2ee697202dfd503a, - limb2: 0xa81c431cf771fa8 + limb2: 0xa81c431cf771fa8, }, r1a0: u288 { limb0: 0x8711b2a55df6bf89af526172, limb1: 0x1eb553b6ff69efe960c7c10b, - limb2: 0x1f669ce048bde363 + limb2: 0x1f669ce048bde363, }, r1a1: u288 { limb0: 0xf800397513b7b78bd8083e57, limb1: 0xc4528a9a59670bbb3033b697, - limb2: 0x262a51ab0a32bc7 - } + limb2: 0x262a51ab0a32bc7, + }, }, G2Line { r0a0: u288 { limb0: 0x84c92b9b7085152c191113c9, limb1: 0xea86e4190741f5a1d63fe1a2, - limb2: 0x1631d1377040b84d + limb2: 0x1631d1377040b84d, }, r0a1: u288 { limb0: 0xfc0579707daf96862bc47877, limb1: 0xf0a566778792313273feb448, - limb2: 0x5e725ab3a8f04c2 + limb2: 0x5e725ab3a8f04c2, }, r1a0: u288 { limb0: 0x746e1d6337bd29553a1a49d2, limb1: 0xf5e43538015ea9d289aae3bd, - limb2: 0x2b858fe696979a0d + limb2: 0x2b858fe696979a0d, }, r1a1: u288 { limb0: 0x5d0468a94a03c5e8fb9b7442, limb1: 0x4bcf854c79dfcd8f93f7b5a2, - limb2: 0x235b6ce0b723a15b - } + limb2: 0x235b6ce0b723a15b, + }, }, G2Line { r0a0: u288 { limb0: 0x47d3184d435caf4d8ac68218, limb1: 0x5fbeeeccc4f0d2b4b35ff5c1, - limb2: 0xc44d4495a9252fb + limb2: 0xc44d4495a9252fb, }, r0a1: u288 { limb0: 0x1920a8fe49e6829c82f62ce8, limb1: 0xacd523669ac89fffaaebdae1, - limb2: 0x235b4c0c2409068e + limb2: 0x235b4c0c2409068e, }, r1a0: u288 { limb0: 0x6126477661fb01a2eda1c7e6, limb1: 0x393b5af3da3463a0c92ffad, - limb2: 0x302d5c3952fea360 + limb2: 0x302d5c3952fea360, }, r1a1: u288 { limb0: 0xca17079a6b293fc5c658989b, limb1: 0xbb41d630afba0696af3a3407, - limb2: 0x1f7d9b481972987 - } + limb2: 0x1f7d9b481972987, + }, }, G2Line { r0a0: u288 { limb0: 0x2226ca676134b1f3a0926460, limb1: 0x826cd143e34fd3745d995e86, - limb2: 0x1d54d2aa3c5f7ac7 + limb2: 0x1d54d2aa3c5f7ac7, }, r0a1: u288 { limb0: 0x3515a092edde84420d650907, limb1: 0xc0e550c22584c2319b0a82c, - limb2: 0x1dae1ecd1ca07560 + limb2: 0x1dae1ecd1ca07560, }, r1a0: u288 { limb0: 0x7c23169a2d1ed918ab673e29, limb1: 0x5484a8a7a79ea6c754af3cad, - limb2: 0x2545e6dc3f9ce4c9 + limb2: 0x2545e6dc3f9ce4c9, }, r1a1: u288 { limb0: 0xd125d5ce04b20018ad6f85d9, limb1: 0x1525475fb4f94e15acb82f7, - limb2: 0x1f82f7bdc16f6382 - } + limb2: 0x1f82f7bdc16f6382, + }, }, G2Line { r0a0: u288 { limb0: 0x51de6ee8db519dfb0aa693eb, limb1: 0x64c7ee0f928747a2f5f0f936, - limb2: 0x1202023a3955cdcc + limb2: 0x1202023a3955cdcc, }, r0a1: u288 { limb0: 0xb6ba4af6f923a0d846ce153c, limb1: 0x60fe2184eafa93f4eb996772, - limb2: 0x16d57296a4ee3e6c + limb2: 0x16d57296a4ee3e6c, }, r1a0: u288 { limb0: 0xa60c48290b411ba3f980fe24, limb1: 0xbe6ad7c874855edaa1b65a97, - limb2: 0x46ed521f5594ec + limb2: 0x46ed521f5594ec, }, r1a1: u288 { limb0: 0x45849bc30c4d8430b3c651ff, limb1: 0x2563e767d417bd382197c73, - limb2: 0x16709b70a1667419 - } + limb2: 0x16709b70a1667419, + }, }, G2Line { r0a0: u288 { limb0: 0x2bdced180a9910450908f1a6, limb1: 0x1f4ef7e2d77e9764f537f621, - limb2: 0x209b61f43f3290b + limb2: 0x209b61f43f3290b, }, r0a1: u288 { limb0: 0x3d1fab7bd5a20ee703a3a1ab, limb1: 0x6dd08c68afb95f625c81c7df, - limb2: 0x2fceb99f81d59152 + limb2: 0x2fceb99f81d59152, }, r1a0: u288 { limb0: 0x61998f00abc817c74677e69c, limb1: 0xd15359c21be66df2e9f763a1, - limb2: 0x20acc9fcd918b204 + limb2: 0x20acc9fcd918b204, }, r1a1: u288 { limb0: 0x58c54c374dc0b19648206559, limb1: 0xaae9d1fa0b4859284de90438, - limb2: 0x18b9cb802e16400 - } + limb2: 0x18b9cb802e16400, + }, }, G2Line { r0a0: u288 { limb0: 0xa8af1d6e69891fd6151f69e5, limb1: 0xc9a0fc4d628c3a9cfb33e957, - limb2: 0xc205db4af1bd115 + limb2: 0xc205db4af1bd115, }, r0a1: u288 { limb0: 0xe04de2e204ed323699cbf1d0, limb1: 0xcdad0d6d615cf2efe6486b8f, - limb2: 0x24feaffdc4c0f6fb + limb2: 0x24feaffdc4c0f6fb, }, r1a0: u288 { limb0: 0x9a74590fcd5dd32ce4084080, limb1: 0x26eaea5397bec2eddba3b007, - limb2: 0x2e171e90cd48c68b + limb2: 0x2e171e90cd48c68b, }, r1a1: u288 { limb0: 0xcab514b4d0f8c4de087167f, limb1: 0x4089650224f0df0b55cdbfa5, - limb2: 0x20e3e700df023af1 - } + limb2: 0x20e3e700df023af1, + }, }, G2Line { r0a0: u288 { limb0: 0xa952db0b09a1e0a8afa85959, limb1: 0xd31513490bd63f93546b8b44, - limb2: 0x2b62974e51c3e808 + limb2: 0x2b62974e51c3e808, }, r0a1: u288 { limb0: 0x3082616da438e53047cf7b15, limb1: 0xad132a494322c88251aa940b, - limb2: 0x1638631f0b09eb79 + limb2: 0x1638631f0b09eb79, }, r1a0: u288 { limb0: 0xe2e5db1f9e9b7d34a466ca2f, limb1: 0x6edbd12f1ef34ed5334cdd54, - limb2: 0xc499b73f6f41690 + limb2: 0xc499b73f6f41690, }, r1a1: u288 { limb0: 0xaacf3111e2b20853c931d1c1, limb1: 0xb35ae0c43b79be6e06117404, - limb2: 0x2a23dec3816a3c7d - } + limb2: 0x2a23dec3816a3c7d, + }, }, G2Line { r0a0: u288 { limb0: 0xb6ed55030e8729397efcc145, limb1: 0xaa34addaea010361c02e0306, - limb2: 0x2742bd085dc8c143 + limb2: 0x2742bd085dc8c143, }, r0a1: u288 { limb0: 0x898d7670f9872d2107b383bb, limb1: 0xc214e84a71a23f180d9eb8d1, - limb2: 0x168f2063fe0912a9 + limb2: 0x168f2063fe0912a9, }, r1a0: u288 { limb0: 0x578ba288320514edb50b6e8f, limb1: 0x2d290fa04eb58f49066fbc74, - limb2: 0x2aa6192fd793ef3f + limb2: 0x2aa6192fd793ef3f, }, r1a1: u288 { limb0: 0xf67d935533f75f98ccf08227, limb1: 0xeea0611976e71b0aeb4b1b6a, - limb2: 0xb73b7adb8c016af - } + limb2: 0xb73b7adb8c016af, + }, }, G2Line { r0a0: u288 { limb0: 0xb3f4d09089d3ed8d435eb8c0, limb1: 0x86f51f3c75097e64c5ab5f62, - limb2: 0x1c6317402ee2fe95 + limb2: 0x1c6317402ee2fe95, }, r0a1: u288 { limb0: 0xa00c59cd149cab75ac1e1263, limb1: 0xdf8f325f8fd713ebe123f6e0, - limb2: 0x20135070c6c2f86b + limb2: 0x20135070c6c2f86b, }, r1a0: u288 { limb0: 0x692e693651922c9ed5b55f8b, limb1: 0xdfe74e43af132550435a9d1e, - limb2: 0x2b72066a933709f1 + limb2: 0x2b72066a933709f1, }, r1a1: u288 { limb0: 0x5d49b84a4aa6058a6d6e703, limb1: 0xb1f91b7ebceab14216152085, - limb2: 0x1967682ee3c18a7a - } + limb2: 0x1967682ee3c18a7a, + }, }, G2Line { r0a0: u288 { limb0: 0x33629d96c671a40a62c2da4, limb1: 0xb414918620ae4edc267c0bc9, - limb2: 0x1d3961343ac4df2 + limb2: 0x1d3961343ac4df2, }, r0a1: u288 { limb0: 0x254d73fe94cdde8ed9890b6b, limb1: 0xb962da0dcb410c53789cc70e, - limb2: 0x16e205ec74090889 + limb2: 0x16e205ec74090889, }, r1a0: u288 { limb0: 0x578ac38bd46442e3921b93f, limb1: 0xca84b0403bce539c78c6e5c3, - limb2: 0x204ff9c462bb7f72 + limb2: 0x204ff9c462bb7f72, }, r1a1: u288 { limb0: 0x87c93d98fcfc7555f15f52ad, limb1: 0xe3263a16c0c8a5a7efe968ff, - limb2: 0xf07070bfdb0f99c - } + limb2: 0xf07070bfdb0f99c, + }, }, G2Line { r0a0: u288 { limb0: 0x906d9cfd92ee9a42ed2259e4, limb1: 0xfa9a8f287d966d31195be1aa, - limb2: 0x1d8e310fc8f947d8 + limb2: 0x1d8e310fc8f947d8, }, r0a1: u288 { limb0: 0x56b93c74493683d4c708212, limb1: 0xb1e5c2fd8c2141c61b48f7e, - limb2: 0x54d4690b93bed74 + limb2: 0x54d4690b93bed74, }, r1a0: u288 { limb0: 0xf44f49b074bdf24754dfad0d, limb1: 0x67a90c021637ee954c2a379e, - limb2: 0x1b9888615ee2913e + limb2: 0x1b9888615ee2913e, }, r1a1: u288 { limb0: 0xaab23130c5df9453f58c1134, limb1: 0x33731a3fa835e82c50ce2efd, - limb2: 0xe51950c67c429a - } + limb2: 0xe51950c67c429a, + }, }, G2Line { r0a0: u288 { limb0: 0x278c9c013ae096a555b3ec0f, limb1: 0x610d15043cff6872498a84b8, - limb2: 0x2be6b3691c3b1cdd + limb2: 0x2be6b3691c3b1cdd, }, r0a1: u288 { limb0: 0xab1801f4fb51698ffcf4a785, limb1: 0x2c5b0c65e18486f1db2e7b16, - limb2: 0xee1c0a5598d8ee5 + limb2: 0xee1c0a5598d8ee5, }, r1a0: u288 { limb0: 0xdccb4b414e4b51403b40c360, limb1: 0x950f6c1774b0a9274543e3f9, - limb2: 0x3035735696163c43 + limb2: 0x3035735696163c43, }, r1a1: u288 { limb0: 0xb13ffd0306de54e54da63f29, limb1: 0xb0d7c02dd2152dfd24e837b8, - limb2: 0x61f242c5aef937a - } + limb2: 0x61f242c5aef937a, + }, }, G2Line { r0a0: u288 { limb0: 0xbff090424ff64b168abd7ed8, limb1: 0xfbf2b7ff152e680def29cf67, - limb2: 0x11631c347b8d5722 + limb2: 0x11631c347b8d5722, }, r0a1: u288 { limb0: 0xa4ffe19971619f52dec586fb, limb1: 0xfadff2ba47b489d5054debee, - limb2: 0x21a126d22cb30a3c + limb2: 0x21a126d22cb30a3c, }, r1a0: u288 { limb0: 0x75ac1ea03e30d1ee2a7ad65, limb1: 0x37410414baa2eb7017bb5855, - limb2: 0x1a51ee35991003f5 + limb2: 0x1a51ee35991003f5, }, r1a1: u288 { limb0: 0x455c7935775dc77497e7c89, limb1: 0x2d6c275c5c4ba0a575a19c13, - limb2: 0xc0dd9d3ea7a9ade - } + limb2: 0xc0dd9d3ea7a9ade, + }, }, G2Line { r0a0: u288 { limb0: 0x4af478bc839dde72d2e8cc92, limb1: 0x39a0acadeb78af4fb5dbe383, - limb2: 0x1b446cbeaea59d46 + limb2: 0x1b446cbeaea59d46, }, r0a1: u288 { limb0: 0x48d371224068708ad6cfc116, limb1: 0xeb6f5c875523671fe6bb1f80, - limb2: 0xdba3978f44c9853 + limb2: 0xdba3978f44c9853, }, r1a0: u288 { limb0: 0x4963a814014539613a3e815e, limb1: 0x6245603c8b693d1c28c16e49, - limb2: 0xb2ea516ccda6f09 + limb2: 0xb2ea516ccda6f09, }, r1a1: u288 { limb0: 0xf5ed7ec964654532426b4888, limb1: 0x1a7c82c2b8af5cecbcdca52d, - limb2: 0x27f711764b54cee8 - } + limb2: 0x27f711764b54cee8, + }, }, G2Line { r0a0: u288 { limb0: 0xc53cccfdb561e69a52782bb, limb1: 0xeeec6da4d5ebc08df5815014, - limb2: 0x1d29e3cafeebc352 + limb2: 0x1d29e3cafeebc352, }, r0a1: u288 { limb0: 0xc6aa872125f3b220f96a9cd1, limb1: 0xc0e77f6ac66bfd97664139e0, - limb2: 0x3741acbda901459 + limb2: 0x3741acbda901459, }, r1a0: u288 { limb0: 0x52f1a5f6845306c0defbedd9, limb1: 0x80a6b1b02f80301d3a0dc080, - limb2: 0x181a86be5b8f64ec + limb2: 0x181a86be5b8f64ec, }, r1a1: u288 { limb0: 0xa249185699b571387abcc094, limb1: 0x1c4b4890cc3addd178e2de3d, - limb2: 0x27ac0852aee62087 - } + limb2: 0x27ac0852aee62087, + }, }, G2Line { r0a0: u288 { limb0: 0x35c2f42c8ac8c3e4454917fd, limb1: 0x3bf48982e71153a198e54963, - limb2: 0x2a9f396d0d827ead + limb2: 0x2a9f396d0d827ead, }, r0a1: u288 { limb0: 0xbea85053b686a4fb31267e68, limb1: 0xbec1d438473d13cefa4b0bd9, - limb2: 0x25c2cbb7e7615d3a + limb2: 0x25c2cbb7e7615d3a, }, r1a0: u288 { limb0: 0x4003c5a77762d598d26651ce, limb1: 0x2efe1dd975f92a292079355d, - limb2: 0x17d7d17be5145528 + limb2: 0x17d7d17be5145528, }, r1a1: u288 { limb0: 0x7cfd8f75da47da500d6d8c7e, limb1: 0xf63a158f1246fa8382aef748, - limb2: 0xce3a2406f7606cf - } + limb2: 0xce3a2406f7606cf, + }, }, G2Line { r0a0: u288 { limb0: 0x71c82502374ad055eee34a70, limb1: 0xbf607dbe6e74c9f06bf0f2f2, - limb2: 0x17ad31e67a125bfa + limb2: 0x17ad31e67a125bfa, }, r0a1: u288 { limb0: 0x75e0f096ad837bb65e18f5fe, limb1: 0xf57acb24db4e597ad6dfd0c5, - limb2: 0x2baed364893718d3 + limb2: 0x2baed364893718d3, }, r1a0: u288 { limb0: 0x650c59126052997ddebdbf06, limb1: 0xe5694f3d235ba12f4e80e1da, - limb2: 0xc3d775c73973d78 + limb2: 0xc3d775c73973d78, }, r1a1: u288 { limb0: 0x86ecc04bb1dda6baba72f110, limb1: 0x26a56fe363233bcba7a6bbc7, - limb2: 0xcccdf39db0efceb - } + limb2: 0xcccdf39db0efceb, + }, }, G2Line { r0a0: u288 { limb0: 0xd14af8581af5048d860b42d8, limb1: 0x5983b9a1ab460420aac0e5fa, - limb2: 0x2cac8350464e5a46 + limb2: 0x2cac8350464e5a46, }, r0a1: u288 { limb0: 0x9852dbbe33a5c81ef2ef28df, limb1: 0xe27bbdc0499c71d8751fa8fd, - limb2: 0x2596598d10b8e209 + limb2: 0x2596598d10b8e209, }, r1a0: u288 { limb0: 0x5d640a56b866092cd2ddda67, limb1: 0xbc7c9df1a76876f2af28a37d, - limb2: 0x198c4d4be5dfe657 + limb2: 0x198c4d4be5dfe657, }, r1a1: u288 { limb0: 0xf75e1f774ca4206fa9fcda52, limb1: 0xc094c286837192006d77bf19, - limb2: 0xcf2a11e9eea72d4 - } + limb2: 0xcf2a11e9eea72d4, + }, }, G2Line { r0a0: u288 { limb0: 0x3f7d6ff3e3048f3d3b217cb3, limb1: 0x17d29aee9dc30e589c3409ce, - limb2: 0x13594ce650eafdb7 + limb2: 0x13594ce650eafdb7, }, r0a1: u288 { limb0: 0x56007f7714afee54d813795e, limb1: 0xfbeadbe9e4d223705b6f52b9, - limb2: 0x16c1493ccf93baf8 + limb2: 0x16c1493ccf93baf8, }, r1a0: u288 { limb0: 0xd61ca8fe2027f969c984a06c, limb1: 0xfd681777ceaa7b105f32c686, - limb2: 0x89c32a2360185c2 + limb2: 0x89c32a2360185c2, }, r1a1: u288 { limb0: 0xc0be27a2efabaa040fc34bde, limb1: 0x4025016352e1fb49753dc175, - limb2: 0xae0f4b4e22bbbdb - } + limb2: 0xae0f4b4e22bbbdb, + }, }, G2Line { r0a0: u288 { limb0: 0xb714a66fd690196097466167, limb1: 0x470b3ea1df7db4f80c0f7c28, - limb2: 0xa2b04b84a338d79 + limb2: 0xa2b04b84a338d79, }, r0a1: u288 { limb0: 0x99e371187196a0e5e1cf157d, limb1: 0x1c37ecc4a15489ba4d1779c, - limb2: 0x2241007f12297498 + limb2: 0x2241007f12297498, }, r1a0: u288 { limb0: 0xc2d4196793dc2c1a6195e84c, limb1: 0x84aca2b3cc656ac3aaca479c, - limb2: 0x25be01f34c7b0108 + limb2: 0x25be01f34c7b0108, }, r1a1: u288 { limb0: 0x6284320ce1e28774e12ac179, limb1: 0xe63f8969b7d4831c0df44b75, - limb2: 0x11959f32e56582cd - } + limb2: 0x11959f32e56582cd, + }, }, G2Line { r0a0: u288 { limb0: 0x12b126126d6a51f864d86b21, limb1: 0x1d0bdb4abac53547bcee2b4d, - limb2: 0x2947d69adc1260a9 + limb2: 0x2947d69adc1260a9, }, r0a1: u288 { limb0: 0xe7865d832dc76c6f81e52540, limb1: 0xa83bffdb570dac4070b74623, - limb2: 0x2f7f591b620ebbf0 + limb2: 0x2f7f591b620ebbf0, }, r1a0: u288 { limb0: 0x8c19ba55fbe3b83ab9a52ce4, limb1: 0xe422487d5d7a55084660e279, - limb2: 0x451963810a77462 + limb2: 0x451963810a77462, }, r1a1: u288 { limb0: 0x238470f53902b433c24b5095, limb1: 0x9f92f5a1a4c3dc5f5448ace1, - limb2: 0x25b02dd2b4f13ea8 - } + limb2: 0x25b02dd2b4f13ea8, + }, }, G2Line { r0a0: u288 { limb0: 0xf8c9c8cec6607f52c0c9a1b4, limb1: 0xe4bf0bcc8b18ef930b8f8498, - limb2: 0x2afb9cf3aeeb2bbf + limb2: 0x2afb9cf3aeeb2bbf, }, r0a1: u288 { limb0: 0x2005f7afc42e1e0c95cb60d1, limb1: 0xc5767bdb11d976e34bda43e2, - limb2: 0x29602013060d4ff4 + limb2: 0x29602013060d4ff4, }, r1a0: u288 { limb0: 0x11570e8a2564f4049b9db0ec, limb1: 0x49eb826e6b83eff0404680d5, - limb2: 0xcecd3d8af842dcc + limb2: 0xcecd3d8af842dcc, }, r1a1: u288 { limb0: 0x4b7116478737ccae251f21d0, limb1: 0x801cc3a4c2973adba6e4ddad, - limb2: 0x2b2f6090ab698026 - } + limb2: 0x2b2f6090ab698026, + }, }, G2Line { r0a0: u288 { limb0: 0x884df7b9c6266e14cc00d544, limb1: 0xb39ddb5ff70292b139767896, - limb2: 0x2dec0cf17a7a9728 + limb2: 0x2dec0cf17a7a9728, }, r0a1: u288 { limb0: 0xbf786f4a5a217fd2fb81a73b, limb1: 0xcfb52addb110bfc90b6aa315, - limb2: 0x20acfe4cf1ffb3f4 + limb2: 0x20acfe4cf1ffb3f4, }, r1a0: u288 { limb0: 0x58fdca71f63cd7f2da6998b9, limb1: 0x979bbe60391be8c8c020eb17, - limb2: 0x1d271bcc5d463d8b + limb2: 0x1d271bcc5d463d8b, }, r1a1: u288 { limb0: 0xb4604fea4e6d2fa87b6546ca, limb1: 0x14ec3cc166da4fa93e7855e, - limb2: 0x19eff643e695961 - } + limb2: 0x19eff643e695961, + }, }, G2Line { r0a0: u288 { limb0: 0xe3fff14dc344f49a147400af, limb1: 0x552fa30aaf36a28b944068dd, - limb2: 0x22f12a7ad2b957a7 + limb2: 0x22f12a7ad2b957a7, }, r0a1: u288 { limb0: 0xff8236c0d8500425ffffe979, limb1: 0xd995e8b2955425eef9effefa, - limb2: 0x1008627aeb38039f + limb2: 0x1008627aeb38039f, }, r1a0: u288 { limb0: 0x761abe6a1a610e88ddb82821, limb1: 0x7f484e89e288b114a86e3104, - limb2: 0x571350412cfb043 + limb2: 0x571350412cfb043, }, r1a1: u288 { limb0: 0xdbe60b9ed4870dafe4f6b562, limb1: 0xe27c012c5483844720417b27, - limb2: 0x287fcf364036279d - } + limb2: 0x287fcf364036279d, + }, }, G2Line { r0a0: u288 { limb0: 0x1edeb9e08e49a4cc6d595a6a, limb1: 0x4d749f26fcf5c2d70c0a0826, - limb2: 0x537349d42ceec1f + limb2: 0x537349d42ceec1f, }, r0a1: u288 { limb0: 0x71e75fa5345f7af0598be8fb, limb1: 0x94e35008e8882d98556d4f9, - limb2: 0x1e5f86ec7f29e8c0 + limb2: 0x1e5f86ec7f29e8c0, }, r1a0: u288 { limb0: 0xa59a00e6ef1857c7f37bba17, limb1: 0xaa80466f9ff308394641d17a, - limb2: 0x22e8b793fed10566 + limb2: 0x22e8b793fed10566, }, r1a1: u288 { limb0: 0x85cc25707c980abee1603524, limb1: 0xf0a1429f6a9ce800109dd3c6, - limb2: 0x439246edfedc6a0 - } + limb2: 0x439246edfedc6a0, + }, }, G2Line { r0a0: u288 { limb0: 0xc3464ca03c070344bc851998, limb1: 0x628900ddf59e8fcab9e544cb, - limb2: 0xc46d4de05410eea + limb2: 0xc46d4de05410eea, }, r0a1: u288 { limb0: 0xc3fcebdd079623bfdfe5b76, limb1: 0x7293b945aea37cb296e5fe79, - limb2: 0x1dfc0017bebb3827 + limb2: 0x1dfc0017bebb3827, }, r1a0: u288 { limb0: 0x8330726aebe0e9005929fbf2, limb1: 0x4aaecb83bd354c28abc709fe, - limb2: 0x1db100a3ae9d2796 + limb2: 0x1db100a3ae9d2796, }, r1a1: u288 { limb0: 0xb769d01c317efe1645b5977, limb1: 0xc531f97ebdd47779587f7f3d, - limb2: 0xa69ded3c01e9477 - } + limb2: 0xa69ded3c01e9477, + }, }, G2Line { r0a0: u288 { limb0: 0x58d096250a5f996582135298, limb1: 0x8b3a621d056b54ccbe85d4a4, - limb2: 0x26de0b6ea20b2417 + limb2: 0x26de0b6ea20b2417, }, r0a1: u288 { limb0: 0xc0991b57a9e1506cab1180d6, limb1: 0xb77b1f14ad48be33a9a3d3ea, - limb2: 0xddedb919473952 + limb2: 0xddedb919473952, }, r1a0: u288 { limb0: 0x50b24127a621793d80986ea8, limb1: 0xd87c2df07cddcdb160e65f00, - limb2: 0x1a376e99bcc12456 + limb2: 0x1a376e99bcc12456, }, r1a1: u288 { limb0: 0x94e5f9f1ffeb27d8ced55bc4, limb1: 0xe0c8f2e76317d89edbac2b16, - limb2: 0xd5c6a5a81f58007 - } + limb2: 0xd5c6a5a81f58007, + }, }, G2Line { r0a0: u288 { limb0: 0xd9e189bd465323e7ccc5c8d8, limb1: 0xf3854408ae8833a96c0a44a5, - limb2: 0x2aa4976b776fe008 + limb2: 0x2aa4976b776fe008, }, r0a1: u288 { limb0: 0x6e0592dc622bfba3f3604600, limb1: 0xfaf5659c5bbbef47b9ac96b3, - limb2: 0x1f0dc42f72ebc953 + limb2: 0x1f0dc42f72ebc953, }, r1a0: u288 { limb0: 0xbeed1c4160d214aab80de397, limb1: 0xc2db7a1fd04bf557fe496c1a, - limb2: 0x2d95453d59d9f447 + limb2: 0x2d95453d59d9f447, }, r1a1: u288 { limb0: 0x8034644d710c6dbba13e467b, limb1: 0xf87cf4201f6abf6533e972e, - limb2: 0x2e24defab8e33de8 - } + limb2: 0x2e24defab8e33de8, + }, }, G2Line { r0a0: u288 { limb0: 0x1694446b59660ec1fed6fb9d, limb1: 0xc0a4cbb8310e198ce8d997e, - limb2: 0x2da8657ea7730f4 + limb2: 0x2da8657ea7730f4, }, r0a1: u288 { limb0: 0xdd70e38f79be7c342e31044d, limb1: 0x5a8d74ec827b1414b7387287, - limb2: 0x61248d0ea9090d5 + limb2: 0x61248d0ea9090d5, }, r1a0: u288 { limb0: 0x725a8201bde6223b676c1523, limb1: 0x645238ecfc00a99aeeb4eeb8, - limb2: 0x1d1fddea44ab94d0 + limb2: 0x1d1fddea44ab94d0, }, r1a1: u288 { limb0: 0x83839eafce9360837b497639, limb1: 0xcbec9216940c09f042d3153c, - limb2: 0x2180c12b34129e84 - } + limb2: 0x2180c12b34129e84, + }, }, G2Line { r0a0: u288 { limb0: 0x5bac5422643e869c95e8758, limb1: 0x75a87d464e85d848733732c6, - limb2: 0x17dd4782ba72be36 + limb2: 0x17dd4782ba72be36, }, r0a1: u288 { limb0: 0xaee3bfbad5100e0a925100a9, limb1: 0x71d534c3c0a75b458dfcffeb, - limb2: 0x6ce2915078a5228 + limb2: 0x6ce2915078a5228, }, r1a0: u288 { limb0: 0x551047c5156391326b3100c8, limb1: 0x6342cb22397195c24b239d2b, - limb2: 0x21c7584f2234b2f4 + limb2: 0x21c7584f2234b2f4, }, r1a1: u288 { limb0: 0xddf561e69f4a85c68a1fbb5f, limb1: 0xe60381a1141b501717848e3c, - limb2: 0x18963467c96efe0e - } + limb2: 0x18963467c96efe0e, + }, }, G2Line { r0a0: u288 { limb0: 0x43c0e893813e89326e6d7292, limb1: 0xa039460fc1ffe8b46a153b1, - limb2: 0x27d053716ecb9cd9 + limb2: 0x27d053716ecb9cd9, }, r0a1: u288 { limb0: 0xf50b97a916e074212516e5b6, limb1: 0xd022b79f1419b1f40ecdf478, - limb2: 0x1d1206da817808b7 + limb2: 0x1d1206da817808b7, }, r1a0: u288 { limb0: 0x25a6cedcf5d6ddb32b966856, limb1: 0x2a4e55aedf867fa395c11b66, - limb2: 0x185e2c0ebb4ad386 + limb2: 0x185e2c0ebb4ad386, }, r1a1: u288 { limb0: 0x19a943e29773716d15946034, limb1: 0xba20fb1af88682e70de60783, - limb2: 0x17d681927b62d229 - } + limb2: 0x17d681927b62d229, + }, }, G2Line { r0a0: u288 { limb0: 0xf7fa1e079660015140590591, limb1: 0xc30ed30ec9915ab4fc15f7ff, - limb2: 0x243a6006b965f61a + limb2: 0x243a6006b965f61a, }, r0a1: u288 { limb0: 0xf8da46207ede41bd56e50a43, limb1: 0xe04b09702796cd90c2425928, - limb2: 0x2e7ae22af53376f2 + limb2: 0x2e7ae22af53376f2, }, r1a0: u288 { limb0: 0x5af2801c7d933321f9435b9b, limb1: 0xd2318d1258ba0c6c1daee6d2, - limb2: 0x23afd2f1a99800e4 + limb2: 0x23afd2f1a99800e4, }, r1a1: u288 { limb0: 0xe39965536174be4d41378ab2, limb1: 0x86d346ec3ef6a2dfb8319fce, - limb2: 0x1da387ce6ce0d298 - } + limb2: 0x1da387ce6ce0d298, + }, }, G2Line { r0a0: u288 { limb0: 0xe44b9574eb888dee9f4e20dc, limb1: 0xf31eb1efa49ca68cc34081f, - limb2: 0xfad1981220113be + limb2: 0xfad1981220113be, }, r0a1: u288 { limb0: 0x9ab7843efd617ddf119164fe, limb1: 0x76cafdac5a293b073ed57ad, - limb2: 0xd0e754b42bb068a + limb2: 0xd0e754b42bb068a, }, r1a0: u288 { limb0: 0xe334e2852f757ecc004f2f1e, limb1: 0x402aa243f80d326c17d11b15, - limb2: 0x1f6c545d5d39392c + limb2: 0x1f6c545d5d39392c, }, r1a1: u288 { limb0: 0x5749b413972936886b183b9f, limb1: 0x7d2a1beec672867c931a8293, - limb2: 0x1ccda8ec93a0273b - } + limb2: 0x1ccda8ec93a0273b, + }, }, G2Line { r0a0: u288 { limb0: 0x9f47ddea4c0b8b40dc986ddc, limb1: 0xa0be8511b87227fadcd76ee8, - limb2: 0xfcdf0494a2bc732 + limb2: 0xfcdf0494a2bc732, }, r0a1: u288 { limb0: 0xdc00663637fde6d5b906e716, limb1: 0x9b2a202f83175ae5c305a611, - limb2: 0x5d06f2336099060 + limb2: 0x5d06f2336099060, }, r1a0: u288 { limb0: 0x1a585c16370b2e72ce762004, limb1: 0x456d73db558a873ad7cff6b2, - limb2: 0x1fa965f8f98ca6f5 + limb2: 0x1fa965f8f98ca6f5, }, r1a1: u288 { limb0: 0x2d2a8f6911befce21db0812b, limb1: 0x8c0ea802fda5c7080ea50395, - limb2: 0x7c5df2dee8313c3 - } + limb2: 0x7c5df2dee8313c3, + }, }, G2Line { r0a0: u288 { limb0: 0x982a9081f5f8fd9414004f29, limb1: 0x48745d3195d133f3f7eb9cf8, - limb2: 0x23d50a6b096134a0 + limb2: 0x23d50a6b096134a0, }, r0a1: u288 { limb0: 0x8dd690a16a679f3d3e41fcb1, limb1: 0x2bf5c469d6877f908feb3a87, - limb2: 0x2e773e73fb695075 + limb2: 0x2e773e73fb695075, }, r1a0: u288 { limb0: 0xf2ed81b71eeab0cdfc710ae9, limb1: 0x57db9a4270f81dc9bfb64860, - limb2: 0x334d7b08732b83e + limb2: 0x334d7b08732b83e, }, r1a1: u288 { limb0: 0xa8882ec080970eca432a600b, limb1: 0x8d6928f84217558b4b8126f9, - limb2: 0x1b67ba76495fa971 - } + limb2: 0x1b67ba76495fa971, + }, }, G2Line { r0a0: u288 { limb0: 0x1c3dd7d156d67be9f4aeaa8, limb1: 0xbd90237976f8394378306671, - limb2: 0x1d08036915e0dd71 + limb2: 0x1d08036915e0dd71, }, r0a1: u288 { limb0: 0x231d2b731b96c51d226edaba, limb1: 0x54f6870a63eb1f65452f2dff, - limb2: 0x19a442e5ccf62230 + limb2: 0x19a442e5ccf62230, }, r1a0: u288 { limb0: 0x86b0048f2b838a694846ddf2, limb1: 0x8ebdbd6a17deeef0a9e89793, - limb2: 0x2c3fd637cc908694 + limb2: 0x2c3fd637cc908694, }, r1a1: u288 { limb0: 0x544fe7404b052b92ddd8749f, limb1: 0x856ebabdfc6c86b29d302e7e, - limb2: 0x1451419a1600dfa3 - } + limb2: 0x1451419a1600dfa3, + }, }, G2Line { r0a0: u288 { limb0: 0x2fe1ebd1e53ec5b0f4268e1f, limb1: 0xa1cc2188de0d3fc7fb34bf66, - limb2: 0x182fc2a35b3ef175 + limb2: 0x182fc2a35b3ef175, }, r0a1: u288 { limb0: 0xfe3f3818077e92dcdf902b05, limb1: 0xa93c77db9fdbd5a79d361028, - limb2: 0x26d3c6d6d5a4c130 + limb2: 0x26d3c6d6d5a4c130, }, r1a0: u288 { limb0: 0xabef3803fdcbd839e246be11, limb1: 0x72f95ceda7e53263113f8da9, - limb2: 0x139aec1203d92ce8 + limb2: 0x139aec1203d92ce8, }, r1a1: u288 { limb0: 0x807eb60ed447012f9ad15b4c, limb1: 0x3bd36cefe2ac948e16e9c0a8, - limb2: 0x6bee881437b0e5a - } + limb2: 0x6bee881437b0e5a, + }, }, G2Line { r0a0: u288 { limb0: 0x56bcaed9684632a2bfce5bb4, limb1: 0x9e429f5aea1a66eeecfa2a38, - limb2: 0x3d76a3ac3d4651e + limb2: 0x3d76a3ac3d4651e, }, r0a1: u288 { limb0: 0xf318a717ace4c189f90f3f81, limb1: 0xcb324779d5090afc09982055, - limb2: 0x305aeff1c47da1d2 + limb2: 0x305aeff1c47da1d2, }, r1a0: u288 { limb0: 0xe74153062b51dea4abbaa7c2, limb1: 0xb0af9f816b16aa186af3e5df, - limb2: 0x159bf9ee77d1b9e2 + limb2: 0x159bf9ee77d1b9e2, }, r1a1: u288 { limb0: 0x3e70ac7ef6cf83592cd954eb, limb1: 0xb0a5fbb32a160b0cee7f9034, - limb2: 0x2c6199de44cc1f4c - } + limb2: 0x2c6199de44cc1f4c, + }, }, G2Line { r0a0: u288 { limb0: 0xf158629d155bd7e202c572ee, limb1: 0x6db77b2b4493bcb7586d1246, - limb2: 0x2367d2c9cfaed9d3 + limb2: 0x2367d2c9cfaed9d3, }, r0a1: u288 { limb0: 0xea4f9b43d0967753e57cdbe0, limb1: 0xc3eacf790d335214d6223e55, - limb2: 0x19dad509ae22484c + limb2: 0x19dad509ae22484c, }, r1a0: u288 { limb0: 0xda40ef1b79f182c340cea093, limb1: 0x2763ae12c9f0cf8668079884, - limb2: 0x2bb5813ff3e9ca2d + limb2: 0x2bb5813ff3e9ca2d, }, r1a1: u288 { limb0: 0x510f871618c4726ed002cd0e, limb1: 0xf17db1c8beafafa17311becb, - limb2: 0x26885d10b141626f - } + limb2: 0x26885d10b141626f, + }, }, G2Line { r0a0: u288 { limb0: 0xbdca04cc049ead113f92fdf0, limb1: 0x34a187101f66d212fd60eeb6, - limb2: 0x2b1014e453475cff + limb2: 0x2b1014e453475cff, }, r0a1: u288 { limb0: 0xe444f3c70fad06b4b6fc0bb6, limb1: 0x9f1c3c9ebcbbea9fbb631c54, - limb2: 0xb918e8ffbfe8a02 + limb2: 0xb918e8ffbfe8a02, }, r1a0: u288 { limb0: 0x606807fa707dacb60e4f7b53, limb1: 0x4ef1a20b0bc39ff0b4e48514, - limb2: 0xf218649f2e73b3c + limb2: 0xf218649f2e73b3c, }, r1a1: u288 { limb0: 0x81fa6d620e45c23cbbf1f622, limb1: 0x38da47f11b383ba1461436a3, - limb2: 0x837612c329d697a - } + limb2: 0x837612c329d697a, + }, }, G2Line { r0a0: u288 { limb0: 0xfbeac24075d6f0bd847f505f, limb1: 0x11f0f12ccc004707ce2fcec3, - limb2: 0xc310bf45f22489b + limb2: 0xc310bf45f22489b, }, r0a1: u288 { limb0: 0x184769ff32effb0080bd9282, limb1: 0x94861b6747fc96bbd348eeb5, - limb2: 0x1c4daba8fedab142 + limb2: 0x1c4daba8fedab142, }, r1a0: u288 { limb0: 0x83488ba56a75bac2444eb9bc, limb1: 0x8b62ed857cf1300abd22eb9c, - limb2: 0x135d64f62ca31e90 + limb2: 0x135d64f62ca31e90, }, r1a1: u288 { limb0: 0x54eb4787f8e28813b82ec15a, limb1: 0xd07f5859c765fdaabf1f0f80, - limb2: 0x2aeeddeb65ef03ad - } + limb2: 0x2aeeddeb65ef03ad, + }, }, G2Line { r0a0: u288 { limb0: 0xab04c28363de86ea6f72de4, limb1: 0x30b8ed32ef343187e688d103, - limb2: 0x168605f7c0b37cb5 + limb2: 0x168605f7c0b37cb5, }, r0a1: u288 { limb0: 0xf62ab1cd395ae609d2f685ed, limb1: 0xada87a28a9d619b144c0b35f, - limb2: 0x2eff0a0507e5218d + limb2: 0x2eff0a0507e5218d, }, r1a0: u288 { limb0: 0x4ff357d0c6ebed186e1f9c40, limb1: 0x20dd88d263bc52219e2f859c, - limb2: 0x24d6d1a731984ce8 + limb2: 0x24d6d1a731984ce8, }, r1a1: u288 { limb0: 0x1d5151d06ca52aece509cbb3, limb1: 0x46548add3b8e3d3faacd05b1, - limb2: 0x199d296e93cf8cbd - } + limb2: 0x199d296e93cf8cbd, + }, }, G2Line { r0a0: u288 { limb0: 0x8a033bf6880534fac8cfb54c, limb1: 0x13f208e848910d7bde1192ba, - limb2: 0x1423c34f98fdcef6 + limb2: 0x1423c34f98fdcef6, }, r0a1: u288 { limb0: 0x598d27c08012f40c3d3e9e75, limb1: 0xdc4107a10a7d803199d93086, - limb2: 0xc5257edbf918701 + limb2: 0xc5257edbf918701, }, r1a0: u288 { limb0: 0x4a3400be453d6b3c34e1fb44, limb1: 0xf91d5ac5ae679c33fff36409, - limb2: 0x1be98b7749edf072 + limb2: 0x1be98b7749edf072, }, r1a1: u288 { limb0: 0x6680d0e3d2b864d119b827ca, limb1: 0x5aac4bc1b57a2e22ccf58cee, - limb2: 0x23b7fc2f9a6ae22f - } + limb2: 0x23b7fc2f9a6ae22f, + }, }, G2Line { r0a0: u288 { limb0: 0xf0775979754e902669f0e444, limb1: 0x2e61682c7e17b57130ccbfe0, - limb2: 0xf21378dff131bc3 + limb2: 0xf21378dff131bc3, }, r0a1: u288 { limb0: 0x621b48168acdc19dc97ebbf0, limb1: 0x9909fd8847205eb91ae80e2b, - limb2: 0x15534e1988bea372 + limb2: 0x15534e1988bea372, }, r1a0: u288 { limb0: 0x836091f715c8ad2669df0e75, limb1: 0x5b706e57f70b2b69b33c9cdc, - limb2: 0x12f7d428e0c8ff0d + limb2: 0x12f7d428e0c8ff0d, }, r1a1: u288 { limb0: 0x306d15fba474fc201a777221, limb1: 0x55cafa050b672c2507126a6b, - limb2: 0x1c150bb26372eb1d - } + limb2: 0x1c150bb26372eb1d, + }, }, G2Line { r0a0: u288 { limb0: 0xa188e933ee7410d97afdb93c, limb1: 0xd390d4faa3f1ca403fc39b77, - limb2: 0x22ba33b8d7641e95 + limb2: 0x22ba33b8d7641e95, }, r0a1: u288 { limb0: 0x95c3812c2afb2bd2e4b35d5f, limb1: 0x61243c01b924123431702193, - limb2: 0x7afc7339fcd4ad3 + limb2: 0x7afc7339fcd4ad3, }, r1a0: u288 { limb0: 0x5234604f03b5a78036f17dec, limb1: 0x3e865fa0fddae6157c361e83, - limb2: 0x62802572defde82 + limb2: 0x62802572defde82, }, r1a1: u288 { limb0: 0xb0715990fb0e9c5e3a72b720, limb1: 0xc499138bc22f7a1afee6dc88, - limb2: 0x2ce146b6cbc671d - } + limb2: 0x2ce146b6cbc671d, + }, }, G2Line { r0a0: u288 { limb0: 0xa51df13c764911013f1d01e4, limb1: 0x452c277faac5af624ed11334, - limb2: 0x2f5f956a9879906f + limb2: 0x2f5f956a9879906f, }, r0a1: u288 { limb0: 0x37cd61b56ba0cc6cd3d394e2, limb1: 0xffa51ac2bdd7d1ef07a66bf9, - limb2: 0x1778ef73778c3338 + limb2: 0x1778ef73778c3338, }, r1a0: u288 { limb0: 0x958d7ab0ef0acf4b8c860666, limb1: 0xe95e65d08595b6669b49d367, - limb2: 0xdd821fce8671817 + limb2: 0xdd821fce8671817, }, r1a1: u288 { limb0: 0x82613df8271eef94f8216685, limb1: 0xce4517a26e9d1ff8435f6bd3, - limb2: 0x2d74a37dda03ec82 - } + limb2: 0x2d74a37dda03ec82, + }, }, G2Line { r0a0: u288 { limb0: 0x4705fc6add33f6134dda85e8, limb1: 0x87fc37a77f2400df656f807f, - limb2: 0x1c160e5ff98f44d9 + limb2: 0x1c160e5ff98f44d9, }, r0a1: u288 { limb0: 0x6a0e358cc09cd9f66a6e2657, limb1: 0xb1a9b2fea93601140e30d66c, - limb2: 0x9b506be37020061 + limb2: 0x9b506be37020061, }, r1a0: u288 { limb0: 0xb8c0a424d99a217f15aa5ad1, limb1: 0x3ce08d5d3a9f26850abc92bb, - limb2: 0xc584793703cab09 + limb2: 0xc584793703cab09, }, r1a1: u288 { limb0: 0x7476f45ea5fb77da8b829946, limb1: 0xf7626f5dd86a7edf8028f911, - limb2: 0x29f8098dfca1aaac - } + limb2: 0x29f8098dfca1aaac, + }, }, G2Line { r0a0: u288 { limb0: 0xaba2d53cda8e2d6c31f500ac, limb1: 0xfdbf88c50f2583b7c516266a, - limb2: 0x15dc535aaf20cbdb + limb2: 0x15dc535aaf20cbdb, }, r0a1: u288 { limb0: 0x66a36c60ce96cd547c9a1755, limb1: 0xcde33ff5707f6c8f3cde3a7e, - limb2: 0x73c9a84ae062b7c + limb2: 0x73c9a84ae062b7c, }, r1a0: u288 { limb0: 0x4a0c8580eff1de7233d32d9e, limb1: 0xadc83a0d5f1ae9af1ec5e504, - limb2: 0x12b12bc2dc726d83 + limb2: 0x12b12bc2dc726d83, }, r1a1: u288 { limb0: 0xc03b004c2c1449fdf5ec2afd, limb1: 0xa96a5efd4ba92c0a09c6da03, - limb2: 0x4ac73284c6f6c78 - } + limb2: 0x4ac73284c6f6c78, + }, }, G2Line { r0a0: u288 { limb0: 0x988db951df07bcf5167c0d2d, limb1: 0x37634b3bea2719769b35a4b9, - limb2: 0x97470cf572bf0e7 + limb2: 0x97470cf572bf0e7, }, r0a1: u288 { limb0: 0x93b3a64dfc09d5e6ee158302, limb1: 0x1c6a423bc1919a943f2ba043, - limb2: 0x74fa5fb7cb911aa + limb2: 0x74fa5fb7cb911aa, }, r1a0: u288 { limb0: 0x6e1487ba7aa03f2fb0629047, limb1: 0x776bb4f378ed97e42522c9fb, - limb2: 0x2f20cc4b753304cc + limb2: 0x2f20cc4b753304cc, }, r1a1: u288 { limb0: 0xf1179e510531e72e2b490f84, limb1: 0xbd187facc02ec1a4ae712e67, - limb2: 0x16f789e4d2a597b7 - } + limb2: 0x16f789e4d2a597b7, + }, }, G2Line { r0a0: u288 { limb0: 0x25e1b3add74afea5c1f33129, limb1: 0x52d850b9b1acf448a43d9a84, - limb2: 0x304d693be1b65945 + limb2: 0x304d693be1b65945, }, r0a1: u288 { limb0: 0xf9c0ebd67e6130dbb8406900, limb1: 0xb385c49a9bd04738cd7b5428, - limb2: 0x19a06db1f620a406 + limb2: 0x19a06db1f620a406, }, r1a0: u288 { limb0: 0x907c280d56948af74c060346, limb1: 0xabd4c238326dd19ca7c6381e, - limb2: 0x2bdbb1d399cfd3c0 + limb2: 0x2bdbb1d399cfd3c0, }, r1a1: u288 { limb0: 0x3d4dd4dad15e77d462c7e918, limb1: 0xadf6a96e3863a052cc62a68, - limb2: 0x5ff2446f7007039 - } + limb2: 0x5ff2446f7007039, + }, }, G2Line { r0a0: u288 { limb0: 0x138f586293881dd14bc6da3d, limb1: 0xd10a6cfa388f041b092fe446, - limb2: 0x134fd296006efe38 + limb2: 0x134fd296006efe38, }, r0a1: u288 { limb0: 0x7682e421ab596e09d97acaf5, limb1: 0x7bc08e33a9dc88d69a473ccb, - limb2: 0x13ebd6e59ab524c4 + limb2: 0x13ebd6e59ab524c4, }, r1a0: u288 { limb0: 0x9a3ab0aeddaf0f216d6f844a, limb1: 0x3126cf30520d8c7ad478476, - limb2: 0x2c02338e19519b2d + limb2: 0x2c02338e19519b2d, }, r1a1: u288 { limb0: 0xdabfe2d07ee261d2be63e689, limb1: 0x70a90bbdc35afe2b5f7617c6, - limb2: 0x2cf6596b31d7022 - } + limb2: 0x2cf6596b31d7022, + }, }, G2Line { r0a0: u288 { limb0: 0x1e7594119e66c328e7e8e2c9, limb1: 0xe9b1488f9e23ba1f0189f9f, - limb2: 0x21c596062c16c15d + limb2: 0x21c596062c16c15d, }, r0a1: u288 { limb0: 0xaa47ae6cab625b71d12923e8, limb1: 0xd5e69f6be21dc70822108b83, - limb2: 0x1b50a92feea5d1ed + limb2: 0x1b50a92feea5d1ed, }, r1a0: u288 { limb0: 0x346c220acdcc3bb153de8aad, limb1: 0x824f54d0187e5b1357938cf8, - limb2: 0x26b3a595f145b278 + limb2: 0x26b3a595f145b278, }, r1a1: u288 { limb0: 0x90422ba2c5b5cb7682f9f9a0, limb1: 0xda3b07105624448ee6af699e, - limb2: 0x855f3de8d27553 - } + limb2: 0x855f3de8d27553, + }, }, G2Line { r0a0: u288 { limb0: 0xe734bd8469bb0d6be46b8261, limb1: 0x2b29d6d008357ba8e7a5e184, - limb2: 0x1d1346c1f446537b + limb2: 0x1d1346c1f446537b, }, r0a1: u288 { limb0: 0xf8e1d78062ef5b92faf4cddd, limb1: 0xbaf1ca7bacabd5adfc1286a3, - limb2: 0x666ba02d5f144fa + limb2: 0x666ba02d5f144fa, }, r1a0: u288 { limb0: 0x46627a668572ccfe69168290, limb1: 0x4191d2df34900702c6390bb9, - limb2: 0x14aa1db861175db0 + limb2: 0x14aa1db861175db0, }, r1a1: u288 { limb0: 0xe127a538a4915164644a7383, limb1: 0xa1744671ffcd00e1c4ae838c, - limb2: 0x2ff36f7e93de5d6c - } + limb2: 0x2ff36f7e93de5d6c, + }, }, G2Line { r0a0: u288 { limb0: 0xf372aa2d5b25f06383d49055, limb1: 0x9242b717f74d67f9a6407380, - limb2: 0x2c8353bdcd31932e + limb2: 0x2c8353bdcd31932e, }, r0a1: u288 { limb0: 0x48cee3064e31b233c1ec6bc1, limb1: 0xf2be923df0d2346b067b30e4, - limb2: 0x3a8dc9fd9da0f60 + limb2: 0x3a8dc9fd9da0f60, }, r1a0: u288 { limb0: 0x8f89065450790649fddc1b3e, limb1: 0xbe5c8a4272361a7828e893ba, - limb2: 0x16675f3e6029e5aa + limb2: 0x16675f3e6029e5aa, }, r1a1: u288 { limb0: 0x5c9d27ca383d4ca0c63de6a7, limb1: 0xcda897ae6f5e2854dcf2f3d5, - limb2: 0x290743df058f8305 - } + limb2: 0x290743df058f8305, + }, }, G2Line { r0a0: u288 { limb0: 0xf1f3ab4a71bf063c478bc71, limb1: 0xcfe10cafaa4f16d30470ff11, - limb2: 0x2a859743d831d561 + limb2: 0x2a859743d831d561, }, r0a1: u288 { limb0: 0xda9e879d4da405e3745be46c, limb1: 0x6539bb41fc461e404d661818, - limb2: 0x2109fa558b0a8210 + limb2: 0x2109fa558b0a8210, }, r1a0: u288 { limb0: 0xe2fab01e8d7359c9120b3d72, limb1: 0x6d799a8db1bf63c665c6c68, - limb2: 0x1bedbf111989dd04 + limb2: 0x1bedbf111989dd04, }, r1a1: u288 { limb0: 0x6374e057728683e95ef4bded, limb1: 0x592dc554ee2ceccd54e9cbb5, - limb2: 0x277996866989d1a8 - } + limb2: 0x277996866989d1a8, + }, }, G2Line { r0a0: u288 { limb0: 0x2a6a35d687fd3ab5ed444d70, limb1: 0xf30c2c150150716b84c25d9d, - limb2: 0x2355381b4775f979 + limb2: 0x2355381b4775f979, }, r0a1: u288 { limb0: 0xf31d6705cd3f9a1e729f7be8, limb1: 0xcd6d818c3ea8a55fe1601bc6, - limb2: 0x2cc715925e8582fb + limb2: 0x2cc715925e8582fb, }, r1a0: u288 { limb0: 0xc34b5e6487ae899450b53ac0, limb1: 0x65a86cf5053c7421f70ec00c, - limb2: 0x1c705fa60b0b6e46 + limb2: 0x1c705fa60b0b6e46, }, r1a1: u288 { limb0: 0x1189127468bbdb55f404b7e8, limb1: 0xe0b50dc5855da0d20288ef4c, - limb2: 0x2db9ba609c2b1f8b - } + limb2: 0x2db9ba609c2b1f8b, + }, }, G2Line { r0a0: u288 { limb0: 0x58deb5a39dddab04b4bfbe6f, limb1: 0x3d80edfce9162e06afd3fae2, - limb2: 0x229b5dd9a090a07d + limb2: 0x229b5dd9a090a07d, }, r0a1: u288 { limb0: 0xa2884f95690b37cb555319e8, limb1: 0x431b3224e78b46a35dd8e27b, - limb2: 0xd1c9d6a556eff33 + limb2: 0xd1c9d6a556eff33, }, r1a0: u288 { limb0: 0x7d6f5780f353f4275084bd87, limb1: 0xeff8b298c309ae39ecc99974, - limb2: 0x15dabb9a3840c586 + limb2: 0x15dabb9a3840c586, }, r1a1: u288 { limb0: 0x6e408f5c601b2c2a42fcd6b4, limb1: 0x5b9c6ffa0ea6344c8f4fa422, - limb2: 0x112a7281cd34d37f - } + limb2: 0x112a7281cd34d37f, + }, }, G2Line { r0a0: u288 { limb0: 0x324406d06aab0393e4870b30, limb1: 0x6afe0b4af47ec81111094ea8, - limb2: 0x6756b9414a8dba8 + limb2: 0x6756b9414a8dba8, }, r0a1: u288 { limb0: 0xae5ba8ea8c9de615c7d2dee9, limb1: 0x335fdd8ee1dad4f3909a727a, - limb2: 0x395b21d2c56fe25 + limb2: 0x395b21d2c56fe25, }, r1a0: u288 { limb0: 0xe4ad199092e1e151932e0e15, limb1: 0xcc02c6c3d32e2e68c4309ff3, - limb2: 0x10245964597e950c + limb2: 0x10245964597e950c, }, r1a1: u288 { limb0: 0xa38e08616b574d86acc3f2bd, limb1: 0x57ca39109d9cca8fa3211d2, - limb2: 0xf0f2642a34368c2 - } + limb2: 0xf0f2642a34368c2, + }, }, G2Line { r0a0: u288 { limb0: 0x950136cad4283c32b1e14070, limb1: 0x18a70087736a4085ea0d3aef, - limb2: 0x161a9e5cef7ee79d + limb2: 0x161a9e5cef7ee79d, }, r0a1: u288 { limb0: 0xcf31e31a5ab2cf3d7f1287ec, limb1: 0xf07cce8ec28112beeeecf88, - limb2: 0x25caba0bbe758c3b + limb2: 0x25caba0bbe758c3b, }, r1a0: u288 { limb0: 0x4559351da5cc2c55015769fc, limb1: 0xe80942e51f4b6081a5181e20, - limb2: 0x10bb0a027ef12705 + limb2: 0x10bb0a027ef12705, }, r1a1: u288 { limb0: 0x6efbe1f1879cdf50c8cc3e50, limb1: 0x405b959e77d96ec753670ba8, - limb2: 0x256172f694a90b43 - } + limb2: 0x256172f694a90b43, + }, }, G2Line { r0a0: u288 { limb0: 0x7a655a088b9e434d956d29b3, limb1: 0xd8968757953325c9fc2bf54b, - limb2: 0x248c77d9b9eac25f + limb2: 0x248c77d9b9eac25f, }, r0a1: u288 { limb0: 0x520b04dc8045a2e028bec72e, limb1: 0x332013f75629ccab3d881ee, - limb2: 0x2d8653581e83e63d + limb2: 0x2d8653581e83e63d, }, r1a0: u288 { limb0: 0x4ba0c6f6e54c61c7f2abfd1f, limb1: 0x641f0ee83c94e5f43cb543e0, - limb2: 0x110f1ea1977c63ed + limb2: 0x110f1ea1977c63ed, }, r1a1: u288 { limb0: 0xe0689a4e4544b6405bfec89c, limb1: 0x42b073192ea62e7a3d456594, - limb2: 0x2b5defab459aa7 - } + limb2: 0x2b5defab459aa7, + }, }, G2Line { r0a0: u288 { limb0: 0xf33925f9b68c26fcdc41ebb5, limb1: 0x2b4e46523eacb7d3d7679ded, - limb2: 0xae9b529afa96647 + limb2: 0xae9b529afa96647, }, r0a1: u288 { limb0: 0xbbf762afa9b7ec494e9919cc, limb1: 0xde01f8208e22254629805591, - limb2: 0x2908b2c6aa755795 + limb2: 0x2908b2c6aa755795, }, r1a0: u288 { limb0: 0xe719a960b123c63298d4580b, limb1: 0x70fdc5502d31860bf5e24d91, - limb2: 0xad07726f92325dd + limb2: 0xad07726f92325dd, }, r1a1: u288 { limb0: 0xd501a4cccd1b92251e18acb8, limb1: 0x48d6dbb94067b970de5e8d62, - limb2: 0x6582f750a7528e2 - } + limb2: 0x6582f750a7528e2, + }, }, G2Line { r0a0: u288 { limb0: 0x76adc23ad83e917055379e01, limb1: 0xa37a413680cab603c29ef480, - limb2: 0x102d265010dc02a8 + limb2: 0x102d265010dc02a8, }, r0a1: u288 { limb0: 0x11ff7fd9aa3b06ea2fb2a3da, limb1: 0x8b4db920b544d2ec8815b4d4, - limb2: 0xe3a1eceb3c4e1dd + limb2: 0xe3a1eceb3c4e1dd, }, r1a0: u288 { limb0: 0x2975d22f8ff1d893ba17eec5, limb1: 0xc41fa6d39e1bd0088b641e5b, - limb2: 0x120c565ce46e6eab + limb2: 0x120c565ce46e6eab, }, r1a1: u288 { limb0: 0xbda9ce34164be7cbcbe4052a, limb1: 0x57c6bbfdcf08664b2014b07b, - limb2: 0x2cd9fb3fcb9933d - } + limb2: 0x2cd9fb3fcb9933d, + }, }, G2Line { r0a0: u288 { limb0: 0xf56e86d1ca0cd0542cbc4674, limb1: 0x11018bbc0dc8cd4b8b7ae4f, - limb2: 0x22c3cd45600ce3ab + limb2: 0x22c3cd45600ce3ab, }, r0a1: u288 { limb0: 0x33a111bcf69011ed5dfea95b, limb1: 0x2418d7b1ee6d6f32713cfe7e, - limb2: 0xd5b5c6d8c1519ed + limb2: 0xd5b5c6d8c1519ed, }, r1a0: u288 { limb0: 0x2382a6bc543a7027de67c43f, limb1: 0xa38eaf7d59bda8fb4cb3393c, - limb2: 0x1a9625a471ac3f3d + limb2: 0x1a9625a471ac3f3d, }, r1a1: u288 { limb0: 0x31460658c417f30241adaa81, limb1: 0x2d7fbd15ffc0f167b09fb12, - limb2: 0x58d2b9e0bd06b5b - } + limb2: 0x58d2b9e0bd06b5b, + }, }, G2Line { r0a0: u288 { limb0: 0x82bfa35b631169ad2f83361f, limb1: 0x99f56b3227f7e254defe5, - limb2: 0x1950c5a24028a2aa + limb2: 0x1950c5a24028a2aa, }, r0a1: u288 { limb0: 0x1337a344b6ac1fa757c934a4, limb1: 0xe33df35dfde3e6063ab1eb7, - limb2: 0x2a3cc47f276a0212 + limb2: 0x2a3cc47f276a0212, }, r1a0: u288 { limb0: 0x1245820f20882f9139470e7b, limb1: 0x7a1c9e876bf26adb41c64027, - limb2: 0xd422a9827cbf457 + limb2: 0xd422a9827cbf457, }, r1a1: u288 { limb0: 0x5f59c344aabe02ee306a7a07, limb1: 0x6ababab105f405239586317d, - limb2: 0x1fc81898cef32a96 - } + limb2: 0x1fc81898cef32a96, + }, }, G2Line { r0a0: u288 { limb0: 0x437d9858e6b05bca1aa1347d, limb1: 0xf012e5839e7f52c7d1aa4f71, - limb2: 0x74167847908a227 + limb2: 0x74167847908a227, }, r0a1: u288 { limb0: 0xa5fc5b1e5d9e423cf693e9a2, limb1: 0xf6cf7b8f14cb8bac89b003ed, - limb2: 0x2b2fbdb6f3d2c547 + limb2: 0x2b2fbdb6f3d2c547, }, r1a0: u288 { limb0: 0x4d27497878a92fcf1bf112ae, limb1: 0x6ed3fab765fd2b78dafba22, - limb2: 0x20b6a585415c0f8c + limb2: 0x20b6a585415c0f8c, }, r1a1: u288 { limb0: 0xb6046abd25f56c82783877ef, limb1: 0xdeead7b25917e53f6274438a, - limb2: 0x1ea62e9f6b9581ae - } + limb2: 0x1ea62e9f6b9581ae, + }, }, G2Line { r0a0: u288 { limb0: 0x4b45c74101e263842de438e2, limb1: 0x1de5d13076e9167da76b5deb, - limb2: 0x234a516a4d637634 + limb2: 0x234a516a4d637634, }, r0a1: u288 { limb0: 0x1a71b588bd25e5c61d88a8f3, limb1: 0x5d278614526c6bfd165be50c, - limb2: 0x1ea7a078ebbdfef0 + limb2: 0x1ea7a078ebbdfef0, }, r1a0: u288 { limb0: 0x2af591b3a6ce1a91ed970c72, limb1: 0xe2f4ee607563097d22eff760, - limb2: 0x1e3db808fe7f4be9 + limb2: 0x1e3db808fe7f4be9, }, r1a1: u288 { limb0: 0x4a65dbea8b249e4bb7d6f89, limb1: 0xb7dd9a218720ff0d1cee04bb, - limb2: 0x2ab465a3f689ce40 - } + limb2: 0x2ab465a3f689ce40, + }, }, G2Line { r0a0: u288 { limb0: 0xfb9bd919cce844113eb51a5d, limb1: 0x2415ec83cd2875963f51ceb7, - limb2: 0x262ce736e9819e0a + limb2: 0x262ce736e9819e0a, }, r0a1: u288 { limb0: 0xa007bdfcbfb07d488ef141a5, limb1: 0x7f00d5f63ca999d9a73bc5dc, - limb2: 0x25302703fc347c2b + limb2: 0x25302703fc347c2b, }, r1a0: u288 { limb0: 0x90fb618d2fc0f78331a80790, limb1: 0x37f314c2c3a4f6b372aee4ab, - limb2: 0x2254e3aa6d2d018 + limb2: 0x2254e3aa6d2d018, }, r1a1: u288 { limb0: 0x22aee155084437d36b4673f9, limb1: 0x6e5b1f8b55a312a7fc0d5fce, - limb2: 0x13ab6d95ccbcf9d7 - } + limb2: 0x13ab6d95ccbcf9d7, + }, }, G2Line { r0a0: u288 { limb0: 0x7ecd5ec39e2e9b688d7aeaa4, limb1: 0x77729bf869c5a1dc11f80ae6, - limb2: 0xa4ab4cbe035d638 + limb2: 0xa4ab4cbe035d638, }, r0a1: u288 { limb0: 0xbae7313da7df5088a5f2f220, limb1: 0x1df603e4fb6e3a1a93053fcc, - limb2: 0xfc8d5cd9811a4f5 + limb2: 0xfc8d5cd9811a4f5, }, r1a0: u288 { limb0: 0xa9643b8b51ba9c1aee411165, limb1: 0xc5eda1d47ceff78eba53c6c5, - limb2: 0x67cba27e3af918f + limb2: 0x67cba27e3af918f, }, r1a1: u288 { limb0: 0xbbdc08c72d30e0bb8b267bef, limb1: 0x9da54c8245f33163fd4c6498, - limb2: 0x1ca91c6b163400de - } + limb2: 0x1ca91c6b163400de, + }, }, G2Line { r0a0: u288 { limb0: 0x7767ffa2530e4910bbeb9d6a, limb1: 0x24280b12e75928168db8db17, - limb2: 0xda8635b51827e28 + limb2: 0xda8635b51827e28, }, r0a1: u288 { limb0: 0x9e32f2fa8a95f36f060e121c, limb1: 0xb33bbe64b4fcbc221db72502, - limb2: 0x1b3906450d00a8bb + limb2: 0x1b3906450d00a8bb, }, r1a0: u288 { limb0: 0x91ffdc9eafa80c31241d1c74, limb1: 0x2660f321f1a657b8945e98e2, - limb2: 0x1d456a7c25ac8fe7 + limb2: 0x1d456a7c25ac8fe7, }, r1a1: u288 { limb0: 0x9bfea7b3fc76917867b20020, limb1: 0x810fa5065a6b41e77ceec935, - limb2: 0x2c8a1c71efdbecbd - } + limb2: 0x2c8a1c71efdbecbd, + }, }, G2Line { r0a0: u288 { limb0: 0x2f85f2108456ccaa53ef65dc, limb1: 0x878b6f9f7563f90c378bc4fc, - limb2: 0x4c7d2e26d1b9920 + limb2: 0x4c7d2e26d1b9920, }, r0a1: u288 { limb0: 0x78296cde1a06f23d06745e73, limb1: 0x1395e39fc8ac50fcbf74feb0, - limb2: 0x15887f14dfab28b3 + limb2: 0x15887f14dfab28b3, }, r1a0: u288 { limb0: 0xf6c96ed03aec71287b573c47, limb1: 0xd82c1129917c88c39187c58, - limb2: 0x62e44c99340563e + limb2: 0x62e44c99340563e, }, r1a1: u288 { limb0: 0x9f5f8f1fc79fe0c32e31008f, limb1: 0xbdbffb831b3eddb5e2f307c2, - limb2: 0x1e47e50cc12f3f3d - } + limb2: 0x1e47e50cc12f3f3d, + }, }, G2Line { r0a0: u288 { limb0: 0x2b99ce250113516077e3138, limb1: 0xf47cd426557dc1a0a644b032, - limb2: 0x17798a574bcffa86 + limb2: 0x17798a574bcffa86, }, r0a1: u288 { limb0: 0xf0cd9b8ab6c440e787a8885d, limb1: 0x7500cbb999f2375c0874398, - limb2: 0x2507d26d47778d6a + limb2: 0x2507d26d47778d6a, }, r1a0: u288 { limb0: 0xf309174a30444cc45ef9b3ec, limb1: 0xba1c35e5c4366c3e8d630b5d, - limb2: 0x206335368b8b0d04 + limb2: 0x206335368b8b0d04, }, r1a1: u288 { limb0: 0xcb7e874047c87f0289676720, limb1: 0x13b09c1bbe23cf641b870815, - limb2: 0x2469f344ee173692 - } + limb2: 0x2469f344ee173692, + }, }, G2Line { r0a0: u288 { limb0: 0xe68e77ebab10145070499de6, limb1: 0xc608aaedf011053bc51e1912, - limb2: 0x168c3766afccee98 + limb2: 0x168c3766afccee98, }, r0a1: u288 { limb0: 0xde0798cd03867a27405533c3, limb1: 0x50d4ef22cc77987c7026e9c3, - limb2: 0x297e8506ca525c60 + limb2: 0x297e8506ca525c60, }, r1a0: u288 { limb0: 0x87e6c0226d9bf9796cec7983, limb1: 0x15024a4918324b3cad118318, - limb2: 0x102f20badd209d78 + limb2: 0x102f20badd209d78, }, r1a1: u288 { limb0: 0x7eeb6de8801808a185b01759, limb1: 0x2e8680c6484ec17243e0f2b0, - limb2: 0x1d6ca6db6ee3e50d - } + limb2: 0x1d6ca6db6ee3e50d, + }, }, G2Line { r0a0: u288 { limb0: 0xc4e37e3305c8e3f4639a8b98, limb1: 0xb9ec4ca4d7d49a9822008dbe, - limb2: 0x615661361045cf2 + limb2: 0x615661361045cf2, }, r0a1: u288 { limb0: 0xb42d676b3032557533fb7d13, limb1: 0xf3b06bc53cf3ef01a864ee38, - limb2: 0x73c33be229ad89 + limb2: 0x73c33be229ad89, }, r1a0: u288 { limb0: 0x942092185dc6ed03bdf0ab37, limb1: 0x43e304cbc5e653a44f0890b2, - limb2: 0xb11bbd65dcfe3bc + limb2: 0xb11bbd65dcfe3bc, }, r1a1: u288 { limb0: 0x9157802e363daff49f64ac5, limb1: 0x75e52d50100499365604decd, - limb2: 0x2eb339b99d930ac0 - } + limb2: 0x2eb339b99d930ac0, + }, }, ]; diff --git a/src/contracts/risc0_verifier_bn254/Scarb.toml b/src/contracts/risc0_verifier_bn254/Scarb.toml index d61c4015..1f2b0a69 100644 --- a/src/contracts/risc0_verifier_bn254/Scarb.toml +++ b/src/contracts/risc0_verifier_bn254/Scarb.toml @@ -5,7 +5,7 @@ edition = "2024_07" [dependencies] garaga = { path = "../../" } -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/contracts/risc0_verifier_bn254/src/groth16_verifier.cairo b/src/contracts/risc0_verifier_bn254/src/groth16_verifier.cairo index 17f7ed89..c801aef0 100644 --- a/src/contracts/risc0_verifier_bn254/src/groth16_verifier.cairo +++ b/src/contracts/risc0_verifier_bn254/src/groth16_verifier.cairo @@ -19,7 +19,7 @@ mod Risc0Groth16VerifierBN254 { use super::{N_FREE_PUBLIC_INPUTS, vk, ic, precomputed_lines, T}; const ECIP_OPS_CLASS_HASH: felt252 = - 0x223a0051c2e31ede1fd33db4f01bc979901fd80f3429017710176cce6aada3b; + 0x2f2a107cee3e12d1fb6070d2ae30d18c1e412efdf8ef5c8dd278fc00862f952; #[storage] struct Storage {} @@ -69,13 +69,13 @@ mod Risc0Groth16VerifierBN254 { let mut _msm_result_serialized = core::starknet::syscalls::library_call_syscall( ECIP_OPS_CLASS_HASH.try_into().unwrap(), selector!("msm_g1_u128"), - msm_calldata.span() + msm_calldata.span(), ) .unwrap_syscall(); // Finalize vk_x computation by adding the precomputed T point. let vk_x = ec_safe_add( - T, Serde::::deserialize(ref _msm_result_serialized).unwrap(), 0 + T, Serde::::deserialize(ref _msm_result_serialized).unwrap(), 0, ); // Perform the pairing check. @@ -86,7 +86,7 @@ mod Risc0Groth16VerifierBN254 { vk.alpha_beta_miller_loop_result, precomputed_lines.span(), mpcheck_hint, - small_Q + small_Q, ); if check == true { return Option::Some(journal); diff --git a/src/contracts/risc0_verifier_bn254/src/groth16_verifier_constants.cairo b/src/contracts/risc0_verifier_bn254/src/groth16_verifier_constants.cairo index d7c25cef..92fd2402 100644 --- a/src/contracts/risc0_verifier_bn254/src/groth16_verifier_constants.cairo +++ b/src/contracts/risc0_verifier_bn254/src/groth16_verifier_constants.cairo @@ -6,4104 +6,4098 @@ pub const N_FREE_PUBLIC_INPUTS: usize = 2; // CONTROL_ROOT_0 : 0x3f05edb31fb4615345ac63d411cf6d8b // CONTROL_ROOT_1 : 0x2e853b01450e34db0fa0de1b4917b8eb // BN254 CONTROL ID USED : 0x5a022e1db38457fb510bc347b30eb8f8cf3eda95587653d0eac19e1f10d164e -pub const T: G1Point = - G1Point { - x: u384 { - limb0: 0xed34354ea97abcd6f3efcd6e, - limb1: 0x1e426ccc162967384079cce0, - limb2: 0x2ec91d8fc6a29a01, - limb3: 0x0 - }, - y: u384 { - limb0: 0xdc16a7262c33a333dc0f48f2, - limb1: 0xecee79cf3a8e34bc6346a8b1, - limb2: 0xcf7590e442c5dfb, - limb3: 0x0 - } - }; // IC[0] + IC[1] * CONTROL_ROOT_0 + IC[2] * CONTROL_ROOT_1 + IC[5] * BN254_CONTROL_ID +pub const T: G1Point = G1Point { + x: u384 { + limb0: 0xed34354ea97abcd6f3efcd6e, + limb1: 0x1e426ccc162967384079cce0, + limb2: 0x2ec91d8fc6a29a01, + limb3: 0x0, + }, + y: u384 { + limb0: 0xdc16a7262c33a333dc0f48f2, + limb1: 0xecee79cf3a8e34bc6346a8b1, + limb2: 0xcf7590e442c5dfb, + limb3: 0x0, + }, +}; // IC[0] + IC[1] * CONTROL_ROOT_0 + IC[2] * CONTROL_ROOT_1 + IC[5] * BN254_CONTROL_ID -pub const vk: Groth16VerifyingKey = - Groth16VerifyingKey { - alpha_beta_miller_loop_result: E12D { - w0: u288 { - limb0: 0x38febe9f87f730fa3e5bd174, - limb1: 0xf763950637a776ef9e248435, - limb2: 0x29dc2d37c63acbda - }, - w1: u288 { - limb0: 0xa31610a97aa4e4539be919ff, - limb1: 0xfa4d4bfb72b6a3c002018e97, - limb2: 0x1968ab971e610fce - }, - w2: u288 { - limb0: 0xee6c1ce3a15313c6f9d57f7e, - limb1: 0xd37e28396640fcfe5f122aae, - limb2: 0x210d3763f7a27517 - }, - w3: u288 { - limb0: 0x7746ddac185562e756b1b92f, - limb1: 0x44f8b75638ef5a373f319cd8, - limb2: 0x51e9605db4edac6 - }, - w4: u288 { - limb0: 0xc29e0c2ac434301d671ffa56, - limb1: 0xa06f1db2d4ca4dd88f979102, - limb2: 0x1d0126fb7d721e02 - }, - w5: u288 { - limb0: 0xed2e022e10acbeb35084dc1, - limb1: 0xf9de514baee870f114669060, - limb2: 0x10889a0f300ce96c - }, - w6: u288 { - limb0: 0xeec23aadde92d2dd00e4568e, - limb1: 0x6d5b4b63667db8f10bd851ab, - limb2: 0x18f1dd15d2e64c69 - }, - w7: u288 { - limb0: 0x2131bad24ea07a033d0bf397, - limb1: 0xb6312a7f2622146be93b5950, - limb2: 0x227e61ca055f0ac3 - }, - w8: u288 { - limb0: 0xb896f30b06350f012274ebcd, - limb1: 0xd14298f13a76183170aafe08, - limb2: 0x302bfd90358d23a0 - }, - w9: u288 { - limb0: 0x679d91263798da428fa5ea62, - limb1: 0x806797d163f4df8b55ec774c, - limb2: 0x29b72d4ec063face - }, - w10: u288 { - limb0: 0x4dbef45fe0c5a14bef7c4a90, - limb1: 0xd4ae215c443d0f0768198bc6, - limb2: 0x2fcc02633e427272 - }, - w11: u288 { - limb0: 0x7308cad65773475443cfbd80, - limb1: 0x972f90a77f1a8aeece6571ff, - limb2: 0x2d3a570362a9fd7f - } - }, - gamma_g2: G2Point { - x0: u384 { - limb0: 0xf75edadd46debd5cd992f6ed, - limb1: 0x426a00665e5c4479674322d4, - limb2: 0x1800deef121f1e76, - limb3: 0x0 - }, - x1: u384 { - limb0: 0x35a9e71297e485b7aef312c2, - limb1: 0x7260bfb731fb5d25f1aa4933, - limb2: 0x198e9393920d483a, - limb3: 0x0 - }, - y0: u384 { - limb0: 0xc43d37b4ce6cc0166fa7daa, - limb1: 0x4aab71808dcb408fe3d1e769, - limb2: 0x12c85ea5db8c6deb, - limb3: 0x0 - }, - y1: u384 { - limb0: 0x70b38ef355acdadcd122975b, - limb1: 0xec9e99ad690c3395bc4b3133, - limb2: 0x90689d0585ff075, - limb3: 0x0 - } - }, - delta_g2: G2Point { - x0: u384 { - limb0: 0x69cfaa4e60401fea7f3e0333, - limb1: 0xd922dba0547057ccaae94b9d, - limb2: 0x1aa085ff28179a12, - limb3: 0x0 - }, - x1: u384 { - limb0: 0x2ccf0b4c91f42bb629f83a1c, - limb1: 0x9bee94f1f5ef907157bda481, - limb2: 0x3b03cd5effa95ac, - limb3: 0x0 - }, - y0: u384 { - limb0: 0x9e2fea1c7142df187d3fc6d3, - limb1: 0x37e867178318832d0b2d74d5, - limb2: 0x1e60f31fcbf757e8, - limb3: 0x0 - }, - y1: u384 { - limb0: 0xfb7228ca5c91d2940d030762, - limb1: 0xf6490846d518c9aea868366e, - limb2: 0x110c10134f200b19, - limb3: 0x0 - } - } - }; +pub const vk: Groth16VerifyingKey = Groth16VerifyingKey { + alpha_beta_miller_loop_result: E12D { + w0: u288 { + limb0: 0x38febe9f87f730fa3e5bd174, + limb1: 0xf763950637a776ef9e248435, + limb2: 0x29dc2d37c63acbda, + }, + w1: u288 { + limb0: 0xa31610a97aa4e4539be919ff, + limb1: 0xfa4d4bfb72b6a3c002018e97, + limb2: 0x1968ab971e610fce, + }, + w2: u288 { + limb0: 0xee6c1ce3a15313c6f9d57f7e, + limb1: 0xd37e28396640fcfe5f122aae, + limb2: 0x210d3763f7a27517, + }, + w3: u288 { + limb0: 0x7746ddac185562e756b1b92f, + limb1: 0x44f8b75638ef5a373f319cd8, + limb2: 0x51e9605db4edac6, + }, + w4: u288 { + limb0: 0xc29e0c2ac434301d671ffa56, + limb1: 0xa06f1db2d4ca4dd88f979102, + limb2: 0x1d0126fb7d721e02, + }, + w5: u288 { + limb0: 0xed2e022e10acbeb35084dc1, + limb1: 0xf9de514baee870f114669060, + limb2: 0x10889a0f300ce96c, + }, + w6: u288 { + limb0: 0xeec23aadde92d2dd00e4568e, + limb1: 0x6d5b4b63667db8f10bd851ab, + limb2: 0x18f1dd15d2e64c69, + }, + w7: u288 { + limb0: 0x2131bad24ea07a033d0bf397, + limb1: 0xb6312a7f2622146be93b5950, + limb2: 0x227e61ca055f0ac3, + }, + w8: u288 { + limb0: 0xb896f30b06350f012274ebcd, + limb1: 0xd14298f13a76183170aafe08, + limb2: 0x302bfd90358d23a0, + }, + w9: u288 { + limb0: 0x679d91263798da428fa5ea62, + limb1: 0x806797d163f4df8b55ec774c, + limb2: 0x29b72d4ec063face, + }, + w10: u288 { + limb0: 0x4dbef45fe0c5a14bef7c4a90, + limb1: 0xd4ae215c443d0f0768198bc6, + limb2: 0x2fcc02633e427272, + }, + w11: u288 { + limb0: 0x7308cad65773475443cfbd80, + limb1: 0x972f90a77f1a8aeece6571ff, + limb2: 0x2d3a570362a9fd7f, + }, + }, + gamma_g2: G2Point { + x0: u384 { + limb0: 0xf75edadd46debd5cd992f6ed, + limb1: 0x426a00665e5c4479674322d4, + limb2: 0x1800deef121f1e76, + limb3: 0x0, + }, + x1: u384 { + limb0: 0x35a9e71297e485b7aef312c2, + limb1: 0x7260bfb731fb5d25f1aa4933, + limb2: 0x198e9393920d483a, + limb3: 0x0, + }, + y0: u384 { + limb0: 0xc43d37b4ce6cc0166fa7daa, + limb1: 0x4aab71808dcb408fe3d1e769, + limb2: 0x12c85ea5db8c6deb, + limb3: 0x0, + }, + y1: u384 { + limb0: 0x70b38ef355acdadcd122975b, + limb1: 0xec9e99ad690c3395bc4b3133, + limb2: 0x90689d0585ff075, + limb3: 0x0, + }, + }, + delta_g2: G2Point { + x0: u384 { + limb0: 0x69cfaa4e60401fea7f3e0333, + limb1: 0xd922dba0547057ccaae94b9d, + limb2: 0x1aa085ff28179a12, + limb3: 0x0, + }, + x1: u384 { + limb0: 0x2ccf0b4c91f42bb629f83a1c, + limb1: 0x9bee94f1f5ef907157bda481, + limb2: 0x3b03cd5effa95ac, + limb3: 0x0, + }, + y0: u384 { + limb0: 0x9e2fea1c7142df187d3fc6d3, + limb1: 0x37e867178318832d0b2d74d5, + limb2: 0x1e60f31fcbf757e8, + limb3: 0x0, + }, + y1: u384 { + limb0: 0xfb7228ca5c91d2940d030762, + limb1: 0xf6490846d518c9aea868366e, + limb2: 0x110c10134f200b19, + limb3: 0x0, + }, + }, +}; -pub const ic: [ - G1Point - ; 6] = [ +pub const ic: [G1Point; 6] = [ G1Point { x: u384 { limb0: 0x4d553505739d0f5d65dc3be4, limb1: 0x32a9061a082c15dd1d61aa9c, limb2: 0x12ac9a25dcd5e1a8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd30f3eee2b23c60ee980acd4, limb1: 0xd91731911c898569106ff5a2, limb2: 0x25aa744581ebe7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x4ccc3c8769d883f688a1423f, limb1: 0xf292fae2036e057be5429411, limb2: 0x707b920bc978c02, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc203383782a4650787ff6642, limb1: 0xf7bc357bf63481acd2d55555, limb2: 0x2e32a094b7589554, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x48e336f4fd974644850fc347, limb1: 0x3e249751853f961511011c71, limb2: 0xbca36e2cbe6394b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6db8f7f409c153b1fcdf9b8b, limb1: 0x3729fa3d68714e2a8435d4fa, limb2: 0x2ede7c9acf48cf3a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xe2c6b6fb5a25f9112e04f2a7, limb1: 0x7c091cc2aaf201e488cbacc3, limb2: 0x1b8af999dbfbb392, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1a60157f3e9cf04f679cccd6, limb1: 0x5722949f192a81c850d586d8, limb2: 0x2b91a26aa92e1b6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1dcefeddd06eda5a076ccd0d, limb1: 0x8ac1750bdfd5a7615f002d4a, limb2: 0x2b5f494ed674235b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8f14f912c5e71665b2ad5e82, limb1: 0xcbba817fcbb9a863b8a76ff8, limb2: 0x2fe520ad2020aab9, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2fce3c25d5940320b1c4d493, limb1: 0x3666843cde4e82e869ba525, limb2: 0xf1c3c0d5d9da0fa, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3608f68287aa01bd0b69e809, limb1: 0xfe8c0d07b307482d8bc8bb2f, limb2: 0x214bfcff74f425f6, - limb3: 0x0 - } + limb3: 0x0, + }, }, ]; -pub const precomputed_lines: [ - G2Line - ; 176] = [ +pub const precomputed_lines: [G2Line; 176] = [ G2Line { r0a0: u288 { limb0: 0x4d347301094edcbfa224d3d5, limb1: 0x98005e68cacde68a193b54e6, - limb2: 0x237db2935c4432bc + limb2: 0x237db2935c4432bc, }, r0a1: u288 { limb0: 0x6b4ba735fba44e801d415637, limb1: 0x707c3ec1809ae9bafafa05dd, - limb2: 0x124077e14a7d826a + limb2: 0x124077e14a7d826a, }, r1a0: u288 { limb0: 0x49a8dc1dd6e067932b6a7e0d, limb1: 0x7676d0000961488f8fbce033, - limb2: 0x3b7178c857630da + limb2: 0x3b7178c857630da, }, r1a1: u288 { limb0: 0x98c81278efe1e96b86397652, limb1: 0xe3520b9dfa601ead6f0bf9cd, - limb2: 0x2b17c2b12c26fdd0 - } + limb2: 0x2b17c2b12c26fdd0, + }, }, G2Line { r0a0: u288 { limb0: 0xc1a48e9e12ff1dbf61883912, limb1: 0xaee1724a5332ee74b8ed9451, - limb2: 0xfbb1e993e3695f0 + limb2: 0xfbb1e993e3695f0, }, r0a1: u288 { limb0: 0x7acaee831d920baf2a1bfde0, limb1: 0x4cf9ef8c77ec7a0195bee19d, - limb2: 0x25757a99d16aa21c + limb2: 0x25757a99d16aa21c, }, r1a0: u288 { limb0: 0xe5847602f3a9790bf049b947, limb1: 0x934e2813cdc5d033f879cf93, - limb2: 0x21249e515f664d4c + limb2: 0x21249e515f664d4c, }, r1a1: u288 { limb0: 0xf19496daaae3309c391d0383, limb1: 0x408eeae0c5d549305a377fd8, - limb2: 0x21282298fede4ac4 - } + limb2: 0x21282298fede4ac4, + }, }, G2Line { r0a0: u288 { limb0: 0x1b3d578c32d1af5736582972, limb1: 0x204fe74db6b371d37e4615ab, - limb2: 0xce69bdf84ed6d6d + limb2: 0xce69bdf84ed6d6d, }, r0a1: u288 { limb0: 0xfd262357407c3d96bb3ba710, limb1: 0x47d406f500e66ea29c8764b3, - limb2: 0x1e23d69196b41dbf + limb2: 0x1e23d69196b41dbf, }, r1a0: u288 { limb0: 0x1ec8ee6f65402483ad127f3a, limb1: 0x41d975b678200fce07c48a5e, - limb2: 0x2cad36e65bbb6f4f + limb2: 0x2cad36e65bbb6f4f, }, r1a1: u288 { limb0: 0xcfa9b8144c3ea2ab524386f5, limb1: 0xd4fe3a18872139b0287570c3, - limb2: 0x54c8bc1b50aa258 - } + limb2: 0x54c8bc1b50aa258, + }, }, G2Line { r0a0: u288 { limb0: 0xb5ee22ba52a7ed0c533b7173, limb1: 0xbfa13123614ecf9c4853249b, - limb2: 0x6567a7f6972b7bb + limb2: 0x6567a7f6972b7bb, }, r0a1: u288 { limb0: 0xcf422f26ac76a450359f819e, limb1: 0xc42d7517ae6f59453eaf32c7, - limb2: 0x899cb1e339f7582 + limb2: 0x899cb1e339f7582, }, r1a0: u288 { limb0: 0x9f287f4842d688d7afd9cd67, limb1: 0x30af75417670de33dfa95eda, - limb2: 0x1121d4ca1c2cab36 + limb2: 0x1121d4ca1c2cab36, }, r1a1: u288 { limb0: 0x7c4c55c27110f2c9a228f7d8, limb1: 0x8f14f6c3a2e2c9d74b347bfe, - limb2: 0x83ef274ba7913a5 - } + limb2: 0x83ef274ba7913a5, + }, }, G2Line { r0a0: u288 { limb0: 0xa6cd3bef29216e5776f4c435, limb1: 0x96ed36c2e4e69e8de93d63f, - limb2: 0x20a92fd9a2fb0a39 + limb2: 0x20a92fd9a2fb0a39, }, r0a1: u288 { limb0: 0xeda6dc0a1e8e8067ae60ff67, limb1: 0x6b56562a0994de5c01c288f3, - limb2: 0xaeed3d90fc6fe0d + limb2: 0xaeed3d90fc6fe0d, }, r1a0: u288 { limb0: 0x82ed548a4877130ae8334400, limb1: 0x25021da2b3bb88299f079afd, - limb2: 0xf3fb02181cb52dd + limb2: 0xf3fb02181cb52dd, }, r1a1: u288 { limb0: 0x76dd33b2913d5b7a9f5ff9c4, limb1: 0x77c15ad5bbac0f2d3d49eab8, - limb2: 0xf3c2bd9e2535565 - } + limb2: 0xf3c2bd9e2535565, + }, }, G2Line { r0a0: u288 { limb0: 0xf9c98b4467592a57fca1c44f, limb1: 0x22c8464befc62af74bd7e13e, - limb2: 0xf6fe51a099cedd + limb2: 0xf6fe51a099cedd, }, r0a1: u288 { limb0: 0x424a207247f0e4c27f38a1ae, limb1: 0xc0d1158c6df8f6ffa8d6a76e, - limb2: 0xe16f63bee6733e5 + limb2: 0xe16f63bee6733e5, }, r1a0: u288 { limb0: 0x747d2a41af96d81fb2585f8f, limb1: 0x1bedd2f049ce086610aca319, - limb2: 0x18e887f968ab29d1 + limb2: 0x18e887f968ab29d1, }, r1a1: u288 { limb0: 0x6f6eae477c15633e163e3366, limb1: 0x3d0cca9a15ddc9f899d906bf, - limb2: 0x1a5066113f22d767 - } + limb2: 0x1a5066113f22d767, + }, }, G2Line { r0a0: u288 { limb0: 0xfc23a674d089e9cfdefb1db8, limb1: 0x9ddfd61d289b65a9b4254476, - limb2: 0x1e2f561324ef4447 + limb2: 0x1e2f561324ef4447, }, r0a1: u288 { limb0: 0xf67a6a9e31f6975b220642ea, limb1: 0xccd852893796296e4d1ed330, - limb2: 0x94ff1987d19b62 + limb2: 0x94ff1987d19b62, }, r1a0: u288 { limb0: 0x360c2a5aca59996d24cc1947, limb1: 0x66c2d7d0d176a3bc53f386e8, - limb2: 0x2cfcc62a17fbeecb + limb2: 0x2cfcc62a17fbeecb, }, r1a1: u288 { limb0: 0x2ddc73389dd9a9e34168d8a9, limb1: 0xae9afc57944748b835cbda0f, - limb2: 0x12f0a1f8cf564067 - } + limb2: 0x12f0a1f8cf564067, + }, }, G2Line { r0a0: u288 { limb0: 0x963c90609635263045a730, limb1: 0x25987316828b8c528c8dc05b, - limb2: 0x1a52af70953e2d93 + limb2: 0x1a52af70953e2d93, }, r0a1: u288 { limb0: 0x5cb801def7d800e0a2dcdc65, limb1: 0x7f06086a5846b035d7144e65, - limb2: 0x264229f1b248db7a + limb2: 0x264229f1b248db7a, }, r1a0: u288 { limb0: 0x1c8fe795c6a55dfe7abf119e, limb1: 0x98b10fc53fdbfce11d7827a0, - limb2: 0x13551fa74e7af913 + limb2: 0x13551fa74e7af913, }, r1a1: u288 { limb0: 0xdde6f69885b07fe44d932a52, limb1: 0x9819b585503c5540fa115b13, - limb2: 0x1f4507e84f016add - } + limb2: 0x1f4507e84f016add, + }, }, G2Line { r0a0: u288 { limb0: 0x9c963c4bdade6ce3d460b077, limb1: 0x1738311feefc76f565e34e8a, - limb2: 0x1aae0d6c9e9888ad + limb2: 0x1aae0d6c9e9888ad, }, r0a1: u288 { limb0: 0x9272581fdf80b045c9c3f0a, limb1: 0x3946807b0756e87666798edb, - limb2: 0x2bf6eeda2d8be192 + limb2: 0x2bf6eeda2d8be192, }, r1a0: u288 { limb0: 0x3e957661b35995552fb475de, limb1: 0xd8076fa48f93f09d8128a2a8, - limb2: 0xb6f87c3f00a6fcf + limb2: 0xb6f87c3f00a6fcf, }, r1a1: u288 { limb0: 0xcf17d6cd2101301246a8f264, limb1: 0x514d04ad989b91e697aa5a0e, - limb2: 0x175f17bbd0ad1219 - } + limb2: 0x175f17bbd0ad1219, + }, }, G2Line { r0a0: u288 { limb0: 0x894bc18cc70ca1987e3b8f9f, limb1: 0xd4bfa535181f0f8659b063e3, - limb2: 0x19168d524164f463 + limb2: 0x19168d524164f463, }, r0a1: u288 { limb0: 0x850ee8d0e9b58b82719a6e92, limb1: 0x9fc4eb75cbb027c137d48341, - limb2: 0x2b2f8a383d944fa0 + limb2: 0x2b2f8a383d944fa0, }, r1a0: u288 { limb0: 0x5451c8974a709483c2b07fbd, limb1: 0xd7e09837b8a2a3b78e7fe525, - limb2: 0x347d96be5e7fa31 + limb2: 0x347d96be5e7fa31, }, r1a1: u288 { limb0: 0x823f2ba2743ee254e4c18a1e, limb1: 0x6a61af5db035c443ed0f8172, - limb2: 0x1e840eee275d1063 - } + limb2: 0x1e840eee275d1063, + }, }, G2Line { r0a0: u288 { limb0: 0x9cdb3f1da9cc795a6dd71925, limb1: 0xa6b72d99ea73e7ec479df7de, - limb2: 0x2a0d16e5af0f972a + limb2: 0x2a0d16e5af0f972a, }, r0a1: u288 { limb0: 0x185981f7439b3abe06b2f010, limb1: 0x4afb801363c27041866471a0, - limb2: 0x21a33b58bc0ebc30 + limb2: 0x21a33b58bc0ebc30, }, r1a0: u288 { limb0: 0xd9c7c736ca2b67b6189ccfb9, limb1: 0x8dd913714e0c8c9468564883, - limb2: 0x25e9300604680744 + limb2: 0x25e9300604680744, }, r1a1: u288 { limb0: 0xd2f83c58abf29fed21f8ac20, limb1: 0xf99df3b0aafc57db31256a85, - limb2: 0x2ecdc1f4735da2e6 - } + limb2: 0x2ecdc1f4735da2e6, + }, }, G2Line { r0a0: u288 { limb0: 0x3890eaf1d657d63d18eac82d, limb1: 0x962ede9002cf9e7fead8ac71, - limb2: 0xa41c746d7a471e2 + limb2: 0xa41c746d7a471e2, }, r0a1: u288 { limb0: 0xdd8017fb853f2df76c7dad20, limb1: 0x8ee50f79d3a8abfd3ccd4c1a, - limb2: 0x7f77df5036f64d2 + limb2: 0x7f77df5036f64d2, }, r1a0: u288 { limb0: 0x251f40aedb747d8748c907aa, limb1: 0xaff11c216293b73b2d2a53aa, - limb2: 0x2f94413282c71d76 + limb2: 0x2f94413282c71d76, }, r1a1: u288 { limb0: 0x255cffb680c8482747fe7934, limb1: 0xc9b47382882ce9a2171f615c, - limb2: 0x1e12dbcbfacba1a9 - } + limb2: 0x1e12dbcbfacba1a9, + }, }, G2Line { r0a0: u288 { limb0: 0x18d630598e58bb5d0102b30e, limb1: 0x9767e27b02a8da37411a2787, - limb2: 0x100a541662b9cd7c + limb2: 0x100a541662b9cd7c, }, r0a1: u288 { limb0: 0x4ca7313df2e168e7e5ea70, limb1: 0xd49cce6abd50b574f31c2d72, - limb2: 0x78a2afbf72317e7 + limb2: 0x78a2afbf72317e7, }, r1a0: u288 { limb0: 0x6d99388b0a1a67d6b48d87e0, limb1: 0x1d8711d321a193be3333bc68, - limb2: 0x27e76de53a010ce1 + limb2: 0x27e76de53a010ce1, }, r1a1: u288 { limb0: 0x77341bf4e1605e982fa50abd, limb1: 0xc5cf10db170b4feaaf5f8f1b, - limb2: 0x762adef02274807 - } + limb2: 0x762adef02274807, + }, }, G2Line { r0a0: u288 { limb0: 0x7645fffb343e10e1e8748cb8, limb1: 0xb7ee813d501408d841ec8e65, - limb2: 0xe90c74a2dd6516e + limb2: 0xe90c74a2dd6516e, }, r0a1: u288 { limb0: 0x1491337b6e2af58a979eff05, limb1: 0x41a56da5e78ec6d2aedcfb3c, - limb2: 0x234444f637b1fd1a + limb2: 0x234444f637b1fd1a, }, r1a0: u288 { limb0: 0x7f6df98a0ef48fea6a90a86d, limb1: 0x67fe1fde059c8fcc5f4d2e06, - limb2: 0x2ba05dbf310dbde7 + limb2: 0x2ba05dbf310dbde7, }, r1a1: u288 { limb0: 0xa0c862d762e402c3454d02b2, limb1: 0x1b96d5c6695fe143c37a671e, - limb2: 0x24af700c84c87b54 - } + limb2: 0x24af700c84c87b54, + }, }, G2Line { r0a0: u288 { limb0: 0xa137b991ba9048aee9fa0bc7, limb1: 0xf5433785c186cd1100ab6b80, - limb2: 0xab519fd7cf8e7f9 + limb2: 0xab519fd7cf8e7f9, }, r0a1: u288 { limb0: 0x90832f45d3398c60aa1a74e2, limb1: 0x17f7ac209532723f22a344b, - limb2: 0x23db979f8481c5f + limb2: 0x23db979f8481c5f, }, r1a0: u288 { limb0: 0x723b0e23c2808a5d1ea6b11d, limb1: 0x3030030d26411f84235c3af5, - limb2: 0x122e78da5509eddb + limb2: 0x122e78da5509eddb, }, r1a1: u288 { limb0: 0xf1718c1e21a9bc3ec822f319, limb1: 0xf5ee6dfa3bd3272b2f09f0c7, - limb2: 0x5a29c1e27616b34 - } + limb2: 0x5a29c1e27616b34, + }, }, G2Line { r0a0: u288 { limb0: 0x1af83b0d07aaec86d9134a28, limb1: 0x77bdb3e9aa87662797059a9c, - limb2: 0x273c84364e3713d2 + limb2: 0x273c84364e3713d2, }, r0a1: u288 { limb0: 0xcaf5ba9785faf45cfc296a4a, limb1: 0x3163afd1009dbadd9c5a70bd, - limb2: 0x1aaea45eb51c82ce + limb2: 0x1aaea45eb51c82ce, }, r1a0: u288 { limb0: 0x5aba52ae705ce1af25e673aa, limb1: 0x2dc8896c9ff279f6655024ef, - limb2: 0x300f0500b7b0b0d3 + limb2: 0x300f0500b7b0b0d3, }, r1a1: u288 { limb0: 0x67f1e1afa662ba8900d60c26, limb1: 0xf93114d70a2a3321729a7d2c, - limb2: 0x1cc57b64b47a626d - } + limb2: 0x1cc57b64b47a626d, + }, }, G2Line { r0a0: u288 { limb0: 0xbc1ede480873fceb8739511e, limb1: 0xd5a60533bd0ce7869efbc15, - limb2: 0x182c17d793eba74d + limb2: 0x182c17d793eba74d, }, r0a1: u288 { limb0: 0x83bf38d91876ad8999516bc2, limb1: 0x7756322ea3dc079289d51f2d, - limb2: 0x1d0f6156a89a4244 + limb2: 0x1d0f6156a89a4244, }, r1a0: u288 { limb0: 0x6aba652f197be8f99707b88c, limb1: 0xbf94286c245794ea0f562f32, - limb2: 0x25a358967a2ca81d + limb2: 0x25a358967a2ca81d, }, r1a1: u288 { limb0: 0xc028cbff48c01433e8b23568, limb1: 0xd2e791f5772ed43b056beba1, - limb2: 0x83eb38dff4960e - } + limb2: 0x83eb38dff4960e, + }, }, G2Line { r0a0: u288 { limb0: 0x5fa7b4cb5791e57c2cf9780e, limb1: 0xf5062eb2c532788091de2118, - limb2: 0xc38262afe4f4eac + limb2: 0xc38262afe4f4eac, }, r0a1: u288 { limb0: 0x6560785dd69d5a9a4917aa3b, limb1: 0x6240334397d0134760854bb1, - limb2: 0x2d7c0dd3e38d8926 + limb2: 0x2d7c0dd3e38d8926, }, r1a0: u288 { limb0: 0xf3c91f209577810e63cbdf2f, limb1: 0xa8acef680c1be04d12d702c8, - limb2: 0xa312088d3b32c07 + limb2: 0xa312088d3b32c07, }, r1a1: u288 { limb0: 0x96aa4853754a05becdc1bf51, limb1: 0xa6cc53c2c1b1d383517e44b4, - limb2: 0x1f03c17658e08a24 - } + limb2: 0x1f03c17658e08a24, + }, }, G2Line { r0a0: u288 { limb0: 0xc2a2b787d8e718e81970db80, limb1: 0x5372abeaf56844dee60d6198, - limb2: 0x131210153a2217d6 + limb2: 0x131210153a2217d6, }, r0a1: u288 { limb0: 0x70421980313e09a8a0e5a82d, limb1: 0xf75ca1f68f4b8deafb1d3b48, - limb2: 0x102113c9b6feb035 + limb2: 0x102113c9b6feb035, }, r1a0: u288 { limb0: 0x4654c11d73bda84873de9b86, limb1: 0xa67601bca2e595339833191a, - limb2: 0x1c2b76e439adc8cc + limb2: 0x1c2b76e439adc8cc, }, r1a1: u288 { limb0: 0x9c53a48cc66c1f4d644105f2, limb1: 0xa17a18867557d96fb7c2f849, - limb2: 0x1deb99799bd8b63a - } + limb2: 0x1deb99799bd8b63a, + }, }, G2Line { r0a0: u288 { limb0: 0xc32026c56341297fa080790c, limb1: 0xe23ad2ff283399133533b31f, - limb2: 0xa6860f5c968f7ad + limb2: 0xa6860f5c968f7ad, }, r0a1: u288 { limb0: 0x2966cf259dc612c6a4d8957d, limb1: 0xfba87ea86054f3db5774a08f, - limb2: 0xc73408b6a646780 + limb2: 0xc73408b6a646780, }, r1a0: u288 { limb0: 0x6272ce5976d8eeba08f66b48, limb1: 0x7dfbd78fa06509604c0cec8d, - limb2: 0x181ec0eaa6660e45 + limb2: 0x181ec0eaa6660e45, }, r1a1: u288 { limb0: 0x48af37c1a2343555fbf8a357, limb1: 0xa7b5e1e20e64d6a9a9ce8e61, - limb2: 0x1147dcea39a47abd - } + limb2: 0x1147dcea39a47abd, + }, }, G2Line { r0a0: u288 { limb0: 0x489a41fc4c066a737acf2b80, limb1: 0x51199b4ef477e0976b9b663d, - limb2: 0x104f756144a01a99 + limb2: 0x104f756144a01a99, }, r0a1: u288 { limb0: 0xce50cee9668a849dfec24567, limb1: 0x932eabf096a077bd22814967, - limb2: 0x16210f0edb8ae837 + limb2: 0x16210f0edb8ae837, }, r1a0: u288 { limb0: 0xb1ea43eab76757bea3ee7e67, limb1: 0x859be02d0e28899de38a8bbb, - limb2: 0x69978ccc2f4f110 + limb2: 0x69978ccc2f4f110, }, r1a1: u288 { limb0: 0xdfe4fd2c66e7f65bd840d459, limb1: 0xf950d096dbee0e978b146cce, - limb2: 0x2960c5fa3fb2a10 - } + limb2: 0x2960c5fa3fb2a10, + }, }, G2Line { r0a0: u288 { limb0: 0xb58f6d75132f93ba48631e07, limb1: 0xe8ae893990c83c6e393d1303, - limb2: 0x88809ba75ebe6c8 + limb2: 0x88809ba75ebe6c8, }, r0a1: u288 { limb0: 0xc3a2f92df3e3ae5fe1783de6, limb1: 0x2778c4ec8a8c11311a178bd, - limb2: 0x24f1ee4b51cbf5fd + limb2: 0x24f1ee4b51cbf5fd, }, r1a0: u288 { limb0: 0xfbef4674342d73fb2363ab57, limb1: 0x840f6f7c0db4f93e82f3523, - limb2: 0x1101e37593b6ed96 + limb2: 0x1101e37593b6ed96, }, r1a1: u288 { limb0: 0xd263a20f18fd8a530227c627, limb1: 0x7bf28bc9f5fc2d0b2585cac4, - limb2: 0x2e273774ae1e6e0c - } + limb2: 0x2e273774ae1e6e0c, + }, }, G2Line { r0a0: u288 { limb0: 0x4033c51e6e469818521cd2ae, limb1: 0xb71a4629a4696b2759f8e19e, - limb2: 0x4f5744e29c1eb30 + limb2: 0x4f5744e29c1eb30, }, r0a1: u288 { limb0: 0xa4f47bbc60cb0649dca1c772, limb1: 0x835f427106f4a6b897c6cf23, - limb2: 0x17ca6ea4855756bb + limb2: 0x17ca6ea4855756bb, }, r1a0: u288 { limb0: 0x7f844a35c7eeadf511e67e57, limb1: 0x8bb54fb0b3688cac8860f10, - limb2: 0x1c7258499a6bbebf + limb2: 0x1c7258499a6bbebf, }, r1a1: u288 { limb0: 0x10d269c1779f96946e518246, limb1: 0xce6fcef6676d0dacd395dc1a, - limb2: 0x2cf4c6ae1b55d87d - } + limb2: 0x2cf4c6ae1b55d87d, + }, }, G2Line { r0a0: u288 { limb0: 0x59726c9960acdae933f6c2e, limb1: 0xcb27824cfdc7f2a2953a7b46, - limb2: 0xab09e310409c7dc + limb2: 0xab09e310409c7dc, }, r0a1: u288 { limb0: 0xda7641d0a2b62e75f06e7a4b, limb1: 0xbdae979156600097567aeb5b, - limb2: 0x2811e7f67e12b969 + limb2: 0x2811e7f67e12b969, }, r1a0: u288 { limb0: 0x57d4f4acd0d896441365692d, limb1: 0x26d8fccbf118b66792fd5f15, - limb2: 0x552fe6247735d8b + limb2: 0x552fe6247735d8b, }, r1a1: u288 { limb0: 0x94b8e030cbd114193e677c50, limb1: 0x372b06a0c3c60fb7d11b850e, - limb2: 0x16f002c5d6018b19 - } + limb2: 0x16f002c5d6018b19, + }, }, G2Line { r0a0: u288 { limb0: 0xab74a6bae36b17b1d2cc1081, limb1: 0x904cf03d9d30b1fe9dc71374, - limb2: 0x14ffdd55685b7d82 + limb2: 0x14ffdd55685b7d82, }, r0a1: u288 { limb0: 0x277f7180b7cf33feded1583c, limb1: 0xc029c3968a75b612303c4298, - limb2: 0x20ef4ba03605cdc6 + limb2: 0x20ef4ba03605cdc6, }, r1a0: u288 { limb0: 0xd5a7a27c1baba3791ab18957, limb1: 0x973730213d5d70d3e62d6db, - limb2: 0x24ca121c566eb857 + limb2: 0x24ca121c566eb857, }, r1a1: u288 { limb0: 0x9f4c2dea0492f548ae7d9e93, limb1: 0xe584b6b251a5227c70c5188, - limb2: 0x22bcecac2bd5e51b - } + limb2: 0x22bcecac2bd5e51b, + }, }, G2Line { r0a0: u288 { limb0: 0x340c82974f7221a53fc2f3ac, limb1: 0x7146f18cd591d423874996e7, - limb2: 0xa6d154791056f46 + limb2: 0xa6d154791056f46, }, r0a1: u288 { limb0: 0x70894ea6418890d53b5ee12a, limb1: 0x882290cb53b795b0e7c8c208, - limb2: 0x1b5777dc18b2899b + limb2: 0x1b5777dc18b2899b, }, r1a0: u288 { limb0: 0x99a0e528d582006a626206b6, limb1: 0xb1cf825d80e199c5c9c795b5, - limb2: 0x2a97495b032f0542 + limb2: 0x2a97495b032f0542, }, r1a1: u288 { limb0: 0xc7cf5b455d6f3ba73debeba5, limb1: 0xbb0a01235687223b7b71d0e5, - limb2: 0x250024ac44c35e3f - } + limb2: 0x250024ac44c35e3f, + }, }, G2Line { r0a0: u288 { limb0: 0x265d8d504786c9a9d2c2dd1d, limb1: 0xcddddab1a3af6fa901f267d3, - limb2: 0x1d5b892bac643be1 + limb2: 0x1d5b892bac643be1, }, r0a1: u288 { limb0: 0xd200f75804e773fd94a69bff, limb1: 0x5dcaa5c6bfcc08323700dd54, - limb2: 0x3b045d584b9e34e + limb2: 0x3b045d584b9e34e, }, r1a0: u288 { limb0: 0x364fc9381fdcfc87f48025fd, limb1: 0x65d53f242d37bf7d6a422db4, - limb2: 0x5fc799e0624fbc5 + limb2: 0x5fc799e0624fbc5, }, r1a1: u288 { limb0: 0x40494a8cfe5af05b211a65c8, limb1: 0x436bd2d7c12a4599cd65d28c, - limb2: 0x14329c50f1378c82 - } + limb2: 0x14329c50f1378c82, + }, }, G2Line { r0a0: u288 { limb0: 0xa97c95148b4c5d08de3552aa, limb1: 0x74fd19a4764ed2db2b947c9b, - limb2: 0x1f6645462132403f + limb2: 0x1f6645462132403f, }, r0a1: u288 { limb0: 0xcccb21d1679b6f037f5c6862, limb1: 0x3796ff849627eae6d1373566, - limb2: 0xf569739c4b0bf20 + limb2: 0xf569739c4b0bf20, }, r1a0: u288 { limb0: 0x3a69197d08132714a2d8cde9, limb1: 0xae3e914eb52fc9f866335adb, - limb2: 0x22d97cabaecd8977 + limb2: 0x22d97cabaecd8977, }, r1a1: u288 { limb0: 0x59a5a98b2a4b546d9fdf220d, limb1: 0x8158806a0c4d6fc1bfc00dac, - limb2: 0x1e8455c351c421dc - } + limb2: 0x1e8455c351c421dc, + }, }, G2Line { r0a0: u288 { limb0: 0xccf841cf5c1cf8f4a0485e28, limb1: 0xb5077662d0ce9d755af1446b, - limb2: 0x2b08658e9d5ba5cb + limb2: 0x2b08658e9d5ba5cb, }, r0a1: u288 { limb0: 0x6ce62184a15685babd77f27f, limb1: 0x5ff9bb7d74505b0542578299, - limb2: 0x7244563488bab2 + limb2: 0x7244563488bab2, }, r1a0: u288 { limb0: 0xec778048d344ac71275d961d, limb1: 0x1273984019753000ad890d33, - limb2: 0x27c2855e60d361bd + limb2: 0x27c2855e60d361bd, }, r1a1: u288 { limb0: 0xa7a0071e22af2f3a79a12da, limb1: 0xc84a6fd41c20759ff6ff169a, - limb2: 0x23e7ef2a308e49d1 - } + limb2: 0x23e7ef2a308e49d1, + }, }, G2Line { r0a0: u288 { limb0: 0xd85b572f6e94368559bc9922, limb1: 0x806d660df4c09f298ca99a8c, - limb2: 0xb5295ba1e28bea6 + limb2: 0xb5295ba1e28bea6, }, r0a1: u288 { limb0: 0x3309d566a80c2e9fe64a9417, limb1: 0x5cb56c0e22896cf7b425f4f3, - limb2: 0x2194637a888395df + limb2: 0x2194637a888395df, }, r1a0: u288 { limb0: 0x71882225419d48d5cdfd106f, limb1: 0x83e49ccde853b0d80d85954f, - limb2: 0x95abeffbab1f6f1 + limb2: 0x95abeffbab1f6f1, }, r1a1: u288 { limb0: 0xa56f499db7c21d64a6f4cde4, limb1: 0xfa807931f439377fded2c667, - limb2: 0x722a1ecfd5f676a - } + limb2: 0x722a1ecfd5f676a, + }, }, G2Line { r0a0: u288 { limb0: 0x7105024c431a33683d9d0b9d, limb1: 0x12e23637b641ab0e5b322ad8, - limb2: 0x2918e9e08c764c28 + limb2: 0x2918e9e08c764c28, }, r0a1: u288 { limb0: 0x26384979d1f5417e451aeabf, limb1: 0xacfb499e362291d0b053bbf6, - limb2: 0x2a6ad1a1f7b04ef6 + limb2: 0x2a6ad1a1f7b04ef6, }, r1a0: u288 { limb0: 0xba4db515be70c384080fc9f9, limb1: 0x5a983a6afa9cb830fa5b66e6, - limb2: 0x8cc1fa494726a0c + limb2: 0x8cc1fa494726a0c, }, r1a1: u288 { limb0: 0x59c9af9399ed004284eb6105, limb1: 0xef37f66b058b4c971d9c96b0, - limb2: 0x2c1839afde65bafa - } + limb2: 0x2c1839afde65bafa, + }, }, G2Line { r0a0: u288 { limb0: 0x3b40bc013ebda1f6759eb1c5, limb1: 0x41b1c4994f7006c3bfc44225, - limb2: 0x1104e881eeac0f26 + limb2: 0x1104e881eeac0f26, }, r0a1: u288 { limb0: 0x1a0a3837d2925b22b29de16, limb1: 0x7f161412b67cb737308ee1e4, - limb2: 0x2eca703d4f685eca + limb2: 0x2eca703d4f685eca, }, r1a0: u288 { limb0: 0x791ea927b5f79fedbd63a830, limb1: 0xa43daf5bad2feef86dc7c3e5, - limb2: 0x11f25ca14404e535 + limb2: 0x11f25ca14404e535, }, r1a1: u288 { limb0: 0xf1b3aada072d4891b5de1aae, limb1: 0x2f78e8d48428027439b02564, - limb2: 0x6a400f4c3b5b6fa - } + limb2: 0x6a400f4c3b5b6fa, + }, }, G2Line { r0a0: u288 { limb0: 0x6bf13a27b0f4eb6657abc4b, limb1: 0xf78d57f089bffdf07c676bb3, - limb2: 0x228e4aefbdd738df + limb2: 0x228e4aefbdd738df, }, r0a1: u288 { limb0: 0x4f41a40b04ec964619823053, limb1: 0xfa3fb44f4a80641a9bb3bc09, - limb2: 0x29bf29a3d071ec4b + limb2: 0x29bf29a3d071ec4b, }, r1a0: u288 { limb0: 0x83823dcdff02bdc8a0e6aa03, limb1: 0x79ac92f113de29251cd73a98, - limb2: 0x1ccdb791718d144 + limb2: 0x1ccdb791718d144, }, r1a1: u288 { limb0: 0xa074add9d066db9a2a6046b6, limb1: 0xef3a70034497456c7d001a5, - limb2: 0x27d09562d815b4a6 - } + limb2: 0x27d09562d815b4a6, + }, }, G2Line { r0a0: u288 { limb0: 0x3c8b4b05cbef623055ab9631, limb1: 0xa357807ba01b50955f01beb1, - limb2: 0xd8e8272150b392 + limb2: 0xd8e8272150b392, }, r0a1: u288 { limb0: 0xc69a03b91fd115f482bc7aa1, limb1: 0xa175d02bfd1daa28271cc421, - limb2: 0x2c5e890fe1b00b05 + limb2: 0x2c5e890fe1b00b05, }, r1a0: u288 { limb0: 0xe363626ab202f75cc610f018, limb1: 0x46e37dbd0719e9c1b4951c4a, - limb2: 0x1873157667707b3f + limb2: 0x1873157667707b3f, }, r1a1: u288 { limb0: 0xd42f65f398d2c703199689b3, limb1: 0x39ec231de4b4bd3adf1feeee, - limb2: 0x67fb3d358e060f0 - } + limb2: 0x67fb3d358e060f0, + }, }, G2Line { r0a0: u288 { limb0: 0x87a44d343cc761056f4f2eae, limb1: 0x18016f16818253360d2c8adf, - limb2: 0x1bcd5c6e597d735e + limb2: 0x1bcd5c6e597d735e, }, r0a1: u288 { limb0: 0x593d7444c376f6d69289660b, limb1: 0x1d6d97020b59cf2e4b38be4f, - limb2: 0x17133b62617f63a7 + limb2: 0x17133b62617f63a7, }, r1a0: u288 { limb0: 0x88cac99869bb335ec9553a70, limb1: 0x95bcfa7f7c0b708b4d737afc, - limb2: 0x1eec79b9db274c09 + limb2: 0x1eec79b9db274c09, }, r1a1: u288 { limb0: 0xe465a53e9fe085eb58a6be75, limb1: 0x868e45cc13e7fd9d34e11839, - limb2: 0x2b401ce0f05ee6bb - } + limb2: 0x2b401ce0f05ee6bb, + }, }, G2Line { r0a0: u288 { limb0: 0x83f48fbac5c1b94486c2d037, limb1: 0xf95d9333449543de78c69e75, - limb2: 0x7bca8163e842be7 + limb2: 0x7bca8163e842be7, }, r0a1: u288 { limb0: 0x60157b2ff6e4d737e2dac26b, limb1: 0x30ab91893fcf39d9dcf1b89, - limb2: 0x29a58a02490d7f53 + limb2: 0x29a58a02490d7f53, }, r1a0: u288 { limb0: 0x520f9cb580066bcf2ce872db, limb1: 0x24a6e42c185fd36abb66c4ba, - limb2: 0x309b07583317a13 + limb2: 0x309b07583317a13, }, r1a1: u288 { limb0: 0x5a4c61efaa3d09a652c72471, limb1: 0xfcb2676d6aa28ca318519d2, - limb2: 0x1405483699afa209 - } + limb2: 0x1405483699afa209, + }, }, G2Line { r0a0: u288 { limb0: 0xc208b17fbf164d6b7c4c87ef, limb1: 0xe5ef2141a5e0ed8d7880adc2, - limb2: 0x1fbb587de0172d44 + limb2: 0x1fbb587de0172d44, }, r0a1: u288 { limb0: 0x5ecc8bd2960195067936331e, limb1: 0x302d49c4538f5a4b41fffa, - limb2: 0x2dd8166b425b4bdb + limb2: 0x2dd8166b425b4bdb, }, r1a0: u288 { limb0: 0x6dda8e93ab2dad36a7a26d98, limb1: 0x1a832cbd0bdfb31ca9670821, - limb2: 0x5e16617c8f62852 + limb2: 0x5e16617c8f62852, }, r1a1: u288 { limb0: 0xf9cba326c8ccbf69a8c7f8fb, limb1: 0x6b295295947987bb33e9961b, - limb2: 0x186db8004776c0ea - } + limb2: 0x186db8004776c0ea, + }, }, G2Line { r0a0: u288 { limb0: 0x241ca305ac4ceab57c4bc375, limb1: 0xdada9084d8f73edb881a22fa, - limb2: 0xd143f30c17c29c7 + limb2: 0xd143f30c17c29c7, }, r0a1: u288 { limb0: 0x352a5664ad09ed22111ef209, limb1: 0xc2fe0792a993bfa1771d64ac, - limb2: 0x26f89bc07398c259 + limb2: 0x26f89bc07398c259, }, r1a0: u288 { limb0: 0x2c78925418a3651b7b9f3260, limb1: 0xfe8414788b2aa8f5ac23d954, - limb2: 0x72ae0678e079f6d + limb2: 0x72ae0678e079f6d, }, r1a1: u288 { limb0: 0x2ae6e01f9e31fe942d84d61e, limb1: 0x394dc28fbdae226870dad015, - limb2: 0x26a4bf5e924cec01 - } + limb2: 0x26a4bf5e924cec01, + }, }, G2Line { r0a0: u288 { limb0: 0xbfdfdae86101e29da3e869b8, limb1: 0xf969a9b961a28b872e56aac2, - limb2: 0x1afdc719440d90f0 + limb2: 0x1afdc719440d90f0, }, r0a1: u288 { limb0: 0xee43c995686f13baa9b07266, limb1: 0xbfa387a694c641cceee4443a, - limb2: 0x104d8c02eb7f60c8 + limb2: 0x104d8c02eb7f60c8, }, r1a0: u288 { limb0: 0x8d451602b3593e798aecd7fb, limb1: 0x69ffbefe7c5ac2cf68e8691e, - limb2: 0x2ea064a1bc373d28 + limb2: 0x2ea064a1bc373d28, }, r1a1: u288 { limb0: 0x6e7a663073bfe88a2b02326f, limb1: 0x5faadb36847ca0103793fa4a, - limb2: 0x26c09a8ec9303836 - } + limb2: 0x26c09a8ec9303836, + }, }, G2Line { r0a0: u288 { limb0: 0x824428c8f1355395a5d9ba68, limb1: 0x376f82056ab1a3d451926ebc, - limb2: 0x1651053bdebca358 + limb2: 0x1651053bdebca358, }, r0a1: u288 { limb0: 0xf5739b050710bb99609328bb, limb1: 0x101222612f31bc7d1c0bd8e5, - limb2: 0x13b46682b3ffd5da + limb2: 0x13b46682b3ffd5da, }, r1a0: u288 { limb0: 0xce3778bd830f3b8fcbc8fd80, limb1: 0x8b28ab5db321c956a216239f, - limb2: 0x12e9fa0b5b37656 + limb2: 0x12e9fa0b5b37656, }, r1a1: u288 { limb0: 0x11d47326796ba49f7372575c, limb1: 0x5439890841ee14932fdab241, - limb2: 0x20ae02265c066cc9 - } + limb2: 0x20ae02265c066cc9, + }, }, G2Line { r0a0: u288 { limb0: 0x3d038747ebac16adc1c50bdd, limb1: 0xe3706a783e99f73ac742aa1a, - limb2: 0x17eac23b00b545ff + limb2: 0x17eac23b00b545ff, }, r0a1: u288 { limb0: 0xdc25ff0bd02abcbe502c4e37, limb1: 0x39b92e6ebb65e5f2d8504f90, - limb2: 0x2415b5f61301dff6 + limb2: 0x2415b5f61301dff6, }, r1a0: u288 { limb0: 0x9cdcb2146d15f37900db82ac, limb1: 0x96c3940e2f5c5f8198fadee3, - limb2: 0x2f662ea79b473fc2 + limb2: 0x2f662ea79b473fc2, }, r1a1: u288 { limb0: 0xc0fb95686de65e504ed4c57a, limb1: 0xec396c7c4275d4e493b00713, - limb2: 0x106d2aab8d90d517 - } + limb2: 0x106d2aab8d90d517, + }, }, G2Line { r0a0: u288 { limb0: 0x54e4b692d0b04b114badd438, limb1: 0x89b0bcf5ed2033f3629f3c6d, - limb2: 0x4ac1c520f363442 + limb2: 0x4ac1c520f363442, }, r0a1: u288 { limb0: 0x6e33ec73c0d5ed30e3079388, limb1: 0x2cb4a77b53c17c54cb9dfd10, - limb2: 0x2968a3d8c2554718 + limb2: 0x2968a3d8c2554718, }, r1a0: u288 { limb0: 0xe97a72fab0a46c6d08aa91e0, limb1: 0xe6c0929ee3cd8208fefa545a, - limb2: 0x1bb29a0c8606c9f5 + limb2: 0x1bb29a0c8606c9f5, }, r1a1: u288 { limb0: 0x9a8644995c03499317a8e45c, limb1: 0x11f6d94c94096a8d5b5d7e16, - limb2: 0x3ca2bfbaea0bdba - } + limb2: 0x3ca2bfbaea0bdba, + }, }, G2Line { r0a0: u288 { limb0: 0x49bbb4d856921e3177c0b5bf, limb1: 0x76d84d273694e662bdd5d364, - limb2: 0xea5dc611bdd369d + limb2: 0xea5dc611bdd369d, }, r0a1: u288 { limb0: 0x9e9fc3adc530fa3c5c6fd7fe, limb1: 0x114bb0c0e8bd247da41b3883, - limb2: 0x6044124f85d2ce + limb2: 0x6044124f85d2ce, }, r1a0: u288 { limb0: 0xa6e604cdb4e40982a97c084, limb1: 0xef485caa56c7820be2f6b11d, - limb2: 0x280de6387dcbabe1 + limb2: 0x280de6387dcbabe1, }, r1a1: u288 { limb0: 0xcaceaf6df5ca9f8a18bf2e1e, limb1: 0xc5cce932cc6818b53136c142, - limb2: 0x12f1cd688682030c - } + limb2: 0x12f1cd688682030c, + }, }, G2Line { r0a0: u288 { limb0: 0x37497c23dcf629df58a5fa12, limb1: 0x4fcd5534ae47bded76245ac9, - limb2: 0x1715ab081e32ac95 + limb2: 0x1715ab081e32ac95, }, r0a1: u288 { limb0: 0x856275471989e2c288e3c83, limb1: 0xb42d81a575b89b127a7821a, - limb2: 0x5fa75a0e4ae3118 + limb2: 0x5fa75a0e4ae3118, }, r1a0: u288 { limb0: 0xeb22351e8cd345c23c0a3fef, limb1: 0x271feb16d4b47d2267ac9d57, - limb2: 0x258f9950b9a2dee5 + limb2: 0x258f9950b9a2dee5, }, r1a1: u288 { limb0: 0xb5f75468922dc025ba7916fa, limb1: 0x7e24515de90edf1bde4edd9, - limb2: 0x289145b3512d4d81 - } + limb2: 0x289145b3512d4d81, + }, }, G2Line { r0a0: u288 { limb0: 0x969615d01c0ea4dfb1e1a6b2, limb1: 0xd77dd0fbf1448a668095626c, - limb2: 0x17bb395ada2e0445 + limb2: 0x17bb395ada2e0445, }, r0a1: u288 { limb0: 0x8c49c2dd43d51285a7943c57, limb1: 0xf5f9285614403018a99984aa, - limb2: 0x2cb65c9a5ac3782d + limb2: 0x2cb65c9a5ac3782d, }, r1a0: u288 { limb0: 0x3791dc91878eee9614a543b7, limb1: 0x808b3206de074f61c1014e23, - limb2: 0x2f63f37a727e6056 + limb2: 0x2f63f37a727e6056, }, r1a1: u288 { limb0: 0x6f1ce5115bca50bfffd5af23, limb1: 0xc20d51c6b761c502ff9afc29, - limb2: 0xd8674e970c4dfe4 - } + limb2: 0xd8674e970c4dfe4, + }, }, G2Line { r0a0: u288 { limb0: 0x44091526974134aced04c6bb, limb1: 0x20cef822214008ec6c938cbc, - limb2: 0x1369e9effc4a35e + limb2: 0x1369e9effc4a35e, }, r0a1: u288 { limb0: 0x52b595de3bb429b75d8dfa0b, limb1: 0xc90240ebeed8793217853473, - limb2: 0x605405f1532ac21 + limb2: 0x605405f1532ac21, }, r1a0: u288 { limb0: 0x47af4457f3ac9976bf779dea, limb1: 0x832936741d545aaead5647cb, - limb2: 0x14cd80d3394a1b3 + limb2: 0x14cd80d3394a1b3, }, r1a1: u288 { limb0: 0xd7d82811675d7a5104cfef4, limb1: 0x838c6ad9a0bf10cfc4e6b80c, - limb2: 0x129d3f962801867d - } + limb2: 0x129d3f962801867d, + }, }, G2Line { r0a0: u288 { limb0: 0x95b7b32bcc3119c64a62a8de, limb1: 0xe07184496f17bbd59a4b7bbd, - limb2: 0x1708c536fd78b531 + limb2: 0x1708c536fd78b531, }, r0a1: u288 { limb0: 0xfa85b5778c77166c1523a75e, limb1: 0x89a00c53309a9e525bef171a, - limb2: 0x2d2287dd024e421 + limb2: 0x2d2287dd024e421, }, r1a0: u288 { limb0: 0x31fd0884eaf2208bf8831e72, limb1: 0x537e04ea344beb57ee645026, - limb2: 0x23c7f99715257261 + limb2: 0x23c7f99715257261, }, r1a1: u288 { limb0: 0x8c38b3aeea525f3c2d2fdc22, limb1: 0xf838a99d9ec8ed6dcec6a2a8, - limb2: 0x2973d5159ddc479a - } + limb2: 0x2973d5159ddc479a, + }, }, G2Line { r0a0: u288 { limb0: 0x3f058d8c63fd905d3ca29b42, limb1: 0x1f0a90982cc68e4ddcd83e57, - limb2: 0x240aeaae0783fbfa + limb2: 0x240aeaae0783fbfa, }, r0a1: u288 { limb0: 0xedfee81d80da310fdf0d0d8, limb1: 0xc2208e6de8806cf491bd74d4, - limb2: 0xb7318be62a476af + limb2: 0xb7318be62a476af, }, r1a0: u288 { limb0: 0x3c6920c8a24454c634f388fe, limb1: 0x23328a006312a722ae09548b, - limb2: 0x1d2f1c58b80432e2 + limb2: 0x1d2f1c58b80432e2, }, r1a1: u288 { limb0: 0xb72980574f7a877586de3a63, limb1: 0xcd773b87ef4a29c16784c5ae, - limb2: 0x1f812c7e22f339c5 - } + limb2: 0x1f812c7e22f339c5, + }, }, G2Line { r0a0: u288 { limb0: 0x5502b81d15f7c7544bfe0e5b, limb1: 0x313d44b9cbb6b1db3c2e19e1, - limb2: 0x3de8450efb34ca6 + limb2: 0x3de8450efb34ca6, }, r0a1: u288 { limb0: 0x4c5017047d6babdf471554da, limb1: 0xb48b8025f177b936503d1018, - limb2: 0x1663b50793893d61 + limb2: 0x1663b50793893d61, }, r1a0: u288 { limb0: 0x547308fdb041d15648a5204e, limb1: 0xd30b5b0cf7e71b06e163ca37, - limb2: 0xf12e11a9da90df6 + limb2: 0xf12e11a9da90df6, }, r1a1: u288 { limb0: 0xb6893b6d66dc4cc63ef77caa, limb1: 0xe00d12ef10c3485ae8afd77a, - limb2: 0x129ce385f3aee936 - } + limb2: 0x129ce385f3aee936, + }, }, G2Line { r0a0: u288 { limb0: 0x219a140154109ee7653b47d8, limb1: 0xd87fa178daffefe3dc339320, - limb2: 0x1b64d217daf233d4 + limb2: 0x1b64d217daf233d4, }, r0a1: u288 { limb0: 0xb3b2902c23a1e297afc723f1, limb1: 0xec8c0334a6a16fb184bdead, - limb2: 0x194ee26f950ec5f + limb2: 0x194ee26f950ec5f, }, r1a0: u288 { limb0: 0xea0b18b28d70a0af43f81ec5, limb1: 0x1ec1efd748ba4d8687c22bb3, - limb2: 0x1e98470402747e1 + limb2: 0x1e98470402747e1, }, r1a1: u288 { limb0: 0x32ebb96106cdebef00b5f079, limb1: 0x29e0caf709d34430343bf4fe, - limb2: 0x5d405f60a473bfc - } + limb2: 0x5d405f60a473bfc, + }, }, G2Line { r0a0: u288 { limb0: 0xfeebe92941f95b6ea1d095bb, limb1: 0x9c7962eb8bbeb95a9ca7cf50, - limb2: 0x290bdaf3b9a08dc3 + limb2: 0x290bdaf3b9a08dc3, }, r0a1: u288 { limb0: 0x686cfa11c9d4b93675495599, limb1: 0xb1d69e17b4b5ebf64f0d51e1, - limb2: 0x2c18bb4bdc2e9567 + limb2: 0x2c18bb4bdc2e9567, }, r1a0: u288 { limb0: 0x17419b0f6a04bfc98d71527, limb1: 0x80eba6ff02787e3de964a4d1, - limb2: 0x26087bb100e7ff9f + limb2: 0x26087bb100e7ff9f, }, r1a1: u288 { limb0: 0x17c4ee42c3f612c43a08f689, limb1: 0x7276bdda2df6d51a291dba69, - limb2: 0x40a7220ddb393e1 - } + limb2: 0x40a7220ddb393e1, + }, }, G2Line { r0a0: u288 { limb0: 0xfcbba4528085627c1a57561e, limb1: 0x1077be1789bfa914646ecc48, - limb2: 0x1daf99b543be0c2 + limb2: 0x1daf99b543be0c2, }, r0a1: u288 { limb0: 0x73889773fb3e9955a83f6371, limb1: 0x65e8a51749a2070ca7d04fe3, - limb2: 0x193e02f206b649b5 + limb2: 0x193e02f206b649b5, }, r1a0: u288 { limb0: 0x4bcdb53209d1e271c3981a53, limb1: 0xcd0c66c9c62656f385896b9a, - limb2: 0x4fae5ec45196d1f + limb2: 0x4fae5ec45196d1f, }, r1a1: u288 { limb0: 0xff4b9fb7c654595edbc25c37, limb1: 0x9fb627a4ff2fd8e4aeb9855f, - limb2: 0x14f93e3bc9bb22dd - } + limb2: 0x14f93e3bc9bb22dd, + }, }, G2Line { r0a0: u288 { limb0: 0x830d777c19040571a1d72fd0, limb1: 0x651b2c6b8c292020817a633f, - limb2: 0x268af1e285bc59ff + limb2: 0x268af1e285bc59ff, }, r0a1: u288 { limb0: 0xede78baa381c5bce077f443d, limb1: 0x540ff96bae21cd8b9ae5438b, - limb2: 0x12a1fa7e3b369242 + limb2: 0x12a1fa7e3b369242, }, r1a0: u288 { limb0: 0x797c0608e5a535d8736d4bc5, limb1: 0x375faf00f1147656b7c1075f, - limb2: 0xda60fab2dc5a639 + limb2: 0xda60fab2dc5a639, }, r1a1: u288 { limb0: 0x610d26085cfbebdb30ce476e, limb1: 0x5bc55890ff076827a09e8444, - limb2: 0x14272ee2d25f20b7 - } + limb2: 0x14272ee2d25f20b7, + }, }, G2Line { r0a0: u288 { limb0: 0x4df45d410833e4569501b62, limb1: 0x5699ff1c49fc63f8f017a20e, - limb2: 0x1c2b4976da64f44e + limb2: 0x1c2b4976da64f44e, }, r0a1: u288 { limb0: 0xa371e6c9dc1278d9b692f5c0, limb1: 0xe2818a89c204727bbb77e230, - limb2: 0x2524c5673fb891de + limb2: 0x2524c5673fb891de, }, r1a0: u288 { limb0: 0x8b35f28524701efaaa2f36e9, limb1: 0x7d0defb1afd7565b6ca0969, - limb2: 0x3138ffe86fc3f3c + limb2: 0x3138ffe86fc3f3c, }, r1a1: u288 { limb0: 0xbf20ec1ddaebd714888b9623, limb1: 0x16edc17da676619889e1f93f, - limb2: 0x2895535d6bfd83ad - } + limb2: 0x2895535d6bfd83ad, + }, }, G2Line { r0a0: u288 { limb0: 0xd6862e1a4ca3b2baf6f8d8aa, limb1: 0x96f9066dded3a3d899025af4, - limb2: 0x1a98af9f0d48fd3 + limb2: 0x1a98af9f0d48fd3, }, r0a1: u288 { limb0: 0x276b417cc61ea259c114314e, limb1: 0x464399e5e0037b159866b246, - limb2: 0x12cc97dcf32896b5 + limb2: 0x12cc97dcf32896b5, }, r1a0: u288 { limb0: 0xef72647f4c2d08fc038c4377, limb1: 0x34883cea19be9a490a93cf2b, - limb2: 0x10d01394daa61ed0 + limb2: 0x10d01394daa61ed0, }, r1a1: u288 { limb0: 0xdf345239ece3acaa62919643, limb1: 0x914780908ece64e763cca062, - limb2: 0xee2a80dbd2012a3 - } + limb2: 0xee2a80dbd2012a3, + }, }, G2Line { r0a0: u288 { limb0: 0x1d5a31f4d08a0ebf7e071e00, limb1: 0xcd1244dd95dd30005f531f81, - limb2: 0xb4cb469a2dcf4f1 + limb2: 0xb4cb469a2dcf4f1, }, r0a1: u288 { limb0: 0x7c5938adaf38b355092de1f1, limb1: 0x292ab08995b293abfcba14b, - limb2: 0x1fd126a2b9f37c67 + limb2: 0x1fd126a2b9f37c67, }, r1a0: u288 { limb0: 0x6e9d352b02a7cb771fcc33f9, limb1: 0x7754d8536eefda2025a07340, - limb2: 0x1840289291c35a72 + limb2: 0x1840289291c35a72, }, r1a1: u288 { limb0: 0xe85f465417b7bd758c547b2e, limb1: 0xf7f703c3bc55ff8a01fa9365, - limb2: 0xfa301227880a841 - } + limb2: 0xfa301227880a841, + }, }, G2Line { r0a0: u288 { limb0: 0x2f943bcffafbec474e14056, limb1: 0xe36cbbcaa047d892ce518c06, - limb2: 0x28e9edc7ec764cec + limb2: 0x28e9edc7ec764cec, }, r0a1: u288 { limb0: 0xa4e5768f524886ccd57ef67f, limb1: 0x846c3c4a1b3d610c6598a6ca, - limb2: 0x26c1dd1c6cef5230 + limb2: 0x26c1dd1c6cef5230, }, r1a0: u288 { limb0: 0x646a7a17c9c2d11cf18ce24c, limb1: 0x9c3bc28ac69dc0fa40709bc3, - limb2: 0x22355c8b8f9caf41 + limb2: 0x22355c8b8f9caf41, }, r1a1: u288 { limb0: 0x532978b7044846c302ea39dc, limb1: 0xb3b1a62ec6c95c12a8ee1c3c, - limb2: 0x1b9cf068f2f7f74 - } + limb2: 0x1b9cf068f2f7f74, + }, }, G2Line { r0a0: u288 { limb0: 0xae2e80376c9eb92d7fdf62f4, limb1: 0xc8987db182a167029720321d, - limb2: 0x32dd5c4a5ead22e + limb2: 0x32dd5c4a5ead22e, }, r0a1: u288 { limb0: 0xed934df95403f36e080370c1, limb1: 0x82991943f3810cb571dd5476, - limb2: 0x1c8835c07868aab0 + limb2: 0x1c8835c07868aab0, }, r1a0: u288 { limb0: 0xe69df9d36c3ef19b14ac3256, limb1: 0xeffc663918d000a46b1308f3, - limb2: 0x2d3d6a3aa18904ea + limb2: 0x2d3d6a3aa18904ea, }, r1a1: u288 { limb0: 0x49fd82b2c5900a89f4e3e03, limb1: 0x4b4cedd7d8bab16a1290e7a7, - limb2: 0x13c64649ca8e5620 - } + limb2: 0x13c64649ca8e5620, + }, }, G2Line { r0a0: u288 { limb0: 0xa4058149e82ea51362b79be4, limb1: 0x734eba2621918a820ae44684, - limb2: 0x110a314a02272b1 + limb2: 0x110a314a02272b1, }, r0a1: u288 { limb0: 0xe2b43963ef5055df3c249613, limb1: 0x409c246f762c0126a1b3b7b7, - limb2: 0x19aa27f34ab03585 + limb2: 0x19aa27f34ab03585, }, r1a0: u288 { limb0: 0x179aad5f620193f228031d62, limb1: 0x6ba32299b05f31b099a3ef0d, - limb2: 0x157724be2a0a651f + limb2: 0x157724be2a0a651f, }, r1a1: u288 { limb0: 0xa33b28d9a50300e4bbc99137, limb1: 0x262a51847049d9b4d8cea297, - limb2: 0x189acb4571d50692 - } + limb2: 0x189acb4571d50692, + }, }, G2Line { r0a0: u288 { limb0: 0x958cb28384b32ba53919aad6, limb1: 0x7cb6afd288225969b3ed04a7, - limb2: 0x1f6c88c19f868c64 + limb2: 0x1f6c88c19f868c64, }, r0a1: u288 { limb0: 0x1f9383d92c96e715fa8a0e4, limb1: 0x185e1f31310dcf1342282c7f, - limb2: 0x9d2bbb84bf8c8a + limb2: 0x9d2bbb84bf8c8a, }, r1a0: u288 { limb0: 0x2ebb25e92c5e5775f24e5f43, limb1: 0x5a0dd9406740da093e0e9df9, - limb2: 0x20542767fe53e03a + limb2: 0x20542767fe53e03a, }, r1a1: u288 { limb0: 0xfc3d9b88c92d661c9f2e49d4, limb1: 0xd5c675a3022548b290b637dc, - limb2: 0x6fc49e7ff4bc3 - } + limb2: 0x6fc49e7ff4bc3, + }, }, G2Line { r0a0: u288 { limb0: 0x29bd4381ae4afc677ee37ed6, limb1: 0x29ed43453f9a008d9176f004, - limb2: 0x24134eb915104f43 + limb2: 0x24134eb915104f43, }, r0a1: u288 { limb0: 0x81597f82bb67e90a3e72bdd2, limb1: 0xab3bbde5f7bbb4df6a6b5c19, - limb2: 0x19ac61eea40a367c + limb2: 0x19ac61eea40a367c, }, r1a0: u288 { limb0: 0xe30a79342fb3199651aee2fa, limb1: 0xf500f028a73ab7b7db0104a3, - limb2: 0x808b50e0ecb5e4d + limb2: 0x808b50e0ecb5e4d, }, r1a1: u288 { limb0: 0x55f2818453c31d942444d9d6, limb1: 0xf6dd80c71ab6e893f2cf48db, - limb2: 0x13c3ac4488abd138 - } + limb2: 0x13c3ac4488abd138, + }, }, G2Line { r0a0: u288 { limb0: 0x5c0c3c2206b28bed76db5fb9, limb1: 0xa81f45c675f24fab51c8325a, - limb2: 0xd27686198826ba2 + limb2: 0xd27686198826ba2, }, r0a1: u288 { limb0: 0x9ce02274becdc697b91bdc82, limb1: 0x193674102a7fa372f1e3864, - limb2: 0x1ad17052d923f3ab + limb2: 0x1ad17052d923f3ab, }, r1a0: u288 { limb0: 0x2ab1b4cab08b97770060cd95, limb1: 0x5b7cae55f9b2ef94b80bc0fc, - limb2: 0x4319d424bab41a3 + limb2: 0x4319d424bab41a3, }, r1a1: u288 { limb0: 0xd80167cf68050f7988b0d7b, limb1: 0x4177064bd3572a973e0afd8, - limb2: 0xa5c5ddbd56184d6 - } + limb2: 0xa5c5ddbd56184d6, + }, }, G2Line { r0a0: u288 { limb0: 0xd1464269bbeafa546f559b8f, limb1: 0xab7f7dcd1ac32b86979471cf, - limb2: 0x6a38256ee96f113 + limb2: 0x6a38256ee96f113, }, r0a1: u288 { limb0: 0xf14d50984e65f9bc41df4e7e, limb1: 0x350aff9be6f9652ad441a3ad, - limb2: 0x1b1e60534b0a6aba + limb2: 0x1b1e60534b0a6aba, }, r1a0: u288 { limb0: 0x9e98507da6cc50a56f023849, limb1: 0xcf8925e03f2bb5c1ba0962dd, - limb2: 0x2b18961810a62f87 + limb2: 0x2b18961810a62f87, }, r1a1: u288 { limb0: 0x3a4c61b937d4573e3f2da299, limb1: 0x6f4c6c13fd90f4edc322796f, - limb2: 0x13f4e99b6a2f025e - } + limb2: 0x13f4e99b6a2f025e, + }, }, G2Line { r0a0: u288 { limb0: 0xf86c13c653367f48043babc5, limb1: 0x52798720b6abfea4f78e8755, - limb2: 0x2a08b546b9a04e01 + limb2: 0x2a08b546b9a04e01, }, r0a1: u288 { limb0: 0x3a3897216778c8d89c902498, limb1: 0xe9e85640d8cfb88eac53d7a4, - limb2: 0x22ed91f0b0f7b0a7 + limb2: 0x22ed91f0b0f7b0a7, }, r1a0: u288 { limb0: 0xa1e20caf4a06b7069c5fcade, limb1: 0xce1ab9c14ede733440fe4d4f, - limb2: 0x29511f7e24afbc7a + limb2: 0x29511f7e24afbc7a, }, r1a1: u288 { limb0: 0x2cb71e6fb0c40ed481c482d2, limb1: 0xb4a3dfc3f1f8bf08f18b9963, - limb2: 0x20cc0deb8bc5808a - } + limb2: 0x20cc0deb8bc5808a, + }, }, G2Line { r0a0: u288 { limb0: 0xe0115a79120ae892a72f3dcb, limb1: 0xec67b5fc9ea414a4020135f, - limb2: 0x1ee364e12321904a + limb2: 0x1ee364e12321904a, }, r0a1: u288 { limb0: 0xa74d09666f9429c1f2041cd9, limb1: 0x57ffe0951f863dd0c1c2e97a, - limb2: 0x154877b2d1908995 + limb2: 0x154877b2d1908995, }, r1a0: u288 { limb0: 0xcbe5e4d2d2c91cdd4ccca0, limb1: 0xe6acea145563a04b2821d120, - limb2: 0x18213221f2937afb + limb2: 0x18213221f2937afb, }, r1a1: u288 { limb0: 0xfe20afa6f6ddeb2cb768a5ae, limb1: 0x1a3b509131945337c3568fcf, - limb2: 0x127b5788263a927e - } + limb2: 0x127b5788263a927e, + }, }, G2Line { r0a0: u288 { limb0: 0x1682a38c2b0f08b940585776, limb1: 0x4bcfdd206314bf8fb7bbd3d9, - limb2: 0x72478229fdf9b3e + limb2: 0x72478229fdf9b3e, }, r0a1: u288 { limb0: 0x7655cf8178fd96eab34ed64c, limb1: 0xa8a410386256daf6f497a426, - limb2: 0x24a563cb3fd6a97c + limb2: 0x24a563cb3fd6a97c, }, r1a0: u288 { limb0: 0xcc3e2f74f61e4ad3dd0ec353, limb1: 0xd8d2eed02ef01ce6c895d54b, - limb2: 0x2f0b5abbb25e5201 + limb2: 0x2f0b5abbb25e5201, }, r1a1: u288 { limb0: 0x6ca200200f72fc879747d649, limb1: 0xfe2a8dfce46aa04cc6cac8bf, - limb2: 0x2538761bcc075511 - } + limb2: 0x2538761bcc075511, + }, }, G2Line { r0a0: u288 { limb0: 0xe7c658aecdab4db3c83f7927, limb1: 0xfbf162264ca04ee50c70bde8, - limb2: 0x2a20f4565b7ff885 + limb2: 0x2a20f4565b7ff885, }, r0a1: u288 { limb0: 0x45b1c2f0a1226361f42683c0, limb1: 0x9acdd892c48c08de047296bc, - limb2: 0x27836373108925d4 + limb2: 0x27836373108925d4, }, r1a0: u288 { limb0: 0xc0ea9294b345e6d4892676a7, limb1: 0xcba74eca77086af245d1606e, - limb2: 0xf20edac89053e72 + limb2: 0xf20edac89053e72, }, r1a1: u288 { limb0: 0x4c92a28f2779a527a68a938c, limb1: 0x3a1c3c55ff9d20eac109fab3, - limb2: 0x21c4a8c524b1ee7d - } + limb2: 0x21c4a8c524b1ee7d, + }, }, G2Line { r0a0: u288 { limb0: 0xb4a2a27e2287cfee7a9682c4, limb1: 0x1ce9a7e33aac888cfff41045, - limb2: 0x15862361b72f510c + limb2: 0x15862361b72f510c, }, r0a1: u288 { limb0: 0xf2ad35e6e2883182aa6b4fd1, limb1: 0xe770aff5925910a31f0953c9, - limb2: 0x2620607848308ab0 + limb2: 0x2620607848308ab0, }, r1a0: u288 { limb0: 0xd96d83a873e922ac6356c949, limb1: 0xd55163234b216b61b10f5648, - limb2: 0xde3b9a35927e127 + limb2: 0xde3b9a35927e127, }, r1a1: u288 { limb0: 0xab124d1d7268f0e796dbe62c, limb1: 0x2853f3ef7aa34d7a0e228ce2, - limb2: 0x13beaa5c47f7b339 - } + limb2: 0x13beaa5c47f7b339, + }, }, G2Line { r0a0: u288 { limb0: 0xa68021d593c46246af22559e, limb1: 0x5c2cfc5bc4cd1b48f4704134, - limb2: 0x296066ede1298f8c + limb2: 0x296066ede1298f8c, }, r0a1: u288 { limb0: 0xfe17dd6765eb9b9625eb6a84, limb1: 0x4e35dd8e8f6088bb14299f8d, - limb2: 0x1a380ab2689106e4 + limb2: 0x1a380ab2689106e4, }, r1a0: u288 { limb0: 0x82bacf337ca09853df42bc59, limb1: 0xa15de4ef34a30014c5a2e9ae, - limb2: 0x243cc0cec53c778b + limb2: 0x243cc0cec53c778b, }, r1a1: u288 { limb0: 0xcb2a1bf18e3ba9349b0a8bf2, limb1: 0x35134b2505cbb5a4c91f0ac4, - limb2: 0x25e45206b13f43c4 - } + limb2: 0x25e45206b13f43c4, + }, }, G2Line { r0a0: u288 { limb0: 0x8e97b007ffd9891bd0e77650, limb1: 0x77671278ac33f17df6b1db88, - limb2: 0x243daddc47f5d5c2 + limb2: 0x243daddc47f5d5c2, }, r0a1: u288 { limb0: 0x655fe4c8bbe5ee06aaa0054b, limb1: 0xf751450b02c93c7ddea95938, - limb2: 0x21aa988e950d563f + limb2: 0x21aa988e950d563f, }, r1a0: u288 { limb0: 0xb51b3b6b8582de3eb0549518, limb1: 0x84a1031766b7e465f5bbf40c, - limb2: 0xd46c2d5b95e5532 + limb2: 0xd46c2d5b95e5532, }, r1a1: u288 { limb0: 0x50b6ddd8a5eef0067652191e, limb1: 0x298832a0bc46ebed8bff6190, - limb2: 0xb568b4fe8311f93 - } + limb2: 0xb568b4fe8311f93, + }, }, G2Line { r0a0: u288 { limb0: 0x95142735dac6534042d2d05e, limb1: 0x7403f0a3b4d2a49a7009872f, - limb2: 0x2b5ce066c5012949 + limb2: 0x2b5ce066c5012949, }, r0a1: u288 { limb0: 0xfb9dd943bee0316b632fd1fc, limb1: 0xe28dc017ad7c82d573ca64d4, - limb2: 0x1d814d88b3e026ce + limb2: 0x1d814d88b3e026ce, }, r1a0: u288 { limb0: 0x1722d6e82c213b5f5bb54b06, limb1: 0xe97b4fa087e0ac0ade7e9fb3, - limb2: 0x117a4f1562cdc338 + limb2: 0x117a4f1562cdc338, }, r1a1: u288 { limb0: 0x16204b8c2a7d006220778fc4, limb1: 0x23ebf70a7d3687322b0a559b, - limb2: 0x117d1eaacfcf39d0 - } + limb2: 0x117d1eaacfcf39d0, + }, }, G2Line { r0a0: u288 { limb0: 0xac3a5cf29dd67034cce999d8, limb1: 0xabf7913b1ad3df78f63ec920, - limb2: 0x10e5e9415124c78a + limb2: 0x10e5e9415124c78a, }, r0a1: u288 { limb0: 0xfe328b7478a7b96b0521d32d, limb1: 0x486efcf8db262be440c2f384, - limb2: 0x118851b013a7a2f6 + limb2: 0x118851b013a7a2f6, }, r1a0: u288 { limb0: 0xfcea8d918c9420959fc131c1, limb1: 0x2c76ec0524a5b61c91661734, - limb2: 0xbfe2e9e02621600 + limb2: 0xbfe2e9e02621600, }, r1a1: u288 { limb0: 0xc55d8e0d7ac126b8e0dfa148, limb1: 0x178dd414d941be3cb70299bb, - limb2: 0x15b52c5f3e3c78fe - } + limb2: 0x15b52c5f3e3c78fe, + }, }, G2Line { r0a0: u288 { limb0: 0xddb4db99db681d35f71a159c, limb1: 0xf71a330019414e6fdee75700, - limb2: 0x14d9838e7d1918bb + limb2: 0x14d9838e7d1918bb, }, r0a1: u288 { limb0: 0x203c8bac71951a5f2c653710, limb1: 0x9fc93f8da38ecc2957313982, - limb2: 0x7b6d981259cabd9 + limb2: 0x7b6d981259cabd9, }, r1a0: u288 { limb0: 0xa7297cdb5be0cc45d48ca6af, limb1: 0xa07b4b025ebe6c960eddfc56, - limb2: 0xef2a5c30ef00652 + limb2: 0xef2a5c30ef00652, }, r1a1: u288 { limb0: 0xb7f05c76d860e9122b36ecd7, limb1: 0x407d6522e1f9ce2bcbf80eda, - limb2: 0x197625a558f32c36 - } + limb2: 0x197625a558f32c36, + }, }, G2Line { r0a0: u288 { limb0: 0x4e67d839c8646de27691dae2, limb1: 0xa113e037559795425b1ca935, - limb2: 0xe0f8316d3adace6 + limb2: 0xe0f8316d3adace6, }, r0a1: u288 { limb0: 0xac5484d96d5e16708aa20635, limb1: 0x3cf76c0c779c04ac350707d7, - limb2: 0x189022b6900c47 + limb2: 0x189022b6900c47, }, r1a0: u288 { limb0: 0x4c4cf7790d369d15fe931a4e, limb1: 0xeccffa7915f2d1fb735abf95, - limb2: 0x18f28ca407bde4a + limb2: 0x18f28ca407bde4a, }, r1a1: u288 { limb0: 0x2b7dcc570e7213f9c18015d3, limb1: 0x8196ba5914d477135145617, - limb2: 0x1d11ba6a93642a1d - } + limb2: 0x1d11ba6a93642a1d, + }, }, G2Line { r0a0: u288 { limb0: 0xb0f04df9dec94801e48a6ff7, limb1: 0xdc59d087c627d38334e5b969, - limb2: 0x3d36e11420be053 + limb2: 0x3d36e11420be053, }, r0a1: u288 { limb0: 0xc80f070001aa1586189e0215, limb1: 0xff849fcbbbe7c00c83ab5282, - limb2: 0x2a2354b2882706a6 + limb2: 0x2a2354b2882706a6, }, r1a0: u288 { limb0: 0x48cf70c80f08b6c7dc78adb2, limb1: 0xc6632efa77b36a4a1551d003, - limb2: 0xc2d3533ece75879 + limb2: 0xc2d3533ece75879, }, r1a1: u288 { limb0: 0x63e82ba26617416a0b76ddaa, limb1: 0xdaceb24adda5a049bed29a50, - limb2: 0x1a82061a3344043b - } + limb2: 0x1a82061a3344043b, + }, }, G2Line { r0a0: u288 { limb0: 0xbd69421a5b200ff9b38f831f, limb1: 0x3fe4fe938fccbaeeea650793, - limb2: 0x19df4f325f19d790 + limb2: 0x19df4f325f19d790, }, r0a1: u288 { limb0: 0x460ec10fdc20f258517b0ede, limb1: 0xed5f65a9e2470b25df5fef70, - limb2: 0x1b61c823ebf0b10a + limb2: 0x1b61c823ebf0b10a, }, r1a0: u288 { limb0: 0x658cfa5631cd4889f4c5faf1, limb1: 0x7fc4136b63b1f54e46d634cb, - limb2: 0xb2cdd6f5da71516 + limb2: 0xb2cdd6f5da71516, }, r1a1: u288 { limb0: 0xf29e04c6192dd039241e5573, limb1: 0xaed4fb46d1273a5895ee2308, - limb2: 0x291ea193f947c5dc - } + limb2: 0x291ea193f947c5dc, + }, }, G2Line { r0a0: u288 { limb0: 0x9152fecf0f523415acc7c7be, limb1: 0xd9632cbfccc4ea5d7bf31177, - limb2: 0x2d7288c5f8c83ab1 + limb2: 0x2d7288c5f8c83ab1, }, r0a1: u288 { limb0: 0x53144bfe4030f3f9f5efda8, limb1: 0xfeec394fbf392b11c66bae27, - limb2: 0x28840813ab8a200b + limb2: 0x28840813ab8a200b, }, r1a0: u288 { limb0: 0xdec3b11fbc28b305d9996ec7, limb1: 0x5b5f8d9d17199e149c9def6e, - limb2: 0x10c1a149b6751bae + limb2: 0x10c1a149b6751bae, }, r1a1: u288 { limb0: 0x665e8eb7e7d376a2d921c889, limb1: 0xfdd76d06e46ee1a943b8788d, - limb2: 0x8bb21d9960e837b - } + limb2: 0x8bb21d9960e837b, + }, }, G2Line { r0a0: u288 { limb0: 0x3a67c28a175200e631aa506a, limb1: 0x7397303a34968ff17c06e801, - limb2: 0x1b81e0c63123688b + limb2: 0x1b81e0c63123688b, }, r0a1: u288 { limb0: 0x3490cfd4f076c621dac4a12c, limb1: 0xec183578c91b90b72e5887b7, - limb2: 0x179fb354f608da00 + limb2: 0x179fb354f608da00, }, r1a0: u288 { limb0: 0x9322bde2044dde580a78ba33, limb1: 0xfc74821b668d3570cad38f8b, - limb2: 0x8cec54a291f5e57 + limb2: 0x8cec54a291f5e57, }, r1a1: u288 { limb0: 0xc2818b6a9530ee85d4b2ae49, limb1: 0x8d7b651ad167f2a43d7a2d0a, - limb2: 0x7c9ca9bab0ffc7f - } + limb2: 0x7c9ca9bab0ffc7f, + }, }, G2Line { r0a0: u288 { limb0: 0xb3b784e642887a8476f572e, limb1: 0xed02f127df5eed0cb36a3bf8, - limb2: 0xba1df3a2dfa44 + limb2: 0xba1df3a2dfa44, }, r0a1: u288 { limb0: 0x42c8ddcabfe9a7ad125d0ca9, limb1: 0x7893651eea284a367016e3f4, - limb2: 0x169246616ba43650 + limb2: 0x169246616ba43650, }, r1a0: u288 { limb0: 0x1c64d4f3656e04d1a72b8d48, limb1: 0xab4d9597432f9192baa38fde, - limb2: 0x166f0057c0435ce + limb2: 0x166f0057c0435ce, }, r1a1: u288 { limb0: 0xff9760ba5717ba174df6f8f8, limb1: 0x426768d82386947c5babfd7f, - limb2: 0x7ca1e1a5d1a0c5e - } + limb2: 0x7ca1e1a5d1a0c5e, + }, }, G2Line { r0a0: u288 { limb0: 0xd5f536bc65864831172f42a0, limb1: 0x26dcfa4e457220eb911294ce, - limb2: 0x105261c2c69ce433 + limb2: 0x105261c2c69ce433, }, r0a1: u288 { limb0: 0x6e00517fac26565662abb1ad, limb1: 0xa14626f27b8158a553767216, - limb2: 0x22d2abd4602c1c6b + limb2: 0x22d2abd4602c1c6b, }, r1a0: u288 { limb0: 0x92f008ec8c7f2dc8a8571a28, limb1: 0x856f48547c31d1368fb8c686, - limb2: 0x2ed469b49fa7d7ea + limb2: 0x2ed469b49fa7d7ea, }, r1a1: u288 { limb0: 0xf50c1feb101e5ceb3b16ec4e, limb1: 0x3a230af636b80f192ec0e399, - limb2: 0x1764922866d60a5e - } + limb2: 0x1764922866d60a5e, + }, }, G2Line { r0a0: u288 { limb0: 0xa576408f8300de3a7714e6ae, limb1: 0xe1072c9a16f202ecf37fbc34, - limb2: 0x1b0cb1e2b5871263 + limb2: 0x1b0cb1e2b5871263, }, r0a1: u288 { limb0: 0x2128e2314694b663286e231e, limb1: 0x54bea71957426f002508f715, - limb2: 0x36ecc5dbe069dca + limb2: 0x36ecc5dbe069dca, }, r1a0: u288 { limb0: 0x17c77cd88f9d5870957850ce, limb1: 0xb7f4ec2bc270ce30538fe9b8, - limb2: 0x766279e588592bf + limb2: 0x766279e588592bf, }, r1a1: u288 { limb0: 0x1b6caddf18de2f30fa650122, limb1: 0x40b77237a29cada253c126c6, - limb2: 0x74ff1349b1866c8 - } + limb2: 0x74ff1349b1866c8, + }, }, G2Line { r0a0: u288 { limb0: 0xbb540898cf8935c1b1173cb4, limb1: 0xc1418f5298a4a4bf6f2e3bd3, - limb2: 0xc988fb564cf08d8 + limb2: 0xc988fb564cf08d8, }, r0a1: u288 { limb0: 0xf09b861d7134a245b7e364b4, limb1: 0xa92280b0deb7fe5180ed4b7a, - limb2: 0x7aa813cc9c85d7b + limb2: 0x7aa813cc9c85d7b, }, r1a0: u288 { limb0: 0xed06ae875b1fc56f5d1c3f8e, limb1: 0xc41bdd2f5b4150a210b33d70, - limb2: 0x2cea2b050d19c785 + limb2: 0x2cea2b050d19c785, }, r1a1: u288 { limb0: 0x9790a2fc143b9afb8a56de04, limb1: 0xe74dd4109ce475db08d477a2, - limb2: 0x19dba5858fcd648f - } + limb2: 0x19dba5858fcd648f, + }, }, G2Line { r0a0: u288 { limb0: 0x3603266e05560becab36faef, limb1: 0x8c3b88c9390278873dd4b048, - limb2: 0x24a715a5d9880f38 + limb2: 0x24a715a5d9880f38, }, r0a1: u288 { limb0: 0xe9f595b111cfd00d1dd28891, limb1: 0x75c6a392ab4a627f642303e1, - limb2: 0x17b34a30def82ab6 + limb2: 0x17b34a30def82ab6, }, r1a0: u288 { limb0: 0xe706de8f35ac8372669fc8d3, limb1: 0x16cc7f4032b3f3ebcecd997d, - limb2: 0x166eba592eb1fc78 + limb2: 0x166eba592eb1fc78, }, r1a1: u288 { limb0: 0x7d584f102b8e64dcbbd1be9, limb1: 0x2ead4092f009a9c0577f7d3, - limb2: 0x2fe2c31ee6b1d41e - } + limb2: 0x2fe2c31ee6b1d41e, + }, }, G2Line { r0a0: u288 { limb0: 0x72253d939632f8c28fb5763, limb1: 0x9b943ab13cad451aed1b08a2, - limb2: 0xdb9b2068e450f10 + limb2: 0xdb9b2068e450f10, }, r0a1: u288 { limb0: 0x80f025dcbce32f6449fa7719, limb1: 0x8a0791d4d1ed60b86e4fe813, - limb2: 0x1b1bd5dbce0ea966 + limb2: 0x1b1bd5dbce0ea966, }, r1a0: u288 { limb0: 0xaa72a31de7d815ae717165d4, limb1: 0x501c29c7b6aebc4a1b44407f, - limb2: 0x464aa89f8631b3a + limb2: 0x464aa89f8631b3a, }, r1a1: u288 { limb0: 0x6b8d137e1ea43cd4b1f616b1, limb1: 0xdd526a510cc84f150cc4d55a, - limb2: 0x1da2ed980ebd3f29 - } + limb2: 0x1da2ed980ebd3f29, + }, }, G2Line { r0a0: u288 { limb0: 0x2990abd5a415b597653aecc7, limb1: 0xf6d59e5d9f2735e0b5196522, - limb2: 0x12cfd626116f3e90 + limb2: 0x12cfd626116f3e90, }, r0a1: u288 { limb0: 0x85ff23da49c13991049c2a30, limb1: 0x29ea9dc0564c06318ee970c6, - limb2: 0x2f579deeac8b19a + limb2: 0x2f579deeac8b19a, }, r1a0: u288 { limb0: 0x458c505570a4bc6cd8751128, limb1: 0xcff5c9e1d1d4c1f64e37982c, - limb2: 0x1bfc56f58e4e33f5 + limb2: 0x1bfc56f58e4e33f5, }, r1a1: u288 { limb0: 0x364b1be00e65d893a9fabb7, limb1: 0xfa38e20e90619e224b054d86, - limb2: 0x1d3724ff58e69e9d - } + limb2: 0x1d3724ff58e69e9d, + }, }, G2Line { r0a0: u288 { limb0: 0x604234358fe8a608e232b055, limb1: 0x81bf97d1a0380fa64ffab70d, - limb2: 0x2fe1c2c2521704f2 + limb2: 0x2fe1c2c2521704f2, }, r0a1: u288 { limb0: 0x49746a3559cdc3031fd62abe, limb1: 0xc0676e4a367566526115e5d5, - limb2: 0x793d580a7f8d698 + limb2: 0x793d580a7f8d698, }, r1a0: u288 { limb0: 0x434be9b6d4f5097159fe303b, limb1: 0x1eff6c60a4c52f744e8e2276, - limb2: 0x210a1915eaab4b20 + limb2: 0x210a1915eaab4b20, }, r1a1: u288 { limb0: 0x4e6f7e9d87f16fc7601cc783, limb1: 0xd4bec91933ea7c5f9518ea04, - limb2: 0x1c45a57b0c8d62d7 - } + limb2: 0x1c45a57b0c8d62d7, + }, }, G2Line { r0a0: u288 { limb0: 0x867cced8a010850958f41ff5, limb1: 0x6a37fdb2b8993eed18bafe8e, - limb2: 0x21b9f782109e5a7 + limb2: 0x21b9f782109e5a7, }, r0a1: u288 { limb0: 0x7307477d650618e66de38d0f, limb1: 0xacb622ce92a7e393dbe10ba1, - limb2: 0x236e70838cee0ed5 + limb2: 0x236e70838cee0ed5, }, r1a0: u288 { limb0: 0xb564a308aaf5dda0f4af0f0d, limb1: 0x55fc71e2f13d8cb12bd51e74, - limb2: 0x294cf115a234a9e9 + limb2: 0x294cf115a234a9e9, }, r1a1: u288 { limb0: 0xbd166057df55c135b87f35f3, limb1: 0xf9f29b6c50f1cce9b85ec9b, - limb2: 0x2e8448d167f20f96 - } + limb2: 0x2e8448d167f20f96, + }, }, G2Line { r0a0: u288 { limb0: 0x8af780d4f3611de614224cf4, limb1: 0xb3411d6969eed4b8286c7185, - limb2: 0x13f31915350d79e7 + limb2: 0x13f31915350d79e7, }, r0a1: u288 { limb0: 0xefebdf46e1c80e1bbfc388c4, limb1: 0xbab06fd5263cc18fb57d9e95, - limb2: 0xe1c884a026d918e + limb2: 0xe1c884a026d918e, }, r1a0: u288 { limb0: 0x845caa8c849832ee6cfe63b1, limb1: 0xaedd1db275061decc9cd7b3a, - limb2: 0x23787e28f22f3546 + limb2: 0x23787e28f22f3546, }, r1a1: u288 { limb0: 0x28e41c19ff26092ec696db3f, limb1: 0x90f1244e5140a5df661d05f9, - limb2: 0x2f61a80ac4d65725 - } + limb2: 0x2f61a80ac4d65725, + }, }, G2Line { r0a0: u288 { limb0: 0xdedaff3205bb953b2c390b8a, limb1: 0xe1a899da21c1dafb485c707e, - limb2: 0x1ec897e7a041493e + limb2: 0x1ec897e7a041493e, }, r0a1: u288 { limb0: 0xf52c3c30cd4d3202b34089e0, limb1: 0xc652aa1ff533e1aad7532305, - limb2: 0x2a1df766e5e3aa2e + limb2: 0x2a1df766e5e3aa2e, }, r1a0: u288 { limb0: 0x7ac695d3e19d79b234daaf3d, limb1: 0x5ce2f92666aec92a650feee1, - limb2: 0x21ab4fe20d978e77 + limb2: 0x21ab4fe20d978e77, }, r1a1: u288 { limb0: 0xa64a913a29a1aed4e0798664, limb1: 0x66bc208b511503d127ff5ede, - limb2: 0x2389ba056de56a8d - } + limb2: 0x2389ba056de56a8d, + }, }, G2Line { r0a0: u288 { limb0: 0x5fa9f3d6ba2e33d9df261501, limb1: 0x14ce648819a9c46d64d2ad7a, - limb2: 0x200d58896e8e5649 + limb2: 0x200d58896e8e5649, }, r0a1: u288 { limb0: 0xd961390ca5e5c1a18c8258f0, limb1: 0xe2e869b5cf4982ab8e3b203a, - limb2: 0x269258fa79102f56 + limb2: 0x269258fa79102f56, }, r1a0: u288 { limb0: 0x68cdab4015c2a73a65068b85, limb1: 0x89d0b1abc07351c7a379bd7c, - limb2: 0x257b6794021bc2db + limb2: 0x257b6794021bc2db, }, r1a1: u288 { limb0: 0xc75c452e6d369e6a87b6e1e, limb1: 0xdaabd301cafb7edba76274ef, - limb2: 0x3bde99bf58a92c2 - } + limb2: 0x3bde99bf58a92c2, + }, }, G2Line { r0a0: u288 { limb0: 0xd88b16e68600a12e6c1f6006, limb1: 0x333243b43d3b7ff18d0cc671, - limb2: 0x2b84b2a9b0f03ed8 + limb2: 0x2b84b2a9b0f03ed8, }, r0a1: u288 { limb0: 0xf3e2b57ddaac822c4da09991, limb1: 0xd7c894b3fe515296bb054d2f, - limb2: 0x10a75e4c6dddb441 + limb2: 0x10a75e4c6dddb441, }, r1a0: u288 { limb0: 0x73c65fbbb06a7b21b865ac56, limb1: 0x21f4ecd1403bb78729c7e99b, - limb2: 0xaf88a160a6b35d4 + limb2: 0xaf88a160a6b35d4, }, r1a1: u288 { limb0: 0xade61ce10b8492d659ff68d0, limb1: 0x1476e76cf3a8e0df086ad9eb, - limb2: 0x2e28cfc65d61e946 - } + limb2: 0x2e28cfc65d61e946, + }, }, G2Line { r0a0: u288 { limb0: 0xdf8b54b244108008e7f93350, limb1: 0x2ae9a68b9d6b96f392decd6b, - limb2: 0x160b19eed152271c + limb2: 0x160b19eed152271c, }, r0a1: u288 { limb0: 0xc18a8994cfbb2e8df446e449, limb1: 0x408d51e7e4adedd8f4f94d06, - limb2: 0x27661b404fe90162 + limb2: 0x27661b404fe90162, }, r1a0: u288 { limb0: 0x1390b2a3b27f43f7ac73832c, limb1: 0x14d57301f6002fd328f2d64d, - limb2: 0x17f3fa337367dddc + limb2: 0x17f3fa337367dddc, }, r1a1: u288 { limb0: 0x79cab8ff5bf2f762c5372f80, limb1: 0xc979d6f385fae4b5e4785acf, - limb2: 0x60c5307a735b00f - } + limb2: 0x60c5307a735b00f, + }, }, G2Line { r0a0: u288 { limb0: 0x94336f2c5c03b2ad5dfd59a2, limb1: 0x3ee02119f9d3e985e9859470, - limb2: 0x11a897fc6f4ac878 + limb2: 0x11a897fc6f4ac878, }, r0a1: u288 { limb0: 0x8fbbe337bcd3b3926dfd5a7b, limb1: 0x6a45f1a06ee96d69024430db, - limb2: 0x14e51a458ccb2d83 + limb2: 0x14e51a458ccb2d83, }, r1a0: u288 { limb0: 0xbb2657ff1a311ddd38278308, limb1: 0x776a992cfacbf2c03314a11, - limb2: 0x58d65fdae6e48e1 + limb2: 0x58d65fdae6e48e1, }, r1a1: u288 { limb0: 0x12a32aecc832311454a1c546, limb1: 0x2fe303fbc237d54289547719, - limb2: 0x3668aec6f11f21e - } + limb2: 0x3668aec6f11f21e, + }, }, G2Line { r0a0: u288 { limb0: 0xb0aa6695235ffd66d5f3c609, limb1: 0x318302a2be41d2dacdbc374d, - limb2: 0x1eeaf97b389d7e8e + limb2: 0x1eeaf97b389d7e8e, }, r0a1: u288 { limb0: 0x10bf93e11b2746d13bb58a38, limb1: 0xd1b4adad34ee3f10a1482bc0, - limb2: 0x177de2cef1432bb6 + limb2: 0x177de2cef1432bb6, }, r1a0: u288 { limb0: 0x83b01a1debda734692f242b9, limb1: 0xff64a01021e721460650bba4, - limb2: 0x23fc5e8c9a462660 + limb2: 0x23fc5e8c9a462660, }, r1a1: u288 { limb0: 0xf56122ef42ec57584ae1e554, limb1: 0x1be67e0ec4b5b9cf2540e9a7, - limb2: 0x15e2a1a3f49ec180 - } + limb2: 0x15e2a1a3f49ec180, + }, }, G2Line { r0a0: u288 { limb0: 0x386d7b23c6dccb87637018c9, limb1: 0xfed2ea478e9a2210289079e2, - limb2: 0x100aa83cb843353e + limb2: 0x100aa83cb843353e, }, r0a1: u288 { limb0: 0x229c5c285f049d04c3dc5ce7, limb1: 0x28110670fe1d38c53ffcc6f7, - limb2: 0x1778918279578f50 + limb2: 0x1778918279578f50, }, r1a0: u288 { limb0: 0xe9ad2c7b8a17a1f1627ff09d, limb1: 0xedff5563c3c3e7d2dcc402ec, - limb2: 0xa8bd6770b6d5aa8 + limb2: 0xa8bd6770b6d5aa8, }, r1a1: u288 { limb0: 0x66c5c1aeed5c04470b4e8a3d, limb1: 0x846e73d11f2d18fe7e1e1aa2, - limb2: 0x10a60eabe0ec3d78 - } + limb2: 0x10a60eabe0ec3d78, + }, }, G2Line { r0a0: u288 { limb0: 0x1699deb0ead59ed63109c05b, limb1: 0xb325da3842cebabbec003fc1, - limb2: 0xc0de846c16e6112 + limb2: 0xc0de846c16e6112, }, r0a1: u288 { limb0: 0x99309402eca08241dae4e273, limb1: 0xaa16e86224c3178f60d03bb7, - limb2: 0x24cde0d47b2dcef1 + limb2: 0x24cde0d47b2dcef1, }, r1a0: u288 { limb0: 0x7d47f9f43dd62a2f56442e26, limb1: 0x9d3fd5f2224d5f9a10b5bf3e, - limb2: 0x1ea21619d0ac4ca7 + limb2: 0x1ea21619d0ac4ca7, }, r1a1: u288 { limb0: 0x945a4528b5a37c8fdf0cc9af, limb1: 0x7ad4fbe1529463b319293c35, - limb2: 0xa55c48b621e6341 - } + limb2: 0xa55c48b621e6341, + }, }, G2Line { r0a0: u288 { limb0: 0x88ca191d85be1f6c205257ef, limb1: 0xd0cecf5c5f80926c77fd4870, - limb2: 0x16ec42b5cae83200 + limb2: 0x16ec42b5cae83200, }, r0a1: u288 { limb0: 0x154cba82460752b94916186d, limb1: 0x564f6bebac05a4f3fb1353ac, - limb2: 0x2d47a47da836d1a7 + limb2: 0x2d47a47da836d1a7, }, r1a0: u288 { limb0: 0xb39c4d6150bd64b4674f42ba, limb1: 0x93c967a38fe86f0779bf4163, - limb2: 0x1a51995a49d50f26 + limb2: 0x1a51995a49d50f26, }, r1a1: u288 { limb0: 0xeb7bdec4b7e304bbb0450608, limb1: 0x11fc9a124b8c74b3d5560ea4, - limb2: 0xbfa9bd7f55ad8ac - } + limb2: 0xbfa9bd7f55ad8ac, + }, }, G2Line { r0a0: u288 { limb0: 0x4f28d4247eb0e0a53f03f444, limb1: 0xe8f36708d074dd12e311c7aa, - limb2: 0x1d92749e4fc01c06 + limb2: 0x1d92749e4fc01c06, }, r0a1: u288 { limb0: 0x250166cbdf943b8f355f3863, limb1: 0xc5fb4230bafe5e79ca84b40c, - limb2: 0xd5d8ec40858dc7b + limb2: 0xd5d8ec40858dc7b, }, r1a0: u288 { limb0: 0xab518924ec9867879e25582a, limb1: 0x2d3857a7fcba7b3149f2102e, - limb2: 0x524fec03876938c + limb2: 0x524fec03876938c, }, r1a1: u288 { limb0: 0xf56af23dcb095ed80aa220e7, limb1: 0xb67dbb76fc439aae6b2dd36a, - limb2: 0x2b6f640edeaa501d - } + limb2: 0x2b6f640edeaa501d, + }, }, G2Line { r0a0: u288 { limb0: 0x2fdc574c85cf0c0ce5e07a51, limb1: 0xd2439bf7b00bddc4cfb01b0c, - limb2: 0x125c3bbdeb0bd2da + limb2: 0x125c3bbdeb0bd2da, }, r0a1: u288 { limb0: 0x9d664714bae53cafcb5ef55d, limb1: 0x495c01724790853548f5e4de, - limb2: 0x2ce5e2e263725941 + limb2: 0x2ce5e2e263725941, }, r1a0: u288 { limb0: 0x98071eb7fe88c9124aee3774, limb1: 0xc3f66947a52bd2f6d520579f, - limb2: 0x2eaf775dbd52f7d3 + limb2: 0x2eaf775dbd52f7d3, }, r1a1: u288 { limb0: 0x23e5594948e21db2061dca92, limb1: 0xd0ffa6f6c77290531c185431, - limb2: 0x604c085de03afb1 - } + limb2: 0x604c085de03afb1, + }, }, G2Line { r0a0: u288 { limb0: 0xccbab5c7a0c5742ffa48733a, limb1: 0x23ef71f3d85c3bcf13168107, - limb2: 0x2ddb1f0a6d652587 + limb2: 0x2ddb1f0a6d652587, }, r0a1: u288 { limb0: 0xc28304e1eab794df6c6e2292, limb1: 0x7ec85b63501012b9d7b45342, - limb2: 0x1b2d2e2c38abb2e + limb2: 0x1b2d2e2c38abb2e, }, r1a0: u288 { limb0: 0xea706451e63a0b21024ffdf1, limb1: 0x138461dd2f2d3f164edfa0a3, - limb2: 0x1ca4c45bdf45ca1f + limb2: 0x1ca4c45bdf45ca1f, }, r1a1: u288 { limb0: 0x52cb07c8413f40678dac95f1, limb1: 0xff127a91385511589a9f1879, - limb2: 0x25e33c022d25bf1f - } + limb2: 0x25e33c022d25bf1f, + }, }, G2Line { r0a0: u288 { limb0: 0xeec2912e15f6bda39d4e005e, limb1: 0x2b8610c44d27bdbc6ba2aac5, - limb2: 0x78ddc4573fc1fed + limb2: 0x78ddc4573fc1fed, }, r0a1: u288 { limb0: 0x48099a0da11ea21de015229d, limb1: 0x5fe937100967d5cc544f4af1, - limb2: 0x2c9ffe6d7d7e9631 + limb2: 0x2c9ffe6d7d7e9631, }, r1a0: u288 { limb0: 0xa70d251296ef1ae37ceb7d03, limb1: 0x2adadcb7d219bb1580e6e9c, - limb2: 0x180481a57f22fd03 + limb2: 0x180481a57f22fd03, }, r1a1: u288 { limb0: 0xacf46db9631037dd933eb72a, limb1: 0x8a58491815c7656292a77d29, - limb2: 0x261e3516c348ae12 - } + limb2: 0x261e3516c348ae12, + }, }, G2Line { r0a0: u288 { limb0: 0xccb3ff79c694e37dfd96245c, limb1: 0x22190f1ae73883eea23de9ef, - limb2: 0x20a63d2ddd9170cb + limb2: 0x20a63d2ddd9170cb, }, r0a1: u288 { limb0: 0xc2d93202f4bc4125b32a040f, limb1: 0x878fad8024db67f55bb868ad, - limb2: 0x19f19dfc985e42b4 + limb2: 0x19f19dfc985e42b4, }, r1a0: u288 { limb0: 0xeed43376f2c4880094eb048b, limb1: 0x8c113b83e273d1c9e467294, - limb2: 0x14c7cf40ca1595d1 + limb2: 0x14c7cf40ca1595d1, }, r1a1: u288 { limb0: 0x3a25b6562577b927dce53ee6, limb1: 0xd87119330d4005ed54acb4c5, - limb2: 0x2eda2b2bb0c37f0e - } + limb2: 0x2eda2b2bb0c37f0e, + }, }, G2Line { r0a0: u288 { limb0: 0x2bfa32f0a09c3e2cfb8f6a38, limb1: 0x7a24df3ff3c7119a59d49318, - limb2: 0x10e42281d64907ba + limb2: 0x10e42281d64907ba, }, r0a1: u288 { limb0: 0xce42177a66cdeb4207d11e0c, limb1: 0x3322aa425a9ca270152372ad, - limb2: 0x2f7fa83db407600c + limb2: 0x2f7fa83db407600c, }, r1a0: u288 { limb0: 0x62a8ff94fd1c7b9035af4446, limb1: 0x3ad500601bbb6e7ed1301377, - limb2: 0x254d253ca06928f + limb2: 0x254d253ca06928f, }, r1a1: u288 { limb0: 0xf8f1787cd8e730c904b4386d, limb1: 0x7fd3744349918d62c42d24cc, - limb2: 0x28a05e105d652eb8 - } + limb2: 0x28a05e105d652eb8, + }, }, G2Line { r0a0: u288 { limb0: 0x6ef31e059d602897fa8e80a8, limb1: 0x66a0710847b6609ceda5140, - limb2: 0x228c0e568f1eb9c0 + limb2: 0x228c0e568f1eb9c0, }, r0a1: u288 { limb0: 0x7b47b1b133c1297b45cdd79b, limb1: 0x6b4f04ed71b58dafd06b527b, - limb2: 0x13ae6db5254df01a + limb2: 0x13ae6db5254df01a, }, r1a0: u288 { limb0: 0xbeca2fccf7d0754dcf23ddda, limb1: 0xe3d0bcd7d9496d1e5afb0a59, - limb2: 0x305a0afb142cf442 + limb2: 0x305a0afb142cf442, }, r1a1: u288 { limb0: 0x2d299847431477c899560ecf, limb1: 0xbcd9e6c30bedee116b043d8d, - limb2: 0x79473a2a7438353 - } + limb2: 0x79473a2a7438353, + }, }, G2Line { r0a0: u288 { limb0: 0x600b4b9519e953b3ee0e8c95, limb1: 0x5521bdd3beeb7377b82d285d, - limb2: 0x18d5f5e49adfcbc7 + limb2: 0x18d5f5e49adfcbc7, }, r0a1: u288 { limb0: 0xd5da0bb68787af76cb5c5d9f, limb1: 0x75637ba2a835852f330b73c9, - limb2: 0x547e04907fd564d + limb2: 0x547e04907fd564d, }, r1a0: u288 { limb0: 0x2ee91610a62eaa46e2df5e41, limb1: 0x4326c823b5fdae59ff826534, - limb2: 0x2f7f8d90704505d2 + limb2: 0x2f7f8d90704505d2, }, r1a1: u288 { limb0: 0x603491072f5e6e9336e946e6, limb1: 0xf60cf3ac408aed3af2d2e97b, - limb2: 0x2eb99a813ff2d8c2 - } + limb2: 0x2eb99a813ff2d8c2, + }, }, G2Line { r0a0: u288 { limb0: 0x350da7c3e0673cf3f43b36a2, limb1: 0x538deac84e666e5410d11977, - limb2: 0x12cd3b832ded258 + limb2: 0x12cd3b832ded258, }, r0a1: u288 { limb0: 0x48f25dd2ac7a858423fb6067, limb1: 0xd065e44fc48bf19dd02adc4d, - limb2: 0xb645848420703f3 + limb2: 0xb645848420703f3, }, r1a0: u288 { limb0: 0x195a790100143ea9110ceda1, limb1: 0x20b1e1e4a731d94efa584cc5, - limb2: 0xf8b3a6618e4d7ce + limb2: 0xf8b3a6618e4d7ce, }, r1a1: u288 { limb0: 0x614c9b88c1a7229f818fec48, limb1: 0x4c165313932d060fee7871d7, - limb2: 0x2e152a41f78cb225 - } + limb2: 0x2e152a41f78cb225, + }, }, G2Line { r0a0: u288 { limb0: 0x65b71fe695e7ccd4b460dace, limb1: 0xa6ceba62ef334e6fe91301d5, - limb2: 0x299f578d0f3554e6 + limb2: 0x299f578d0f3554e6, }, r0a1: u288 { limb0: 0xaf781dd030a274e7ecf0cfa4, limb1: 0x2095020d373a14d7967797aa, - limb2: 0x6a7f9df6f185bf8 + limb2: 0x6a7f9df6f185bf8, }, r1a0: u288 { limb0: 0x8e91e2dba67d130a0b274df3, limb1: 0xe192a19fce285c12c6770089, - limb2: 0x6e9acf4205c2e22 + limb2: 0x6e9acf4205c2e22, }, r1a1: u288 { limb0: 0xbcd5c206b5f9c77d667189bf, limb1: 0x656a7e2ebc78255d5242ca9, - limb2: 0x25f43fec41d2b245 - } + limb2: 0x25f43fec41d2b245, + }, }, G2Line { r0a0: u288 { limb0: 0xb1640d670c5c42ea39c8645c, limb1: 0xa18224b68a1319ba86f825f4, - limb2: 0x17d223ba44cd11d8 + limb2: 0x17d223ba44cd11d8, }, r0a1: u288 { limb0: 0x375310f6e347ed50ecfdb77f, limb1: 0x6e63ffec719272c6a7aee308, - limb2: 0x12641a4735391a7d + limb2: 0x12641a4735391a7d, }, r1a0: u288 { limb0: 0x5e6ca7022b2145d736b05d42, limb1: 0xf3e3c6f9b543e2e50981a13d, - limb2: 0x1c6256a011a7141d + limb2: 0x1c6256a011a7141d, }, r1a1: u288 { limb0: 0xf19cf9a30aba1b73475bd2e1, limb1: 0xdad570fd4dfe617364253c2e, - limb2: 0x1887c3b2804d9969 - } + limb2: 0x1887c3b2804d9969, + }, }, G2Line { r0a0: u288 { limb0: 0x4e56e6733cce20d9c5b16d96, limb1: 0xc7ef260535fb75b9d3e089f, - limb2: 0x292dd4aa636e7729 + limb2: 0x292dd4aa636e7729, }, r0a1: u288 { limb0: 0x6e7e1038b336f36519c9faaf, limb1: 0x3c66bd609510309485e225c7, - limb2: 0x10cacac137411eb + limb2: 0x10cacac137411eb, }, r1a0: u288 { limb0: 0x4a3e8b96278ac092fe4f3b15, limb1: 0xba47e583e2750b42f93c9631, - limb2: 0x125da6bd69495bb9 + limb2: 0x125da6bd69495bb9, }, r1a1: u288 { limb0: 0xae7a56ab4b959a5f6060d529, limb1: 0xc3c263bfd58c0030c063a48e, - limb2: 0x2f4d15f13fae788c - } + limb2: 0x2f4d15f13fae788c, + }, }, G2Line { r0a0: u288 { limb0: 0x301e0885c84d273b6d323124, limb1: 0x11fd5c75e269f7a30fa4154f, - limb2: 0x19afdcfdcce2fc0d + limb2: 0x19afdcfdcce2fc0d, }, r0a1: u288 { limb0: 0x3d13519f934526be815c38b0, limb1: 0xd43735909547da73838874fc, - limb2: 0x255d8aca30f4e0f6 + limb2: 0x255d8aca30f4e0f6, }, r1a0: u288 { limb0: 0x90a505b76f25a3396e2cea79, limb1: 0x3957a2d0848c54b9079fc114, - limb2: 0x1ba0cd3a9fe6d4bb + limb2: 0x1ba0cd3a9fe6d4bb, }, r1a1: u288 { limb0: 0xc47930fba77a46ebb1db30a9, limb1: 0x993a1cb166e9d40bebab02b2, - limb2: 0x1deb16166d48118b - } + limb2: 0x1deb16166d48118b, + }, }, G2Line { r0a0: u288 { limb0: 0x4cd552da29fd9e651de0c8e2, limb1: 0xcc66e31a0c0f35da5393e234, - limb2: 0x42aae7aba0de5d3 + limb2: 0x42aae7aba0de5d3, }, r0a1: u288 { limb0: 0x4ec69646eae3453b41574b3d, limb1: 0x3600bbee129f0eb4a09e5097, - limb2: 0xd759ae3f0b2e8e + limb2: 0xd759ae3f0b2e8e, }, r1a0: u288 { limb0: 0xa098f16a71c8341329b1faad, limb1: 0xb3eab89ea27edf122016c983, - limb2: 0x180cc8977130fe33 + limb2: 0x180cc8977130fe33, }, r1a1: u288 { limb0: 0xf8c7bee62fa29f3dcd7d52e, limb1: 0xe43d14e1cb4f03890d983fc9, - limb2: 0x1bbf95afef389b1c - } + limb2: 0x1bbf95afef389b1c, + }, }, G2Line { r0a0: u288 { limb0: 0x44e4b10ad926a88d371adac0, limb1: 0xb3b1d13d9118e162063df933, - limb2: 0x21f73fdf31a07aab + limb2: 0x21f73fdf31a07aab, }, r0a1: u288 { limb0: 0xd14093e583f58b3af5ae4db5, limb1: 0x827dd1bbff5a346179ad72b6, - limb2: 0x2ebf5e6b9398b99 + limb2: 0x2ebf5e6b9398b99, }, r1a0: u288 { limb0: 0x29134bd0139058c474b7afa2, limb1: 0xdca7021954756e1ac4eac6cc, - limb2: 0x26f440512341e287 + limb2: 0x26f440512341e287, }, r1a1: u288 { limb0: 0x6c1e14e15abb23010dc1e33a, limb1: 0xe96c50d655a06866163356cd, - limb2: 0x1f4a622ecad37469 - } + limb2: 0x1f4a622ecad37469, + }, }, G2Line { r0a0: u288 { limb0: 0xb15bbaec50ff49d30e49f74a, limb1: 0xc90a8c79fb045c5468f14151, - limb2: 0x25e47927e92df0e3 + limb2: 0x25e47927e92df0e3, }, r0a1: u288 { limb0: 0x57f66909d5d40dfb8c7b4d5c, limb1: 0xea5265282e2139c48c1953f2, - limb2: 0x2d7f5e6aff2381f6 + limb2: 0x2d7f5e6aff2381f6, }, r1a0: u288 { limb0: 0x2a2f573b189a3c8832231394, limb1: 0x738abc15844895ffd4733587, - limb2: 0x20aa11739c4b9bb4 + limb2: 0x20aa11739c4b9bb4, }, r1a1: u288 { limb0: 0x51695ec614f1ff4cce2f65d1, limb1: 0x6765aae6cb895a2406a6dd7e, - limb2: 0x1126ee431c522da0 - } + limb2: 0x1126ee431c522da0, + }, }, G2Line { r0a0: u288 { limb0: 0x789cfeffdbc8dab4651b6a26, limb1: 0x9709af4c379fbf84608e067b, - limb2: 0xdbc2e8191a825bf + limb2: 0xdbc2e8191a825bf, }, r0a1: u288 { limb0: 0x86c0cc51d698fc12702f534f, limb1: 0x6888fbb5d2f53711495f5bd2, - limb2: 0x2c192d6229821616 + limb2: 0x2c192d6229821616, }, r1a0: u288 { limb0: 0x51c5533eb07345679f648982, limb1: 0xa08ae72cfd598899b1cfc8ac, - limb2: 0x26557347bd8f0ef8 + limb2: 0x26557347bd8f0ef8, }, r1a1: u288 { limb0: 0x749300bfda23c67cefec814a, limb1: 0x8bfdcaf7b0e1774c2238299c, - limb2: 0x5b310a47c2757be - } + limb2: 0x5b310a47c2757be, + }, }, G2Line { r0a0: u288 { limb0: 0x9214fc3209f1518b05fd21c6, limb1: 0x9bc8ce4f56423009710770e8, - limb2: 0x32445cc6972799c + limb2: 0x32445cc6972799c, }, r0a1: u288 { limb0: 0x93ef401ecd9cfae3644d22e6, limb1: 0xce5a741a9847a144cfaf8c96, - limb2: 0xf7a814d5726da4a + limb2: 0xf7a814d5726da4a, }, r1a0: u288 { limb0: 0xd19264d986f163b133a91c0c, limb1: 0x529dc5ce4b193c0f672c6a32, - limb2: 0x2e9a118959353374 + limb2: 0x2e9a118959353374, }, r1a1: u288 { limb0: 0x3d97d6e8f45072cc9e85e412, limb1: 0x4dafecb04c3bb23c374f0486, - limb2: 0xa174dd4ac8ee628 - } + limb2: 0xa174dd4ac8ee628, + }, }, G2Line { r0a0: u288 { limb0: 0xe0decaadc4a6f0ba8f9bef29, limb1: 0xedcb07e1177fa819f638157b, - limb2: 0x250c15a64da6f7e5 + limb2: 0x250c15a64da6f7e5, }, r0a1: u288 { limb0: 0x95f4d7c766ce8f325a768fc6, limb1: 0x470a0797ad6c0afcfeb285a5, - limb2: 0x283e4ee1041ce0ef + limb2: 0x283e4ee1041ce0ef, }, r1a0: u288 { limb0: 0x8b4de3ce49b6e957c99abaa3, limb1: 0xb3f53ce50c860f9232a19797, - limb2: 0x178ba1cb5c741f25 + limb2: 0x178ba1cb5c741f25, }, r1a1: u288 { limb0: 0xd0665772d47dcae22fac6c39, limb1: 0x904d57afdd91e177f3f871fb, - limb2: 0x15a3517d026d204a - } + limb2: 0x15a3517d026d204a, + }, }, G2Line { r0a0: u288 { limb0: 0x98d8b0c4adcf27bceb305c2c, limb1: 0x859afa9c7668ed6152d8cba3, - limb2: 0x29e7694f46e3a272 + limb2: 0x29e7694f46e3a272, }, r0a1: u288 { limb0: 0x1d970845365594307ba97556, limb1: 0xd002d93ad793e154afe5b49b, - limb2: 0x12ca77d3fb8eee63 + limb2: 0x12ca77d3fb8eee63, }, r1a0: u288 { limb0: 0x9f2934faefb8268e20d0e337, limb1: 0xbc4b5e1ec056881319f08766, - limb2: 0x2e103461759a9ee4 + limb2: 0x2e103461759a9ee4, }, r1a1: u288 { limb0: 0x7adc6cb87d6b43000e2466b6, limb1: 0x65e5cefa42b25a7ee8925fa6, - limb2: 0x2560115898d7362a - } + limb2: 0x2560115898d7362a, + }, }, G2Line { r0a0: u288 { limb0: 0xe27a38a6ce9cdfb13f9c8286, limb1: 0xeb63852dd134515d2d71cca4, - limb2: 0xfc2f00d7f215816 + limb2: 0xfc2f00d7f215816, }, r0a1: u288 { limb0: 0xfc16f37b3bc5798c84900f79, limb1: 0x83e431402739fa2dec80fe3a, - limb2: 0x282a3a6c64efd070 + limb2: 0x282a3a6c64efd070, }, r1a0: u288 { limb0: 0xa16f756a6c64bced06a5309, limb1: 0x363b474c08a16450efe71ff0, - limb2: 0xa6d4ebe758d6f36 + limb2: 0xa6d4ebe758d6f36, }, r1a1: u288 { limb0: 0x3982faffb05ae6b720c25980, limb1: 0xf3343c79e7656f32b7fcd2c2, - limb2: 0x131f7ba1d69acc0 - } + limb2: 0x131f7ba1d69acc0, + }, }, G2Line { r0a0: u288 { limb0: 0x64d864643668392c0e357cc4, limb1: 0x4c9bf66853f1b287015ab84c, - limb2: 0x2f5f1b92ad7ee4d4 + limb2: 0x2f5f1b92ad7ee4d4, }, r0a1: u288 { limb0: 0xdc33c8da5c575eef6987a0e1, limb1: 0x51cc07c7ef28e1b8d934bc32, - limb2: 0x2358d94a17ec2a44 + limb2: 0x2358d94a17ec2a44, }, r1a0: u288 { limb0: 0xf659845b829bbba363a2497b, limb1: 0x440f348e4e7bed1fb1eb47b2, - limb2: 0x1ad0eaab0fb0bdab + limb2: 0x1ad0eaab0fb0bdab, }, r1a1: u288 { limb0: 0x1944bb6901a1af6ea9afa6fc, limb1: 0x132319df135dedddf5baae67, - limb2: 0x52598294643a4aa - } + limb2: 0x52598294643a4aa, + }, }, G2Line { r0a0: u288 { limb0: 0x76fd94c5e6f17fa6741bd7de, limb1: 0xc2e0831024f67d21013e0bdd, - limb2: 0x21e2af6a43119665 + limb2: 0x21e2af6a43119665, }, r0a1: u288 { limb0: 0xad290eab38c64c0d8b13879b, limb1: 0xdd67f881be32b09d9a6c76a0, - limb2: 0x8000712ce0392f2 + limb2: 0x8000712ce0392f2, }, r1a0: u288 { limb0: 0xd30a46f4ba2dee3c7ace0a37, limb1: 0x3914314f4ec56ff61e2c29e, - limb2: 0x22ae1ba6cd84d822 + limb2: 0x22ae1ba6cd84d822, }, r1a1: u288 { limb0: 0x5d888a78f6dfce9e7544f142, limb1: 0x9439156de974d3fb6d6bda6e, - limb2: 0x106c8f9a27d41a4f - } + limb2: 0x106c8f9a27d41a4f, + }, }, G2Line { r0a0: u288 { limb0: 0xef94f7e14e43d05d5dc2a5db, limb1: 0x4e730ef91962d53d5c144d45, - limb2: 0x20c9f09ee430fc34 + limb2: 0x20c9f09ee430fc34, }, r0a1: u288 { limb0: 0xa26d6c5d462131f93142d52e, limb1: 0xddc49643f51ee6cabe8581db, - limb2: 0x13752caf1cbc8d5c + limb2: 0x13752caf1cbc8d5c, }, r1a0: u288 { limb0: 0xf8c77031a63d9e67f9cc1728, limb1: 0x40ecf28120f0408a120e9543, - limb2: 0x53bc5d43cd08518 + limb2: 0x53bc5d43cd08518, }, r1a1: u288 { limb0: 0x2ff127952b99119f98242817, limb1: 0xe63c504a65debdba3a64a2a3, - limb2: 0xfbcb43f42a22fa6 - } + limb2: 0xfbcb43f42a22fa6, + }, }, G2Line { r0a0: u288 { limb0: 0x630d73532bae9432978d34ff, limb1: 0xe4a093616a16f8e01725dacf, - limb2: 0xd61e1e87abe2d12 + limb2: 0xd61e1e87abe2d12, }, r0a1: u288 { limb0: 0x3d565745a48f3955ef821005, limb1: 0x7cdb83651ff9aa4ef947961d, - limb2: 0x7d5b56b1d0a908f + limb2: 0x7d5b56b1d0a908f, }, r1a0: u288 { limb0: 0xf25332dd3bf9a4dab863f549, limb1: 0xf99418f7ce25f482560b7701, - limb2: 0x17bd8e06468f8145 + limb2: 0x17bd8e06468f8145, }, r1a1: u288 { limb0: 0x4b0de83ffea0e589fc53d3a3, limb1: 0x96bde86047edd08f7d63568b, - limb2: 0x30d5ab74cb92f3 - } + limb2: 0x30d5ab74cb92f3, + }, }, G2Line { r0a0: u288 { limb0: 0x92c09e4796207b802168341b, limb1: 0xd2d9d6acffd7829066cc49ce, - limb2: 0xc89c2d0a7b2c81e + limb2: 0xc89c2d0a7b2c81e, }, r0a1: u288 { limb0: 0x47e3c1cf6cdb6f3efe778c7f, limb1: 0x66b347099b6436794cf062eb, - limb2: 0x18b4ccc64ae0a857 + limb2: 0x18b4ccc64ae0a857, }, r1a0: u288 { limb0: 0x7d5793606a73b2740c71484a, limb1: 0xa0070135ca2dc571b28e3c9c, - limb2: 0x1bc03576e04b94cf + limb2: 0x1bc03576e04b94cf, }, r1a1: u288 { limb0: 0x1ba85b29875e638c10f16c99, limb1: 0x158f2f2acc3c2300bb9f9225, - limb2: 0x42d8a8c36ea97c6 - } + limb2: 0x42d8a8c36ea97c6, + }, }, G2Line { r0a0: u288 { limb0: 0xd97e0326411cc47c8ddf6cc0, limb1: 0xedd2060bcddeab614c518345, - limb2: 0x239a5cadf3237a4c + limb2: 0x239a5cadf3237a4c, }, r0a1: u288 { limb0: 0xcf2af0314a2d2a3bf1547087, limb1: 0x7b7e846df9427bc1372f694e, - limb2: 0x8af0c75ccf976e1 + limb2: 0x8af0c75ccf976e1, }, r1a0: u288 { limb0: 0x6b595ad762f8b423178a5193, limb1: 0x878023a4a74f60fa4c38551d, - limb2: 0xfe35f515dd9c4b0 + limb2: 0xfe35f515dd9c4b0, }, r1a1: u288 { limb0: 0x42ef091d46c538aacf95bd37, limb1: 0xe51c322ac17cc06c2da7a4ef, - limb2: 0x145b8ddb9dd19415 - } + limb2: 0x145b8ddb9dd19415, + }, }, G2Line { r0a0: u288 { limb0: 0x9440ad13408319cecb07087b, limb1: 0x537afc0c0cfe8ff761c24e08, - limb2: 0x48e4ac10081048d + limb2: 0x48e4ac10081048d, }, r0a1: u288 { limb0: 0xa37fb82b03a2c0bb2aa50c4f, limb1: 0xd3797f05c8fb84f6b630dfb, - limb2: 0x2dffde2d6c7e43ff + limb2: 0x2dffde2d6c7e43ff, }, r1a0: u288 { limb0: 0xc55d2eb1ea953275e780e65b, limb1: 0xe141cf680cab57483c02e4c7, - limb2: 0x1b71395ce5ce20ae + limb2: 0x1b71395ce5ce20ae, }, r1a1: u288 { limb0: 0xe4fab521f1212a1d301065de, limb1: 0x4f8d31c78df3dbe4ab721ef2, - limb2: 0x2828f21554706a0e - } + limb2: 0x2828f21554706a0e, + }, }, G2Line { r0a0: u288 { limb0: 0x8cefc2f2af2a3082b790784e, limb1: 0x97ac13b37c6fbfc736a3d456, - limb2: 0x683b1cdffd60acd + limb2: 0x683b1cdffd60acd, }, r0a1: u288 { limb0: 0xa266a8188a8c933dcffe2d02, limb1: 0x18d3934c1838d7bce81b2eeb, - limb2: 0x206ac5cdda42377 + limb2: 0x206ac5cdda42377, }, r1a0: u288 { limb0: 0x90332652437f6e177dc3b28c, limb1: 0x75bd8199433d607735414ee8, - limb2: 0x29d6842d8298cf7e + limb2: 0x29d6842d8298cf7e, }, r1a1: u288 { limb0: 0xadedf46d8ea11932db0018e1, limb1: 0xbc7239ae9d1453258037befb, - limb2: 0x22e7ebdd72c6f7a1 - } + limb2: 0x22e7ebdd72c6f7a1, + }, }, G2Line { r0a0: u288 { limb0: 0x66c7ba638481b515f47a47c, limb1: 0x65816eb626f569ff9a70086, - limb2: 0x1c76016adf110695 + limb2: 0x1c76016adf110695, }, r0a1: u288 { limb0: 0x199bb5ce01eed8832bffe868, limb1: 0xebc07bcbec47e8dacaccaa61, - limb2: 0x300f40e8fb08f35b + limb2: 0x300f40e8fb08f35b, }, r1a0: u288 { limb0: 0x1117803a9b699abce47fc1a8, limb1: 0x9f777c5f5e1fc6e3669c18fb, - limb2: 0x1daa971b94559380 + limb2: 0x1daa971b94559380, }, r1a1: u288 { limb0: 0x5eaa67a030b5bca05aa5fb15, limb1: 0x5c3219862943bebd194b2f50, - limb2: 0x2adfacb421dcf6a7 - } + limb2: 0x2adfacb421dcf6a7, + }, }, G2Line { r0a0: u288 { limb0: 0x74939dcacb9e9e2b711e8447, limb1: 0xf9ad27eef11cbbc8b3ab249e, - limb2: 0x11aab57aeb6656ce + limb2: 0x11aab57aeb6656ce, }, r0a1: u288 { limb0: 0xa9f5cb1a26ce6c0257dd7da9, limb1: 0x8e135e3fac96755521af3f2c, - limb2: 0x276dbb0ae508576b + limb2: 0x276dbb0ae508576b, }, r1a0: u288 { limb0: 0xc3cb26994a44bc35fe3619ba, limb1: 0xec35244c6c46a69c781e84ed, - limb2: 0xc9c12355c7afba0 + limb2: 0xc9c12355c7afba0, }, r1a1: u288 { limb0: 0x886847b97e3bc0b7dec24b8e, limb1: 0x3ef24e4c1bd0f2a40ec42a4f, - limb2: 0x4f303d145c4a8e1 - } + limb2: 0x4f303d145c4a8e1, + }, }, G2Line { r0a0: u288 { limb0: 0x348e15357d9299e582033136, limb1: 0x53578c46b15abb39da35a56e, - limb2: 0x1043b711f86bb33f + limb2: 0x1043b711f86bb33f, }, r0a1: u288 { limb0: 0x9fa230a629b75217f0518e7c, limb1: 0x77012a4bb8751322a406024d, - limb2: 0x121e2d845d972695 + limb2: 0x121e2d845d972695, }, r1a0: u288 { limb0: 0x5600f2d51f21d9dfac35eb10, limb1: 0x6fde61f876fb76611fb86c1a, - limb2: 0x2bf4fbaf5bd0d0df + limb2: 0x2bf4fbaf5bd0d0df, }, r1a1: u288 { limb0: 0xd732aa0b6161aaffdae95324, limb1: 0xb3c4f8c3770402d245692464, - limb2: 0x2a0f1740a293e6f0 - } + limb2: 0x2a0f1740a293e6f0, + }, }, G2Line { r0a0: u288 { limb0: 0x5ee47e2aec7d88c58896ef36, limb1: 0x894bd20abe674c0208e35a93, - limb2: 0x1a42417dc0038755 + limb2: 0x1a42417dc0038755, }, r0a1: u288 { limb0: 0x8bba265a6ba9c5bd6c17788d, limb1: 0x43709c02f70bc99b6d6927cb, - limb2: 0xb456dc8d4bbbd49 + limb2: 0xb456dc8d4bbbd49, }, r1a0: u288 { limb0: 0x368d2f5f3940fe781a54de5c, limb1: 0x611afd760bcdd16d7e5098fd, - limb2: 0x2602a5e773cb12a0 + limb2: 0x2602a5e773cb12a0, }, r1a1: u288 { limb0: 0x70b8eaf8db4b85dec76261af, limb1: 0xd8b6dbb7ad62764263175efc, - limb2: 0x27797f327aa59ac1 - } + limb2: 0x27797f327aa59ac1, + }, }, G2Line { r0a0: u288 { limb0: 0xa9e2efa41aaa98ab59728940, limb1: 0x163c0425f66ce72daef2f53e, - limb2: 0x2feaf1b1770aa7d8 + limb2: 0x2feaf1b1770aa7d8, }, r0a1: u288 { limb0: 0x3bb7afd3c0a79b6ac2c4c063, limb1: 0xee5cb42e8b2bc999e312e032, - limb2: 0x1af2071ae77151c3 + limb2: 0x1af2071ae77151c3, }, r1a0: u288 { limb0: 0x1cef1c0d8956d7ceb2b162e7, limb1: 0x202b4af9e51edfc81a943ded, - limb2: 0xc9e943ffbdcfdcb + limb2: 0xc9e943ffbdcfdcb, }, r1a1: u288 { limb0: 0xe18b1b34798b0a18d5ad43dd, limb1: 0x55e8237731941007099af6b8, - limb2: 0x1472c0290db54042 - } + limb2: 0x1472c0290db54042, + }, }, G2Line { r0a0: u288 { limb0: 0x91080fd5aaedc517d9cd2fa, limb1: 0x3edc290fc4568f8f972c94a6, - limb2: 0x2535859135a1ab3a + limb2: 0x2535859135a1ab3a, }, r0a1: u288 { limb0: 0x626ef15bd0158b028321fabc, limb1: 0x511811c5a645349dc6e8c96, - limb2: 0x5ea2a954421df52 + limb2: 0x5ea2a954421df52, }, r1a0: u288 { limb0: 0x532b1df5972f804688da2382, limb1: 0x1eb61d485a40951340c80738, - limb2: 0x2a8354857d28abef + limb2: 0x2a8354857d28abef, }, r1a1: u288 { limb0: 0x9b597bfbeec11cc3e137309f, limb1: 0xe36ae879e4cd9dd54c6daee4, - limb2: 0x1408ffb495b57485 - } + limb2: 0x1408ffb495b57485, + }, }, G2Line { r0a0: u288 { limb0: 0xb4c7963e0d1dc082de0725e, limb1: 0x375a7a3d765918de24804223, - limb2: 0xf177b77b031596d + limb2: 0xf177b77b031596d, }, r0a1: u288 { limb0: 0x87a7b9c5f10500b0b40d7a1e, limb1: 0x6f234d1dc7f1394b55858810, - limb2: 0x26288146660a3914 + limb2: 0x26288146660a3914, }, r1a0: u288 { limb0: 0xa6308c89cebe40447abf4a9a, limb1: 0x657f0fdda13b1f8ee314c22, - limb2: 0x1701aabc250a9cc7 + limb2: 0x1701aabc250a9cc7, }, r1a1: u288 { limb0: 0x9db9bf660dc77cbe2788a755, limb1: 0xbdf9c1c15a4bd502a119fb98, - limb2: 0x14b4de3d26bd66e1 - } + limb2: 0x14b4de3d26bd66e1, + }, }, G2Line { r0a0: u288 { limb0: 0x53c49c62ca96007e14435295, limb1: 0x85aeb885e4123ca8d3232fdf, - limb2: 0x750017ce108abf3 + limb2: 0x750017ce108abf3, }, r0a1: u288 { limb0: 0xba6bf3e25d370182e4821239, limb1: 0x39de83bf370bd2ba116e8405, - limb2: 0x2b8417a72ba6d940 + limb2: 0x2b8417a72ba6d940, }, r1a0: u288 { limb0: 0xa922f50550d349849b14307b, limb1: 0x569766b6feca6143a5ddde9d, - limb2: 0x2c3c6765b25a01d + limb2: 0x2c3c6765b25a01d, }, r1a1: u288 { limb0: 0x6016011bdc3b506563b0f117, limb1: 0xbab4932beab93dde9b5b8a5c, - limb2: 0x1bf3f698de0ace60 - } + limb2: 0x1bf3f698de0ace60, + }, }, G2Line { r0a0: u288 { limb0: 0x11925aacbbb5a16eea984791, limb1: 0xbd44a32451e02b8dd9f93e3e, - limb2: 0x283613cb34ee08bc + limb2: 0x283613cb34ee08bc, }, r0a1: u288 { limb0: 0x3bcfcf29d56dda88972d2e0d, limb1: 0x6378f8cff10778665c7e0431, - limb2: 0x252094f8a37eb910 + limb2: 0x252094f8a37eb910, }, r1a0: u288 { limb0: 0x3953dbc38e645187bfc5ddab, limb1: 0xfe6c4a8af9eeb0cffcd42f62, - limb2: 0x298a4e0b8e41a39e + limb2: 0x298a4e0b8e41a39e, }, r1a1: u288 { limb0: 0x50df906117b055421a37fee6, limb1: 0x1bcce56c872adfa5e9664632, - limb2: 0x26a263c500419a69 - } + limb2: 0x26a263c500419a69, + }, }, G2Line { r0a0: u288 { limb0: 0xe1aad2fb2c3aa84b9a6beede, limb1: 0x656ebc5334eace7fe81e6f1, - limb2: 0xe5a68ce75fd9809 + limb2: 0xe5a68ce75fd9809, }, r0a1: u288 { limb0: 0x6e38dd74d56cc193ab28c18d, limb1: 0x489b415a49586e4213e4cab4, - limb2: 0x4b5ae00bb5fb138 + limb2: 0x4b5ae00bb5fb138, }, r1a0: u288 { limb0: 0x710bb610c2843aa686ba9adb, limb1: 0x4035dfa11017ac938fb7892d, - limb2: 0x457e16957861fe5 + limb2: 0x457e16957861fe5, }, r1a1: u288 { limb0: 0x61849b4cb86ead8d7c3d94f1, limb1: 0x518f095dd852d4beac73d260, - limb2: 0x1d7fa08317c2a29 - } + limb2: 0x1d7fa08317c2a29, + }, }, G2Line { r0a0: u288 { limb0: 0xb9f05ffda3ee208f990ff3a8, limb1: 0x6201d08440b28ea672b9ea93, - limb2: 0x1ed60e5a5e778b42 + limb2: 0x1ed60e5a5e778b42, }, r0a1: u288 { limb0: 0x8e8468b937854c9c00582d36, limb1: 0x7888fa8b2850a0c555adb743, - limb2: 0xd1342bd01402f29 + limb2: 0xd1342bd01402f29, }, r1a0: u288 { limb0: 0xf5c4c66a974d45ec754b3873, limb1: 0x34322544ed59f01c835dd28b, - limb2: 0x10fe4487a871a419 + limb2: 0x10fe4487a871a419, }, r1a1: u288 { limb0: 0xedf4af2df7c13d6340069716, limb1: 0x8592eea593ece446e8b2c83b, - limb2: 0x12f9280ce8248724 - } + limb2: 0x12f9280ce8248724, + }, }, G2Line { r0a0: u288 { limb0: 0x560d1b6e56d813240424b220, limb1: 0x78cb46b213324960bc655587, - limb2: 0x179c996c56c57046 + limb2: 0x179c996c56c57046, }, r0a1: u288 { limb0: 0x83a2ba9b9558fad3cde16856, limb1: 0x391e9dc2ffb59f519ae1d2b3, - limb2: 0x121abd4bd4ae70f1 + limb2: 0x121abd4bd4ae70f1, }, r1a0: u288 { limb0: 0x90bb5fac7393b89ce8774706, limb1: 0xe528a21777490d65bbb2a59, - limb2: 0x17649453b4e6f63f + limb2: 0x17649453b4e6f63f, }, r1a1: u288 { limb0: 0xa19760f6b2fff23302d184b9, limb1: 0x4a5200e9c1f545101ae7368f, - limb2: 0x8a9b7df65fb2553 - } + limb2: 0x8a9b7df65fb2553, + }, }, G2Line { r0a0: u288 { limb0: 0xe67f72c6d45f1bb04403139f, limb1: 0x9233e2a95d3f3c3ff2f7e5b8, - limb2: 0x1f931e8e4343b028 + limb2: 0x1f931e8e4343b028, }, r0a1: u288 { limb0: 0x20ef53907af71803ce3ca5ca, limb1: 0xd99b6637ee9c73150b503ea4, - limb2: 0x1c9759def8a98ea8 + limb2: 0x1c9759def8a98ea8, }, r1a0: u288 { limb0: 0xa0a3b24c9089d224822fad53, limb1: 0xdfa2081342a7a895062f3e50, - limb2: 0x185e8cf6b3e494e6 + limb2: 0x185e8cf6b3e494e6, }, r1a1: u288 { limb0: 0x8752a12394b29d0ba799e476, limb1: 0x1493421da067a42e7f3d0f8f, - limb2: 0x67e7fa3e3035edf - } + limb2: 0x67e7fa3e3035edf, + }, }, G2Line { r0a0: u288 { limb0: 0x9d2e2392b2116806c3c64bea, limb1: 0xbc4c1ea53ab2140ee4675a09, - limb2: 0x10ce261919b09742 + limb2: 0x10ce261919b09742, }, r0a1: u288 { limb0: 0xf14f468e5ab675c5fc2db1de, limb1: 0x75de3f46adfc7aba3ce6f8f6, - limb2: 0x2bfcacc6c8f0370a + limb2: 0x2bfcacc6c8f0370a, }, r1a0: u288 { limb0: 0xa138d127e5eb4d3aa9e483f7, limb1: 0x44836fa24f3f8db5aa663f2f, - limb2: 0x12a4a7236c8b0338 + limb2: 0x12a4a7236c8b0338, }, r1a1: u288 { limb0: 0xd6fdaced0679398f5aefc808, limb1: 0x41971bc9ddff0109a6d83fb3, - limb2: 0x1a11d202adb75ba9 - } + limb2: 0x1a11d202adb75ba9, + }, }, G2Line { r0a0: u288 { limb0: 0x6d6138c95464e5e774ae7ba0, limb1: 0xe6ca73a5498e4ccd4bb68fc7, - limb2: 0x15bf8aa8ed1beff6 + limb2: 0x15bf8aa8ed1beff6, }, r0a1: u288 { limb0: 0xabd7c55a134ed405b4966d3c, limb1: 0xe69dd725ccc4f9dd537fe558, - limb2: 0x2df4a03e2588a8f1 + limb2: 0x2df4a03e2588a8f1, }, r1a0: u288 { limb0: 0x7cf42890de0355ffc2480d46, limb1: 0xe33c2ad9627bcb4b028c2358, - limb2: 0x2a18767b40de20bd + limb2: 0x2a18767b40de20bd, }, r1a1: u288 { limb0: 0x79737d4a87fab560f3d811c6, limb1: 0xa88fee5629b91721f2ccdcf7, - limb2: 0x2b51c831d3404d5e - } + limb2: 0x2b51c831d3404d5e, + }, }, G2Line { r0a0: u288 { limb0: 0x9c6a908d0b5cceccb463a4e5, limb1: 0xde65283103f2cb5e00e981d0, - limb2: 0x2e94465a4f7f92d5 + limb2: 0x2e94465a4f7f92d5, }, r0a1: u288 { limb0: 0x1ce77bed9f2198292f766f43, limb1: 0x8a65ff87da43dd4b4620ff1, - limb2: 0xa93dc2061770b84 + limb2: 0xa93dc2061770b84, }, r1a0: u288 { limb0: 0xd4fee00640a18279b3b99d6d, limb1: 0xcbfac423ce971d800796de34, - limb2: 0x69fab7bbec03f8d + limb2: 0x69fab7bbec03f8d, }, r1a1: u288 { limb0: 0xdb42c8aa3f576a04e6740b62, limb1: 0xc6c8a94fd3bf4e501d88ab20, - limb2: 0x1b918d10cac3a421 - } + limb2: 0x1b918d10cac3a421, + }, }, G2Line { r0a0: u288 { limb0: 0x9812f6145cf7e949fa207f20, limb1: 0x4061c36b08d5bcd408b14f19, - limb2: 0x8332e08b2eb51ed + limb2: 0x8332e08b2eb51ed, }, r0a1: u288 { limb0: 0xa4a7ae8f65ba180c523cb33, limb1: 0xb71fabbdc78b1128712d32a5, - limb2: 0x2acd1052fd0fefa7 + limb2: 0x2acd1052fd0fefa7, }, r1a0: u288 { limb0: 0x6ea5598e221f25bf27efc618, limb1: 0xa2c2521a6dd8f306f86d6db7, - limb2: 0x13af144288655944 + limb2: 0x13af144288655944, }, r1a1: u288 { limb0: 0xea469c4b390716a6810fff5d, limb1: 0xf8052694d0fdd3f40b596c20, - limb2: 0x24d0ea6c86e48c5c - } + limb2: 0x24d0ea6c86e48c5c, + }, }, G2Line { r0a0: u288 { limb0: 0x2e39be614d904bafea58a8cd, limb1: 0xf53f0a6a20a1f1783b0ea2d0, - limb2: 0x99c451b7bb726d7 + limb2: 0x99c451b7bb726d7, }, r0a1: u288 { limb0: 0x28ec54a4ca8da838800c573d, limb1: 0xb78365fa47b5e192307b7b87, - limb2: 0x2df87aa88e012fec + limb2: 0x2df87aa88e012fec, }, r1a0: u288 { limb0: 0xfb7022881c6a6fdfb18de4aa, limb1: 0xb9bd30f0e93c5b93ad333bab, - limb2: 0x1dd20cbccdeb9924 + limb2: 0x1dd20cbccdeb9924, }, r1a1: u288 { limb0: 0x16d8dfdf790a6be16a0e55ba, limb1: 0x90ab884395509b9a264472d4, - limb2: 0xeaec571657b6e9d - } + limb2: 0xeaec571657b6e9d, + }, }, G2Line { r0a0: u288 { limb0: 0xaf4fdd1b70eabcd772d77aa1, limb1: 0xc88a9826c1e8212a26e0430d, - limb2: 0x203f7c97e4a936aa + limb2: 0x203f7c97e4a936aa, }, r0a1: u288 { limb0: 0xe2f0c2ac8588b3fa35eb69db, limb1: 0x9bdff7e3611ef6dbded516b4, - limb2: 0x301305ee3abf1df8 + limb2: 0x301305ee3abf1df8, }, r1a0: u288 { limb0: 0xdc0fa9fcb28f71f07f9f23ee, limb1: 0x1145e7453873b8c7d35aa6c2, - limb2: 0x6031f980cdf1d85 + limb2: 0x6031f980cdf1d85, }, r1a1: u288 { limb0: 0x3050ba620d13a3ad894b2ce8, limb1: 0xe82eaab452c4c0a973f4d11d, - limb2: 0x66de04fb2119c6f - } + limb2: 0x66de04fb2119c6f, + }, }, G2Line { r0a0: u288 { limb0: 0x6c5b064e3183ed4bd22126b0, limb1: 0x207825012a83cbe1cf0ece60, - limb2: 0x20721baaf24053f9 + limb2: 0x20721baaf24053f9, }, r0a1: u288 { limb0: 0x1142829a0afaf2b457220e6, limb1: 0x9bd5bf8bdeccec5ad7930329, - limb2: 0x48227f6b84c3faa + limb2: 0x48227f6b84c3faa, }, r1a0: u288 { limb0: 0xba19284d0535c775b1bcc0bf, limb1: 0xcb888ba30fb7151496773d0d, - limb2: 0x198d7753b2b23cab + limb2: 0x198d7753b2b23cab, }, r1a1: u288 { limb0: 0x5c4ec7550d765e8206535706, limb1: 0x56764841e2adda1dacf343c2, - limb2: 0x190bf2077e521671 - } + limb2: 0x190bf2077e521671, + }, }, G2Line { r0a0: u288 { limb0: 0xce78fc6505db036c10fac771, limb1: 0x61f8c0bc7f60ad6415d5e419, - limb2: 0x59009c5cf9ea663 + limb2: 0x59009c5cf9ea663, }, r0a1: u288 { limb0: 0xb3b3f697fc34d64ba053b914, limb1: 0x317af5815ce5bfffc5a6bc97, - limb2: 0x23f97fee4deda847 + limb2: 0x23f97fee4deda847, }, r1a0: u288 { limb0: 0xf559e09cf7a02674ac2fa642, limb1: 0x4fa7548b79cdd054e203689c, - limb2: 0x2173b379d546fb47 + limb2: 0x2173b379d546fb47, }, r1a1: u288 { limb0: 0x758feb5b51caccff9da0f78f, limb1: 0xd7f37a1008233b74c4894f55, - limb2: 0x917c640b4b9627e - } + limb2: 0x917c640b4b9627e, + }, }, G2Line { r0a0: u288 { limb0: 0x44238d6942472eaaaa3c0148, limb1: 0x423cad960738a7343451af0a, - limb2: 0x6d7ac995669fbe6 + limb2: 0x6d7ac995669fbe6, }, r0a1: u288 { limb0: 0x21d741021875ef3da0560516, limb1: 0x3680532e586a90e40215d90e, - limb2: 0x1b91e2d44c10969a + limb2: 0x1b91e2d44c10969a, }, r1a0: u288 { limb0: 0x35753f4be838d08ac282e162, limb1: 0x9cc59d882fa9d2c39d2ac29d, - limb2: 0x68249cbe65852ed + limb2: 0x68249cbe65852ed, }, r1a1: u288 { limb0: 0x33f63b6378843d4aa5d24138, limb1: 0xc55953e8ba9dda553c73f3ba, - limb2: 0x17f2ff3634a5ca7 - } + limb2: 0x17f2ff3634a5ca7, + }, }, G2Line { r0a0: u288 { limb0: 0x72548e0d946b796842cfecd8, limb1: 0x78b54b355e3c26476b0fab82, - limb2: 0x2dc9f32c90b6ba31 + limb2: 0x2dc9f32c90b6ba31, }, r0a1: u288 { limb0: 0xa943be83a6fc90414320753b, limb1: 0xd708fde97241095833ce5a08, - limb2: 0x142111e6a73d2e82 + limb2: 0x142111e6a73d2e82, }, r1a0: u288 { limb0: 0xc79e8d5465ec5f28781e30a2, limb1: 0x697fb9430b9ad050ced6cce, - limb2: 0x1a9d647149842c53 + limb2: 0x1a9d647149842c53, }, r1a1: u288 { limb0: 0x9bab496952559362586725cd, limb1: 0xbe78e5a416d9665be64806de, - limb2: 0x147b550afb4b8b84 - } + limb2: 0x147b550afb4b8b84, + }, }, G2Line { r0a0: u288 { limb0: 0x9e86dd914a2f547b23018fed, limb1: 0xf7705b16ccf6e1f5eb2c0ab3, - limb2: 0x393f6b3257d8b29 + limb2: 0x393f6b3257d8b29, }, r0a1: u288 { limb0: 0x501fcdb81a813fe07121b423, limb1: 0x87f73c02d3918e27053880f5, - limb2: 0x5250523c8eefc8e + limb2: 0x5250523c8eefc8e, }, r1a0: u288 { limb0: 0xb92c92400b5ff996ac4cb9d8, limb1: 0xa121f8c7742792c161dc87fa, - limb2: 0x1ee9797cbb430d7f + limb2: 0x1ee9797cbb430d7f, }, r1a1: u288 { limb0: 0x4db126149d0e1ee2fe5cb1b6, limb1: 0x7e31c6486612929a0807aa58, - limb2: 0x5fa8f994639085b - } + limb2: 0x5fa8f994639085b, + }, }, G2Line { r0a0: u288 { limb0: 0x1422e11013fe6cdd7f843391, limb1: 0xfb96092ab69fc530e27d8d8e, - limb2: 0xe39e04564fedd0 + limb2: 0xe39e04564fedd0, }, r0a1: u288 { limb0: 0xbd4e81e3b4db192e11192788, limb1: 0x805257d3c2bdbc344a15ce0d, - limb2: 0x10ddd4f47445106b + limb2: 0x10ddd4f47445106b, }, r1a0: u288 { limb0: 0x87ab7f750b693ec75bce04e1, limb1: 0x128ba38ebed26d74d26e4d69, - limb2: 0x2f1d22a64c983ab8 + limb2: 0x2f1d22a64c983ab8, }, r1a1: u288 { limb0: 0x74207c17f5c8335183649f77, limb1: 0x7144cd3520ac2e1be3204133, - limb2: 0xb38d0645ab3499d - } + limb2: 0xb38d0645ab3499d, + }, }, G2Line { r0a0: u288 { limb0: 0xcceab2ae34bc8360cb9c77f0, limb1: 0xebd0f65b0fe57d753fcf82c0, - limb2: 0x27251ea468d295d5 + limb2: 0x27251ea468d295d5, }, r0a1: u288 { limb0: 0xd384a0823772729f248e788b, limb1: 0xbb40fc3eea3543a92de84fd2, - limb2: 0x28d3f25248c1dad + limb2: 0x28d3f25248c1dad, }, r1a0: u288 { limb0: 0xddf52b578bca93a0312499e, limb1: 0x31354bfce389ece001a328fb, - limb2: 0xa6e91740fcee43f + limb2: 0xa6e91740fcee43f, }, r1a1: u288 { limb0: 0x8aa8d994bf9d2cdbdcee738, limb1: 0x1989e823e5c2ae514e38943a, - limb2: 0x255d5d5428a217eb - } + limb2: 0x255d5d5428a217eb, + }, }, G2Line { r0a0: u288 { limb0: 0x49173a889c697b0ab07f35bc, limb1: 0xdcffb65f4b4c21ced6b623af, - limb2: 0x1366d12ee6022f7b + limb2: 0x1366d12ee6022f7b, }, r0a1: u288 { limb0: 0x285fdce362f7a79b89c49b5c, limb1: 0xae9358c8eaf26e2fed7353f5, - limb2: 0x21c91fefaf522b5f + limb2: 0x21c91fefaf522b5f, }, r1a0: u288 { limb0: 0x748798f96436e3b18c64964a, limb1: 0xfc3bb221103d3966d0510599, - limb2: 0x167859ae2ebc5e27 + limb2: 0x167859ae2ebc5e27, }, r1a1: u288 { limb0: 0xe3b55b05bb30e23fa7eba05b, limb1: 0xa5fc8b7f7bc6abe91c90ddd5, - limb2: 0xe0da83c6cdebb5a - } + limb2: 0xe0da83c6cdebb5a, + }, }, G2Line { r0a0: u288 { limb0: 0x30a4abff5957209783681bfb, limb1: 0x82d868d5ca421e4f1a0daf79, - limb2: 0x1ba96ef98093d510 + limb2: 0x1ba96ef98093d510, }, r0a1: u288 { limb0: 0xd9132c7f206a6c036a39e432, limb1: 0x8a2dfb94aba29a87046110b8, - limb2: 0x1fad2fd5e5e37395 + limb2: 0x1fad2fd5e5e37395, }, r1a0: u288 { limb0: 0x76b136dc82b82e411b2c44f6, limb1: 0xe405f12052823a54abb9ea95, - limb2: 0xf125ba508c26ddc + limb2: 0xf125ba508c26ddc, }, r1a1: u288 { limb0: 0x1bae07f5f0cc48e5f7aac169, limb1: 0x47d1288d741496a960e1a979, - limb2: 0xa0911f6cc5eb84e - } + limb2: 0xa0911f6cc5eb84e, + }, }, G2Line { r0a0: u288 { limb0: 0x2cedd7b822bb6d72c59dfa7a, limb1: 0x84c3a618db0cf89ec14e5fb5, - limb2: 0x2a032b4f9f60bfc7 + limb2: 0x2a032b4f9f60bfc7, }, r0a1: u288 { limb0: 0x250e463f1e3d31dce9c37bf, limb1: 0x69d332c194b3ce930a4150e2, - limb2: 0x2347156daafd5e1a + limb2: 0x2347156daafd5e1a, }, r1a0: u288 { limb0: 0x4e97ff927721598da12e31ec, limb1: 0x8042e8a2b014700940b5264e, - limb2: 0x183c0e81cc372ab3 + limb2: 0x183c0e81cc372ab3, }, r1a1: u288 { limb0: 0x83eba063918614c4121b187, limb1: 0x75f40ab2be04a52fb200b36f, - limb2: 0x5f483746bdaece2 - } + limb2: 0x5f483746bdaece2, + }, }, G2Line { r0a0: u288 { limb0: 0xfe150b2512bf45c64901f12, limb1: 0xdd621a49d53caad574afcf5a, - limb2: 0x1ec7fbdca257edad + limb2: 0x1ec7fbdca257edad, }, r0a1: u288 { limb0: 0xa3468b881959338092d60e19, limb1: 0xc9d96474e9832f464a4115c4, - limb2: 0x1dd7fd2ab01107b4 + limb2: 0x1dd7fd2ab01107b4, }, r1a0: u288 { limb0: 0x28bfd0fc73f328af71c3b254, limb1: 0x74bd6697ffcf7920a2c9b1a5, - limb2: 0x2001688da3f94c7e + limb2: 0x2001688da3f94c7e, }, r1a1: u288 { limb0: 0x8c3527564c0a00f1f16fb0c2, limb1: 0xed1d021d7a4787e888cb997b, - limb2: 0xd9e4de1708c9a91 - } + limb2: 0xd9e4de1708c9a91, + }, }, G2Line { r0a0: u288 { limb0: 0x2e7b3a5a35456f42e87968e6, limb1: 0xb4303f5093c3a460674a2fcd, - limb2: 0x2b5331f03b8fa15f + limb2: 0x2b5331f03b8fa15f, }, r0a1: u288 { limb0: 0x7cea371d64d8bd0fc5b9427e, limb1: 0x76208e15fc175e352c274fbe, - limb2: 0x5ceb46647d41234 + limb2: 0x5ceb46647d41234, }, r1a0: u288 { limb0: 0x6cdac06bfcf041a30435a560, limb1: 0x15a7ab7ed1df6d7ed12616a6, - limb2: 0x2520b0f462ad4724 + limb2: 0x2520b0f462ad4724, }, r1a1: u288 { limb0: 0xe8b65c5fff04e6a19310802f, limb1: 0xc96324a563d5dab3cd304c64, - limb2: 0x230de25606159b1e - } + limb2: 0x230de25606159b1e, + }, }, G2Line { r0a0: u288 { limb0: 0xf953e7f8e47ce2feb7e3331c, limb1: 0xbb5cbf05aeba907f3a605f71, - limb2: 0x73d64f13e358043 + limb2: 0x73d64f13e358043, }, r0a1: u288 { limb0: 0xdf7e97bb7b23c267a9715500, limb1: 0x14a6f0edaf642eac5e0cbcd2, - limb2: 0x21b655eb924818ce + limb2: 0x21b655eb924818ce, }, r1a0: u288 { limb0: 0x4de920901bce2e75be780d7a, limb1: 0x887987f8923a8866847f7dcc, - limb2: 0x1e427aaef5e99b1 + limb2: 0x1e427aaef5e99b1, }, r1a1: u288 { limb0: 0x407881b650e281edadf6da62, limb1: 0x4e126117bdced59d7ecc3971, - limb2: 0x212f38388dc96cc2 - } + limb2: 0x212f38388dc96cc2, + }, }, G2Line { r0a0: u288 { limb0: 0xb2236e5462d1e11842039bb5, limb1: 0x8d746dd0bb8bb2a455d505c1, - limb2: 0x2fd3f4a905e027ce + limb2: 0x2fd3f4a905e027ce, }, r0a1: u288 { limb0: 0x3d6d9836d71ddf8e3b741b09, limb1: 0x443f16e368feb4cb20a5a1ab, - limb2: 0xb5f19dda13bdfad + limb2: 0xb5f19dda13bdfad, }, r1a0: u288 { limb0: 0x4e5612c2b64a1045a590a938, limb1: 0xbca215d075ce5769db2a29d7, - limb2: 0x161e651ebdfb5065 + limb2: 0x161e651ebdfb5065, }, r1a1: u288 { limb0: 0xc02a55b6685351f24e4bf9c7, limb1: 0x4134240119050f22bc4991c8, - limb2: 0x300bd9f8d76bbc11 - } + limb2: 0x300bd9f8d76bbc11, + }, }, G2Line { r0a0: u288 { limb0: 0xe9296a3a3aed4c4143d2e0ba, limb1: 0x7de973514b499b2da739b3e6, - limb2: 0x1b4b807986fcdee0 + limb2: 0x1b4b807986fcdee0, }, r0a1: u288 { limb0: 0xb9295fecce961afe0c5e6dad, limb1: 0xc4e30c322bcae6d526c4de95, - limb2: 0x1fee592f513ed6b2 + limb2: 0x1fee592f513ed6b2, }, r1a0: u288 { limb0: 0x7245f5e5e803d0d448fafe21, limb1: 0xcbdc032ecb3b7a63899c53d0, - limb2: 0x1fde9ffc17accfc3 + limb2: 0x1fde9ffc17accfc3, }, r1a1: u288 { limb0: 0x8edcc1b2fdd35c87a7814a87, limb1: 0x99d54b5c2fe171c49aa9cb08, - limb2: 0x130ef740e416a6fe - } + limb2: 0x130ef740e416a6fe, + }, }, G2Line { r0a0: u288 { limb0: 0xf75ee16c01ae962ee2ba9a3, limb1: 0x2035c9157b0caf951219f921, - limb2: 0x713e4b2a45dc294 + limb2: 0x713e4b2a45dc294, }, r0a1: u288 { limb0: 0xbf4694f5ae7772c7305a7859, limb1: 0xf3c0d398bd086f2459e692d, - limb2: 0x2866975b159e1ca4 + limb2: 0x2866975b159e1ca4, }, r1a0: u288 { limb0: 0xedc381f2352b0c387c45f492, limb1: 0x9023cfa067a8b300149e0b81, - limb2: 0x1d2ded23f6b7f2ad + limb2: 0x1d2ded23f6b7f2ad, }, r1a1: u288 { limb0: 0x316a42f51539cd79f7d118aa, limb1: 0x84ab6dd38b05c1b031210896, - limb2: 0x2258ebc39bd5474a - } + limb2: 0x2258ebc39bd5474a, + }, }, G2Line { r0a0: u288 { limb0: 0x7c2064c324eb0e930d764c1d, limb1: 0x99228fa2e629a94bfdf42f3f, - limb2: 0x272dd78d94c01250 + limb2: 0x272dd78d94c01250, }, r0a1: u288 { limb0: 0x4ee36a1f37c4689c1996029e, limb1: 0x9f03d366c3af0d7d8b7e94be, - limb2: 0x1099dace57e00d7a + limb2: 0x1099dace57e00d7a, }, r1a0: u288 { limb0: 0xe67ce9c7f6c61221b32698cc, limb1: 0xbfa5ff997788d812a83ff6f3, - limb2: 0xc8a9303dbb80ebd + limb2: 0xc8a9303dbb80ebd, }, r1a1: u288 { limb0: 0x65f9ae631279f79bf59a3c46, limb1: 0xc5dd2a6c8a8b6bbb78abd671, - limb2: 0x1a40c95acd75de89 - } + limb2: 0x1a40c95acd75de89, + }, }, G2Line { r0a0: u288 { limb0: 0x537ecf0916b38aeea21d4e47, limb1: 0x181a00de27ba4be1b380d6c8, - limb2: 0x8c2fe2799316543 + limb2: 0x8c2fe2799316543, }, r0a1: u288 { limb0: 0xe68fff5ee73364fff3fe403b, limb1: 0x7b8685c8a725ae79cfac8f99, - limb2: 0x7b4be349766aba4 + limb2: 0x7b4be349766aba4, }, r1a0: u288 { limb0: 0xdf7c93c0095545ad5e5361ea, limb1: 0xce316c76191f1e7cd7d03f3, - limb2: 0x22ea21f18ddec947 + limb2: 0x22ea21f18ddec947, }, r1a1: u288 { limb0: 0xa19620b4c32db68cc1c2ef0c, limb1: 0xffa1e4be3bed5faba2ccbbf4, - limb2: 0x16fc78a64c45f518 - } + limb2: 0x16fc78a64c45f518, + }, }, G2Line { r0a0: u288 { limb0: 0x2b6af476f520b4bf804415bc, limb1: 0xd949ee7f9e8874698b090fca, - limb2: 0x34db5e5ec2180cf + limb2: 0x34db5e5ec2180cf, }, r0a1: u288 { limb0: 0x3e06a324f038ac8abcfb28d7, limb1: 0xc2e6375b7a83c0a0145f8942, - limb2: 0x2247e79161483763 + limb2: 0x2247e79161483763, }, r1a0: u288 { limb0: 0x708773d8ae3a13918382fb9d, limb1: 0xaf83f409556e32aa85ae92bf, - limb2: 0x9af0a924ae43ba + limb2: 0x9af0a924ae43ba, }, r1a1: u288 { limb0: 0xa6fded212ff5b2ce79755af7, limb1: 0x55a2adfb2699ef5de6581b21, - limb2: 0x2476e83cfe8daa5c - } + limb2: 0x2476e83cfe8daa5c, + }, }, G2Line { r0a0: u288 { limb0: 0x5492a3af17b50935147c96c3, limb1: 0xdb9e5016a9bf37e1d190de7f, - limb2: 0x118c52b66aa91af5 + limb2: 0x118c52b66aa91af5, }, r0a1: u288 { limb0: 0x383ff10030da0a1de2b199ff, limb1: 0x87473c4982f35e30348edcd8, - limb2: 0x7b7841e2d12de72 + limb2: 0x7b7841e2d12de72, }, r1a0: u288 { limb0: 0x5becb840142c3a612e4e9fb5, limb1: 0x395ed9a8e637d790717ea70a, - limb2: 0x3075d6374c8e247 + limb2: 0x3075d6374c8e247, }, r1a1: u288 { limb0: 0x18d5882f3227369868fb1c0d, limb1: 0x8d839bdccca10b584bd1cfb8, - limb2: 0x1d3ed3be5b633848 - } + limb2: 0x1d3ed3be5b633848, + }, }, G2Line { r0a0: u288 { limb0: 0x2c12ab2f338cca45640fedfb, limb1: 0x41502b84b9a66e10102be299, - limb2: 0x19dbe91c50592fb + limb2: 0x19dbe91c50592fb, }, r0a1: u288 { limb0: 0x343be7cac3ad44182acb33fa, limb1: 0xf3aa251c1a310cd439e988c, - limb2: 0x1138da1418252cd + limb2: 0x1138da1418252cd, }, r1a0: u288 { limb0: 0xe7a3c13336a3bd1ce8bb3bb7, limb1: 0x502e66f432b52caca3602ad5, - limb2: 0x17e6f3b7bc285d9 + limb2: 0x17e6f3b7bc285d9, }, r1a1: u288 { limb0: 0x2b93c79b052f469f471affd1, limb1: 0xeaf5be1f527545bbb7a3adb3, - limb2: 0x8ce6d14105d6914 - } + limb2: 0x8ce6d14105d6914, + }, }, G2Line { r0a0: u288 { limb0: 0x1c4759bcf7c607fe3f839d4d, limb1: 0xea91f311da73327e2ed40785, - limb2: 0x2017052c72360f42 + limb2: 0x2017052c72360f42, }, r0a1: u288 { limb0: 0x38cf8a4368c0709980199fc3, limb1: 0xfc9047885996c19e84d7d4ea, - limb2: 0x1795549eb0b97783 + limb2: 0x1795549eb0b97783, }, r1a0: u288 { limb0: 0xb70f7ecfbec0eaf46845e8cc, limb1: 0x9ddf274c2a9f89ea3bc4d66f, - limb2: 0xcc6f106abfcf377 + limb2: 0xcc6f106abfcf377, }, r1a1: u288 { limb0: 0xf6ff11ce29186237468c2698, limb1: 0x5c629ad27bb61e4826bb1313, - limb2: 0x2014c6623f1fb55e - } + limb2: 0x2014c6623f1fb55e, + }, }, G2Line { r0a0: u288 { limb0: 0xd1656f114bf3af72715dce80, limb1: 0x3924b0610de00ad47aab618b, - limb2: 0xdaf00e1541db71b + limb2: 0xdaf00e1541db71b, }, r0a1: u288 { limb0: 0xb3da842bd6ed2cea6a87db4, limb1: 0x58009f786c9b9e946837049b, - limb2: 0x10ec13144c9e560e + limb2: 0x10ec13144c9e560e, }, r1a0: u288 { limb0: 0x9a584d0f409607603126ee10, limb1: 0x1fa1a9bc1885cf6833992a19, - limb2: 0x2c1aa3312c27750f + limb2: 0x2c1aa3312c27750f, }, r1a1: u288 { limb0: 0x5f0eefa5064d95ff567b056e, limb1: 0xc9e066a9811570706974d0e2, - limb2: 0x51ad56ec3cb6b21 - } + limb2: 0x51ad56ec3cb6b21, + }, }, G2Line { r0a0: u288 { limb0: 0xc648054e4b6134bbfd68487f, limb1: 0xdf0506dad3f3d098c13a6386, - limb2: 0x26bebeb6f46c2e8c + limb2: 0x26bebeb6f46c2e8c, }, r0a1: u288 { limb0: 0x9d0cdb28a94204776c6e6ba6, limb1: 0x303f02dfe619752b1607951d, - limb2: 0x1127d8b17ef2c064 + limb2: 0x1127d8b17ef2c064, }, r1a0: u288 { limb0: 0xe34ca1188b8db4e4694a696c, limb1: 0x243553602481d9b88ca1211, - limb2: 0x1f8ef034831d0132 + limb2: 0x1f8ef034831d0132, }, r1a1: u288 { limb0: 0xe3a5dfb1785690dad89ad10c, limb1: 0xd690b583ace24ba033dd23e0, - limb2: 0x405d0709e110c03 - } + limb2: 0x405d0709e110c03, + }, }, G2Line { r0a0: u288 { limb0: 0x464e5f2bfc2c82c54b03961, limb1: 0x951289dda0d75515cf27d76f, - limb2: 0x18624def97e8d755 + limb2: 0x18624def97e8d755, }, r0a1: u288 { limb0: 0x5f34b49ccba30273ef5b21d3, limb1: 0x2a5284c7f0a2edbd91cffc38, - limb2: 0x152ee08fed176eb9 + limb2: 0x152ee08fed176eb9, }, r1a0: u288 { limb0: 0x754bde9c6963db1bd70f1b6c, limb1: 0xdcd8ae0734741dc7f4c0963d, - limb2: 0x1bdcdd889e8b7986 + limb2: 0x1bdcdd889e8b7986, }, r1a1: u288 { limb0: 0xc256707edf7a02779c5570dd, limb1: 0x4e462d0c425dc89184d0d1e, - limb2: 0x10a877ec918e3670 - } + limb2: 0x10a877ec918e3670, + }, }, G2Line { r0a0: u288 { limb0: 0x72cc2cef2785ce4ff4e9b7af, limb1: 0x60ed5b9c207d7f31fb6234ab, - limb2: 0x1bb17a4bc7b643ed + limb2: 0x1bb17a4bc7b643ed, }, r0a1: u288 { limb0: 0x9424eb15b502cde7927c7530, limb1: 0xa0e33edbbaa9de8e9c206059, - limb2: 0x2b9a3a63bbf4af99 + limb2: 0x2b9a3a63bbf4af99, }, r1a0: u288 { limb0: 0x423811cb6386e606cf274a3c, limb1: 0x8adcc0e471ecfe526f56dc39, - limb2: 0x9169a8660d14368 + limb2: 0x9169a8660d14368, }, r1a1: u288 { limb0: 0xf616c863890c3c8e33127931, limb1: 0xcc9414078a6da6989dae6b91, - limb2: 0x594d6a7e6b34ab2 - } + limb2: 0x594d6a7e6b34ab2, + }, }, G2Line { r0a0: u288 { limb0: 0x6a5715d35321ab7e2303801a, limb1: 0xb3a10a033b8af85876120d84, - limb2: 0x12a279df5f1f2e80 + limb2: 0x12a279df5f1f2e80, }, r0a1: u288 { limb0: 0x280110399cdfd7e0a95aaf62, limb1: 0xeaa755ebaf7edec0629ff916, - limb2: 0x50373a52da2ad5f + limb2: 0x50373a52da2ad5f, }, r1a0: u288 { limb0: 0x835e28ff4627911ddd0ba983, limb1: 0x975aef2b304e4200963bd7e3, - limb2: 0x2cfb54689f69ce06 + limb2: 0x2cfb54689f69ce06, }, r1a1: u288 { limb0: 0xf3002234938e41787edf31bd, limb1: 0x596978afc835ba1b55a81785, - limb2: 0x6bd7658f61e8020 - } + limb2: 0x6bd7658f61e8020, + }, }, G2Line { r0a0: u288 { limb0: 0xf2d619ae78049bf9141c35cf, limb1: 0x717f8b10d469a1ee2d91f191, - limb2: 0x2c72c82fa8afe345 + limb2: 0x2c72c82fa8afe345, }, r0a1: u288 { limb0: 0xb89321223b82a2dc793c0185, limb1: 0x71506a0cf4adb8e51bb7b759, - limb2: 0x2c13b92a98651492 + limb2: 0x2c13b92a98651492, }, r1a0: u288 { limb0: 0x4947ef2c89276f77f9d20942, limb1: 0xb454d68685ab6b6976e71ec5, - limb2: 0x19a938d0e78a3593 + limb2: 0x19a938d0e78a3593, }, r1a1: u288 { limb0: 0xbe883eb119609b489c01c905, limb1: 0xaa06779922047f52feac5ce6, - limb2: 0x76977a3015dc164 - } + limb2: 0x76977a3015dc164, + }, }, G2Line { r0a0: u288 { limb0: 0x43a96a588005043a46aadf2c, limb1: 0xa37b89d8a1784582f0c52126, - limb2: 0x22e9ef3f5d4b2297 + limb2: 0x22e9ef3f5d4b2297, }, r0a1: u288 { limb0: 0x8c6f6d8474cf6e5a58468a31, limb1: 0xeb1ce6ac75930ef1c79b07e5, - limb2: 0xf49839a756c7230 + limb2: 0xf49839a756c7230, }, r1a0: u288 { limb0: 0x82b84693a656c8e8c1f962fd, limb1: 0x2c1c8918ae80282208b6b23d, - limb2: 0x14d3504b5c8d428f + limb2: 0x14d3504b5c8d428f, }, r1a1: u288 { limb0: 0x60ef4f4324d5619b60a3bb84, limb1: 0x6d3090caefeedbc33638c77a, - limb2: 0x159264c370c89fec - } + limb2: 0x159264c370c89fec, + }, }, G2Line { r0a0: u288 { limb0: 0x9b53ea01ae2d6587ef6469bf, limb1: 0x51d2d907815a064277b460d3, - limb2: 0x130bfb2966bccfcf + limb2: 0x130bfb2966bccfcf, }, r0a1: u288 { limb0: 0x628e9808d554d47dd88c80f5, limb1: 0xc7b44de52f919e749a8af471, - limb2: 0xf6a26faf4aee11a + limb2: 0xf6a26faf4aee11a, }, r1a0: u288 { limb0: 0x73ce5d8301bbc53ee6e8239f, limb1: 0x31b030a8af445bd7d8e95c79, - limb2: 0x295f54e9eb9fba58 + limb2: 0x295f54e9eb9fba58, }, r1a1: u288 { limb0: 0x535dbb6d10b88b2fd30f0c23, limb1: 0xa016d54da5f9a46174614196, - limb2: 0x10dfe73e58fcb4bd - } + limb2: 0x10dfe73e58fcb4bd, + }, }, G2Line { r0a0: u288 { limb0: 0x652eaf09821887db0de1f147, limb1: 0x75229b9972e31ba2e226bbcf, - limb2: 0x161e5e72bf925c6d + limb2: 0x161e5e72bf925c6d, }, r0a1: u288 { limb0: 0x856aa774394ef561669d1eab, limb1: 0xdd46a5dd8e6c4d775d36356d, - limb2: 0x2d287f12b2a6700d + limb2: 0x2d287f12b2a6700d, }, r1a0: u288 { limb0: 0x67ffd864a18bb2d4488c5d6a, limb1: 0x8d0ea9ad86d841741fe1d284, - limb2: 0x43189ddb2f1e1cd + limb2: 0x43189ddb2f1e1cd, }, r1a1: u288 { limb0: 0xf42602a91d620c7003644ce4, limb1: 0x7d9f27e32a63153af2c65415, - limb2: 0x1ee85832249a6300 - } + limb2: 0x1ee85832249a6300, + }, }, ]; diff --git a/src/contracts/universal_ecip/Scarb.toml b/src/contracts/universal_ecip/Scarb.toml index da691e45..6c66b4b1 100644 --- a/src/contracts/universal_ecip/Scarb.toml +++ b/src/contracts/universal_ecip/Scarb.toml @@ -5,7 +5,7 @@ edition = "2024_07" [dependencies] garaga = { path = "../.." } -starknet = "2.8.4" +starknet = "2.9.1" [cairo] sierra-replace-ids = false diff --git a/src/contracts/universal_ecip/src/lib.cairo b/src/contracts/universal_ecip/src/lib.cairo index 20f9c947..5152435b 100644 --- a/src/contracts/universal_ecip/src/lib.cairo +++ b/src/contracts/universal_ecip/src/lib.cairo @@ -10,7 +10,7 @@ trait IUniversalECIP { derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point; fn msm_g1_u128( @@ -20,7 +20,7 @@ trait IUniversalECIP { derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point; } @@ -41,7 +41,7 @@ mod UniversalECIP { derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point { msm_g1( scalars_digits_decompositions, @@ -49,7 +49,7 @@ mod UniversalECIP { derive_point_from_x_hint, points, scalars, - curve_index + curve_index, ) } @@ -60,7 +60,7 @@ mod UniversalECIP { derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point { msm_g1_u128( scalars_digits_decompositions, @@ -68,7 +68,7 @@ mod UniversalECIP { derive_point_from_x_hint, points, scalars, - curve_index + curve_index, ) } } diff --git a/src/src/basic_field_ops.cairo b/src/src/basic_field_ops.cairo index bfd0b158..587838c3 100644 --- a/src/src/basic_field_ops.cairo +++ b/src/src/basic_field_ops.cairo @@ -1,7 +1,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, - CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitInputAccumulator + CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use garaga::utils::hashing::hades_permutation; @@ -15,7 +15,7 @@ const POW_2_64_252: felt252 = 0x10000000000000000; const POW_2_256_384: u384 = u384 { limb0: 0x0, limb1: 0x0, limb2: 0x10000000000000000, limb3: 0x0 }; -fn neg_mod_p(a: u384, p: u384) -> u384 { +pub fn neg_mod_p(a: u384, p: u384) -> u384 { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let neg = circuit_sub(in1, in2); @@ -34,7 +34,7 @@ fn neg_mod_p(a: u384, p: u384) -> u384 { return outputs.get_output(neg); } -fn is_even_u384(a: u384) -> bool { +pub fn is_even_u384(a: u384) -> bool { let in1 = CircuitElement::> {}; let modulus = TryInto::<_, CircuitModulus>::try_into([2, 0, 0, 0]).unwrap(); let outputs = (in1,).new_inputs().next_2(a).done_2().eval(modulus).unwrap(); @@ -46,7 +46,7 @@ fn is_even_u384(a: u384) -> bool { } #[inline(always)] -fn compute_yInvXnegOverY_BN254(x: u384, y: u384) -> (u384, u384) { +pub fn compute_yInvXnegOverY_BN254(x: u384, y: u384) -> (u384, u384) { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let in3 = CircuitElement::> {}; @@ -69,7 +69,7 @@ fn compute_yInvXnegOverY_BN254(x: u384, y: u384) -> (u384, u384) { } #[inline(always)] -fn compute_yInvXnegOverY_BLS12_381(x: u384, y: u384) -> (u384, u384) { +pub fn compute_yInvXnegOverY_BLS12_381(x: u384, y: u384) -> (u384, u384) { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let in3 = CircuitElement::> {}; @@ -95,7 +95,7 @@ fn compute_yInvXnegOverY_BLS12_381(x: u384, y: u384) -> (u384, u384) { // u512 = low_256 + high_256 * 2^256 // u512 % p = (low_256 + high_256 * 2^256) % p // = (low_256 % p + high_256 * 2^256 % p) % p -fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { +pub fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { let low = CircuitElement::> {}; let high = CircuitElement::> {}; let shift = CircuitElement::> {}; @@ -103,14 +103,12 @@ fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { let res = circuit_add(low, high_shifted); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); // BLS12_381 prime field modulus @@ -123,7 +121,7 @@ fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { limb0: ll0.try_into().unwrap(), limb1: ll1.try_into().unwrap(), limb2: ll2.try_into().unwrap(), - limb3: 0 + limb3: 0, }; let [ah_0, ah_1, ah_2, ah_3, ah_4, ah_5, ah_6, ah_7] = a_high; @@ -134,7 +132,7 @@ fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { limb0: hl0.try_into().unwrap(), limb1: hl1.try_into().unwrap(), limb2: hl2.try_into().unwrap(), - limb3: 0 + limb3: 0, }; let outputs = (res,) @@ -149,7 +147,7 @@ fn u512_mod_bls12_381(a_high: [u32; 8], a_low: [u32; 8]) -> u384 { return outputs.get_output(res); } -fn add_mod_p(a: u384, b: u384, p: u384) -> u384 { +pub fn add_mod_p(a: u384, b: u384, p: u384) -> u384 { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let add = circuit_add(in1, in2); @@ -162,7 +160,7 @@ fn add_mod_p(a: u384, b: u384, p: u384) -> u384 { return outputs.get_output(add); } -fn sub_mod_p(a: u384, b: u384, p: u384) -> u384 { +pub fn sub_mod_p(a: u384, b: u384, p: u384) -> u384 { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let sub = circuit_sub(in1, in2); @@ -175,7 +173,7 @@ fn sub_mod_p(a: u384, b: u384, p: u384) -> u384 { return outputs.get_output(sub); } -fn mul_mod_p(a: u384, b: u384, p: u384) -> u384 { +pub fn mul_mod_p(a: u384, b: u384, p: u384) -> u384 { let in1 = CircuitElement::> {}; let in2 = CircuitElement::> {}; let mul = circuit_mul(in1, in2); @@ -189,7 +187,7 @@ fn mul_mod_p(a: u384, b: u384, p: u384) -> u384 { } -fn batch_3_mod_p(x: u384, y: u384, z: u384, c0: u384, p: u384) -> u384 { +pub fn batch_3_mod_p(x: u384, y: u384, z: u384, c0: u384, p: u384) -> u384 { let _x = CircuitElement::> {}; let _y = CircuitElement::> {}; let _z = CircuitElement::> {}; @@ -218,7 +216,7 @@ fn batch_3_mod_p(x: u384, y: u384, z: u384, c0: u384, p: u384) -> u384 { } -fn inv_mod_p(a: u384, p: u384) -> u384 { +pub fn inv_mod_p(a: u384, p: u384) -> u384 { let in1 = CircuitElement::> {}; let inv = circuit_inverse(in1); diff --git a/src/src/circuits.cairo b/src/src/circuits.cairo index 9923f9dd..27aa67ae 100644 --- a/src/src/circuits.cairo +++ b/src/src/circuits.cairo @@ -1,6 +1,6 @@ -mod ec; -mod dummy; -mod multi_pairing_check; -mod extf_mul; -mod isogeny; -mod tower_circuits; +pub mod ec; +pub mod dummy; +pub mod multi_pairing_check; +pub mod extf_mul; +pub mod isogeny; +pub mod tower_circuits; diff --git a/src/src/circuits/dummy.cairo b/src/src/circuits/dummy.cairo index aaaf11b1..1729d02c 100644 --- a/src/src/circuits/dummy.cairo +++ b/src/src/circuits/dummy.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,14 +10,14 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; #[inline(always)] -fn run_DUMMY_circuit(mut input: Array, curve_index: usize) -> Array { +pub fn run_DUMMY_circuit(mut input: Array, curve_index: usize) -> Array { // INPUT stack let (in0, in1) = (CE::> {}, CE::> {}); let t0 = circuit_sub(in0, in1); @@ -31,11 +31,11 @@ fn run_DUMMY_circuit(mut input: Array, curve_index: usize) -> Array let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t0, t2, t3, t4, t5, t7,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t4, t5, t7).new_inputs(); // Prefill constants: // Fill inputs: @@ -52,7 +52,7 @@ fn run_DUMMY_circuit(mut input: Array, curve_index: usize) -> Array outputs.get_output(t3), outputs.get_output(t4), outputs.get_output(t5), - outputs.get_output(t7) + outputs.get_output(t7), ]; return res; } @@ -65,11 +65,11 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; diff --git a/src/src/circuits/ec.cairo b/src/src/circuits/ec.cairo index af99fff0..15623c1f 100644 --- a/src/src/circuits/ec.cairo +++ b/src/src/circuits/ec.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,14 +10,14 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; #[inline(always)] -fn run_ACC_EVAL_POINT_CHALLENGE_SIGNED_circuit( +pub fn run_ACC_EVAL_POINT_CHALLENGE_SIGNED_circuit( acc: u384, m: u384, b: u384, @@ -27,7 +27,7 @@ fn run_ACC_EVAL_POINT_CHALLENGE_SIGNED_circuit( en: u384, sp: u384, sn: u384, - curve_index: usize + curve_index: usize, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -56,7 +56,7 @@ fn run_ACC_EVAL_POINT_CHALLENGE_SIGNED_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -80,7 +80,7 @@ fn run_ACC_EVAL_POINT_CHALLENGE_SIGNED_circuit( return (res_acc,); } #[inline(always)] -fn run_ACC_FUNCTION_CHALLENGE_DUPL_circuit( +pub fn run_ACC_FUNCTION_CHALLENGE_DUPL_circuit( f_a0_accs: FunctionFeltEvaluations, f_a1_accs: FunctionFeltEvaluations, xA0: u384, @@ -91,7 +91,7 @@ fn run_ACC_FUNCTION_CHALLENGE_DUPL_circuit( next_a_den_coeff: u384, next_b_num_coeff: u384, next_b_den_coeff: u384, - curve_index: usize + curve_index: usize, ) -> (FunctionFeltEvaluations, FunctionFeltEvaluations, u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -127,11 +127,11 @@ fn run_ACC_FUNCTION_CHALLENGE_DUPL_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t1, t4, t6, t11, t13, t16, t18, t23, t2, t14,).new_inputs(); + let mut circuit_inputs = (t1, t4, t6, t11, t13, t16, t18, t23, t2, t14).new_inputs(); // Prefill constants: // Fill inputs: @@ -157,20 +157,20 @@ fn run_ACC_FUNCTION_CHALLENGE_DUPL_circuit( a_num: outputs.get_output(t1), a_den: outputs.get_output(t4), b_num: outputs.get_output(t6), - b_den: outputs.get_output(t11) + b_den: outputs.get_output(t11), }; let next_f_a1_accs: FunctionFeltEvaluations = FunctionFeltEvaluations { a_num: outputs.get_output(t13), a_den: outputs.get_output(t16), b_num: outputs.get_output(t18), - b_den: outputs.get_output(t23) + b_den: outputs.get_output(t23), }; let next_xA0_power: u384 = outputs.get_output(t2); let next_xA2_power: u384 = outputs.get_output(t14); return (next_f_a0_accs, next_f_a1_accs, next_xA0_power, next_xA2_power); } #[inline(always)] -fn run_ADD_EC_POINTS_G2_circuit(p: G2Point, q: G2Point, curve_index: usize) -> (G2Point,) { +pub fn run_ADD_EC_POINTS_G2_circuit(p: G2Point, q: G2Point, curve_index: usize) -> (G2Point,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -217,11 +217,11 @@ fn run_ADD_EC_POINTS_G2_circuit(p: G2Point, q: G2Point, curve_index: usize) -> ( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t24, t25, t34, t35,).new_inputs(); + let mut circuit_inputs = (t24, t25, t34, t35).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -239,12 +239,12 @@ fn run_ADD_EC_POINTS_G2_circuit(p: G2Point, q: G2Point, curve_index: usize) -> ( x0: outputs.get_output(t24), x1: outputs.get_output(t25), y0: outputs.get_output(t34), - y1: outputs.get_output(t35) + y1: outputs.get_output(t35), }; return (result,); } #[inline(always)] -fn run_ADD_EC_POINT_circuit(p: G1Point, q: G1Point, curve_index: usize) -> (G1Point,) { +pub fn run_ADD_EC_POINT_circuit(p: G1Point, q: G1Point, curve_index: usize) -> (G1Point,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let in3 = CE::> {}; @@ -261,11 +261,11 @@ fn run_ADD_EC_POINT_circuit(p: G1Point, q: G1Point, curve_index: usize) -> (G1Po let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t6, t9,).new_inputs(); + let mut circuit_inputs = (t6, t9).new_inputs(); // Prefill constants: // Fill inputs: @@ -279,7 +279,7 @@ fn run_ADD_EC_POINT_circuit(p: G1Point, q: G1Point, curve_index: usize) -> (G1Po return (r,); } #[inline(always)] -fn run_DOUBLE_EC_POINT_G2_A_EQ_0_circuit(p: G2Point, curve_index: usize) -> (G2Point,) { +pub fn run_DOUBLE_EC_POINT_G2_A_EQ_0_circuit(p: G2Point, curve_index: usize) -> (G2Point,) { // CONSTANT stack let in0 = CE::> {}; // 0x3 let in1 = CE::> {}; // 0x0 @@ -331,11 +331,11 @@ fn run_DOUBLE_EC_POINT_G2_A_EQ_0_circuit(p: G2Point, curve_index: usize) -> (G2P let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t29, t30, t39, t40,).new_inputs(); + let mut circuit_inputs = (t29, t30, t39, t40).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in1 @@ -350,12 +350,14 @@ fn run_DOUBLE_EC_POINT_G2_A_EQ_0_circuit(p: G2Point, curve_index: usize) -> (G2P x0: outputs.get_output(t29), x1: outputs.get_output(t30), y0: outputs.get_output(t39), - y1: outputs.get_output(t40) + y1: outputs.get_output(t40), }; return (result,); } #[inline(always)] -fn run_DOUBLE_EC_POINT_circuit(p: G1Point, A_weirstrass: u384, curve_index: usize) -> (G1Point,) { +pub fn run_DOUBLE_EC_POINT_circuit( + p: G1Point, A_weirstrass: u384, curve_index: usize, +) -> (G1Point,) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -376,11 +378,11 @@ fn run_DOUBLE_EC_POINT_circuit(p: G1Point, A_weirstrass: u384, curve_index: usiz let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t8, t11,).new_inputs(); + let mut circuit_inputs = (t8, t11).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -393,13 +395,13 @@ fn run_DOUBLE_EC_POINT_circuit(p: G1Point, A_weirstrass: u384, curve_index: usiz return (r,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_10P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_10P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -658,7 +660,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_10P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -695,13 +697,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_10P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_1P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_1P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -804,7 +806,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_1P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -841,13 +843,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_1P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_1P_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_1P_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDiv: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -915,7 +917,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_1P_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -952,13 +954,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_1P_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_2P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_2P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1078,7 +1080,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_2P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -1115,13 +1117,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_2P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_2P_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_2P_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDiv: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1206,7 +1208,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_2P_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -1243,13 +1245,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_2P_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_3P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_3P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1386,7 +1388,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_3P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -1423,13 +1425,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_3P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_4P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_4P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1584,7 +1586,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_4P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -1621,13 +1623,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_4P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_5P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_5P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1799,7 +1801,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_5P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -1836,13 +1838,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_5P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_6P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_6P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -2031,7 +2033,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_6P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -2068,13 +2070,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_6P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_7P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_7P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -2281,7 +2283,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_7P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -2318,13 +2320,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_7P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -2548,7 +2550,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -2585,13 +2587,13 @@ fn run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit( return (res,); } #[inline(always)] -fn run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit( +pub fn run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit( A0: G1Point, A2: G1Point, coeff0: u384, coeff2: u384, SumDlogDivBatched: FunctionFelt, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -2832,7 +2834,7 @@ fn run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -2869,14 +2871,14 @@ fn run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit( return (res,); } #[inline(always)] -fn run_FINALIZE_FN_CHALLENGE_DUPL_circuit( +pub fn run_FINALIZE_FN_CHALLENGE_DUPL_circuit( f_a0_accs: FunctionFeltEvaluations, f_a1_accs: FunctionFeltEvaluations, yA0: u384, yA2: u384, coeff_A0: u384, coeff_A2: u384, - curve_index: usize + curve_index: usize, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -2901,7 +2903,7 @@ fn run_FINALIZE_FN_CHALLENGE_DUPL_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -2927,8 +2929,8 @@ fn run_FINALIZE_FN_CHALLENGE_DUPL_circuit( return (res,); } #[inline(always)] -fn run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit( - xA0: u384, xA2: u384, SumDlogDiv: FunctionFelt, curve_index: usize +pub fn run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit( + xA0: u384, xA2: u384, SumDlogDiv: FunctionFelt, curve_index: usize, ) -> (FunctionFeltEvaluations, FunctionFeltEvaluations, u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -3220,11 +3222,11 @@ fn run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t57, t85, t113, t147, t173, t201, t229, t263, t24, t25,).new_inputs(); + let mut circuit_inputs = (t57, t85, t113, t147, t173, t201, t229, t263, t24, t25).new_inputs(); // Prefill constants: // Fill inputs: @@ -3253,21 +3255,21 @@ fn run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit( a_num: outputs.get_output(t57), a_den: outputs.get_output(t85), b_num: outputs.get_output(t113), - b_den: outputs.get_output(t147) + b_den: outputs.get_output(t147), }; let A2_evals: FunctionFeltEvaluations = FunctionFeltEvaluations { a_num: outputs.get_output(t173), a_den: outputs.get_output(t201), b_num: outputs.get_output(t229), - b_den: outputs.get_output(t263) + b_den: outputs.get_output(t263), }; let xA0_power: u384 = outputs.get_output(t24); let xA2_power: u384 = outputs.get_output(t25); return (A0_evals, A2_evals, xA0_power, xA2_power); } #[inline(always)] -fn run_IS_ON_CURVE_G1_G2_circuit( - p: G1Point, q: G2Point, a: u384, b: u384, b20: u384, b21: u384, curve_index: usize +pub fn run_IS_ON_CURVE_G1_G2_circuit( + p: G1Point, q: G2Point, a: u384, b: u384, b20: u384, b21: u384, curve_index: usize, ) -> (u384, u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -3306,11 +3308,11 @@ fn run_IS_ON_CURVE_G1_G2_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t26, t27, t28,).new_inputs(); + let mut circuit_inputs = (t26, t27, t28).new_inputs(); // Prefill constants: // Fill inputs: @@ -3332,7 +3334,7 @@ fn run_IS_ON_CURVE_G1_G2_circuit( return (zero_check_0, zero_check_1, zero_check_2); } #[inline(always)] -fn run_IS_ON_CURVE_G1_circuit(p: G1Point, a: u384, b: u384, curve_index: usize) -> (u384,) { +pub fn run_IS_ON_CURVE_G1_circuit(p: G1Point, a: u384, b: u384, curve_index: usize) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let in3 = CE::> {}; @@ -3346,7 +3348,7 @@ fn run_IS_ON_CURVE_G1_circuit(p: G1Point, a: u384, b: u384, curve_index: usize) let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -3364,8 +3366,8 @@ fn run_IS_ON_CURVE_G1_circuit(p: G1Point, a: u384, b: u384, curve_index: usize) return (zero_check,); } #[inline(always)] -fn run_IS_ON_CURVE_G2_circuit( - p: G2Point, a: u384, b20: u384, b21: u384, curve_index: usize +pub fn run_IS_ON_CURVE_G2_circuit( + p: G2Point, a: u384, b20: u384, b21: u384, curve_index: usize, ) -> (u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -3398,11 +3400,11 @@ fn run_IS_ON_CURVE_G2_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t22, t23,).new_inputs(); + let mut circuit_inputs = (t22, t23).new_inputs(); // Prefill constants: // Fill inputs: @@ -3420,8 +3422,8 @@ fn run_IS_ON_CURVE_G2_circuit( return (zero_check_0, zero_check_1); } #[inline(always)] -fn run_RHS_FINALIZE_ACC_circuit( - acc: u384, m: u384, b: u384, xA: u384, Q_result: G1Point, curve_index: usize +pub fn run_RHS_FINALIZE_ACC_circuit( + acc: u384, m: u384, b: u384, xA: u384, Q_result: G1Point, curve_index: usize, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -3440,7 +3442,7 @@ fn run_RHS_FINALIZE_ACC_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); @@ -3460,8 +3462,8 @@ fn run_RHS_FINALIZE_ACC_circuit( return (rhs,); } #[inline(always)] -fn run_SLOPE_INTERCEPT_SAME_POINT_circuit( - p: G1Point, a: u384, curve_index: usize +pub fn run_SLOPE_INTERCEPT_SAME_POINT_circuit( + p: G1Point, a: u384, curve_index: usize, ) -> (SlopeInterceptOutput,) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -3504,11 +3506,11 @@ fn run_SLOPE_INTERCEPT_SAME_POINT_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t5, t7, t10, t14, t31, t29,).new_inputs(); + let mut circuit_inputs = (t5, t7, t10, t14, t31, t29).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in1 @@ -3536,11 +3538,11 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; @@ -3556,6 +3558,6 @@ mod tests { run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit, run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit, run_FINALIZE_FN_CHALLENGE_DUPL_circuit, run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit, run_IS_ON_CURVE_G1_G2_circuit, run_IS_ON_CURVE_G1_circuit, run_IS_ON_CURVE_G2_circuit, - run_RHS_FINALIZE_ACC_circuit, run_SLOPE_INTERCEPT_SAME_POINT_circuit + run_RHS_FINALIZE_ACC_circuit, run_SLOPE_INTERCEPT_SAME_POINT_circuit, }; } diff --git a/src/src/circuits/extf_mul.cairo b/src/src/circuits/extf_mul.cairo index a542278e..a073a84d 100644 --- a/src/src/circuits/extf_mul.cairo +++ b/src/src/circuits/extf_mul.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,14 +10,14 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; #[inline(always)] -fn run_BLS12_381_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { +pub fn run_BLS12_381_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let (in3, in4, in5) = (CE::> {}, CE::> {}, CE::> {}); @@ -72,8 +72,8 @@ fn run_BLS12_381_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { return (f_of_z,); } #[inline(always)] -fn run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit( - X: E12D, Y: E12D, Q: E12DMulQuotient, z: u384 +pub fn run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit( + X: E12D, Y: E12D, Q: E12DMulQuotient, z: u384, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x2 @@ -184,11 +184,9 @@ fn run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit( circuit_inputs = circuit_inputs .next_2( [ - 0xb153ffffb9feffffffffaaa9, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaa9, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ); // in1 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in2 // Fill inputs: @@ -234,7 +232,7 @@ fn run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit( return (check,); } #[inline(always)] -fn run_BN254_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { +pub fn run_BN254_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let (in3, in4, in5) = (CE::> {}, CE::> {}, CE::> {}); @@ -289,8 +287,8 @@ fn run_BN254_EVAL_E12D_circuit(f: E12D, z: u384) -> (u384,) { return (f_of_z,); } #[inline(always)] -fn run_BN254_FP12_MUL_ASSERT_ONE_circuit( - X: E12D, Y: E12D, Q: E12DMulQuotient, z: u384 +pub fn run_BN254_FP12_MUL_ASSERT_ONE_circuit( + X: E12D, Y: E12D, Q: E12DMulQuotient, z: u384, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x52 @@ -400,7 +398,7 @@ fn run_BN254_FP12_MUL_ASSERT_ONE_circuit( circuit_inputs = circuit_inputs.next_2([0x52, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd35, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd35, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in1 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in2 // Fill inputs: @@ -453,16 +451,16 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use super::{ run_BLS12_381_EVAL_E12D_circuit, run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit, - run_BN254_EVAL_E12D_circuit, run_BN254_FP12_MUL_ASSERT_ONE_circuit + run_BN254_EVAL_E12D_circuit, run_BN254_FP12_MUL_ASSERT_ONE_circuit, }; } diff --git a/src/src/circuits/isogeny.cairo b/src/src/circuits/isogeny.cairo index 3ec4fec4..9684b06b 100644 --- a/src/src/circuits/isogeny.cairo +++ b/src/src/circuits/isogeny.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,174 +10,174 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; #[inline(always)] -fn run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit(pt: G1Point) -> (G1Point,) { +pub fn run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit(pt: G1Point) -> (G1Point,) { // CONSTANT stack let in0 = CE::< - CI<0> + CI<0>, > {}; // 0x11a05f2b1e833340b809101dd99815856b303e88a2d7005ff2627b56cdb4e2c85610c2d5f2e62d6eaeac1662734649b7 let in1 = CE::< - CI<1> + CI<1>, > {}; // 0x17294ed3e943ab2f0588bab22147a81c7c17e75b2f6a8417f565e33c70d1e86b4838f2a6f318c356e834eef1b3cb83bb let in2 = CE::< - CI<2> + CI<2>, > {}; // 0xd54005db97678ec1d1048c5d10a9a1bce032473295983e56878e501ec68e25c958c3e3d2a09729fe0179f9dac9edcb0 let in3 = CE::< - CI<3> + CI<3>, > {}; // 0x1778e7166fcc6db74e0609d307e55412d7f5e4656a8dbf25f1b33289f1b330835336e25ce3107193c5b388641d9b6861 let in4 = CE::< - CI<4> + CI<4>, > {}; // 0xe99726a3199f4436642b4b3e4118e5499db995a1257fb3f086eeb65982fac18985a286f301e77c451154ce9ac8895d9 let in5 = CE::< - CI<5> + CI<5>, > {}; // 0x1630c3250d7313ff01d1201bf7a74ab5db3cb17dd952799b9ed3ab9097e68f90a0870d2dcae73d19cd13c1c66f652983 let in6 = CE::< - CI<6> + CI<6>, > {}; // 0xd6ed6553fe44d296a3726c38ae652bfb11586264f0f8ce19008e218f9c86b2a8da25128c1052ecaddd7f225a139ed84 let in7 = CE::< - CI<7> + CI<7>, > {}; // 0x17b81e7701abdbe2e8743884d1117e53356de5ab275b4db1a682c62ef0f2753339b7c8f8c8f475af9ccb5618e3f0c88e let in8 = CE::< - CI<8> + CI<8>, > {}; // 0x80d3cf1f9a78fc47b90b33563be990dc43b756ce79f5574a2c596c928c5d1de4fa295f296b74e956d71986a8497e317 let in9 = CE::< - CI<9> + CI<9>, > {}; // 0x169b1f8e1bcfa7c42e0c37515d138f22dd2ecb803a0c5c99676314baf4bb1b7fa3190b2edc0327797f241067be390c9e let in10 = CE::< - CI<10> + CI<10>, > {}; // 0x10321da079ce07e272d8ec09d2565b0dfa7dccdde6787f96d50af36003b14866f69b771f8c285decca67df3f1605fb7b let in11 = CE::< - CI<11> + CI<11>, > {}; // 0x6e08c248e260e70bd1e962381edee3d31d79d7e22c837bc23c0bf1bc24c6b68c24b1b80b64d391fa9c8ba2e8ba2d229 let in12 = CE::< - CI<12> + CI<12>, > {}; // 0x8ca8d548cff19ae18b2e62f4bd3fa6f01d5ef4ba35b48ba9c9588617fc8ac62b558d681be343df8993cf9fa40d21b1c let in13 = CE::< - CI<13> + CI<13>, > {}; // 0x12561a5deb559c4348b4711298e536367041e8ca0cf0800c0126c2588c48bf5713daa8846cb026e9e5c8276ec82b3bff let in14 = CE::< - CI<14> + CI<14>, > {}; // 0xb2962fe57a3225e8137e629bff2991f6f89416f5a718cd1fca64e00b11aceacd6a3d0967c94fedcfcc239ba5cb83e19 let in15 = CE::< - CI<15> + CI<15>, > {}; // 0x3425581a58ae2fec83aafef7c40eb545b08243f16b1655154cca8abc28d6fd04976d5243eecf5c4130de8938dc62cd8 let in16 = CE::< - CI<16> + CI<16>, > {}; // 0x13a8e162022914a80a6f1d5f43e7a07dffdfc759a12062bb8d6b44e833b306da9bd29ba81f35781d539d395b3532a21e let in17 = CE::< - CI<17> + CI<17>, > {}; // 0xe7355f8e4e667b955390f7f0506c6e9395735e9ce9cad4d0a43bcef24b8982f7400d24bc4228f11c02df9a29f6304a5 let in18 = CE::< - CI<18> + CI<18>, > {}; // 0x772caacf16936190f3e0c63e0596721570f5799af53a1894e2e073062aede9cea73b3538f0de06cec2574496ee84a3a let in19 = CE::< - CI<19> + CI<19>, > {}; // 0x14a7ac2a9d64a8b230b3f5b074cf01996e7f63c21bca68a81996e1cdf9822c580fa5b9489d11e2d311f7d99bbdcc5a5e let in20 = CE::< - CI<20> + CI<20>, > {}; // 0xa10ecf6ada54f825e920b3dafc7a3cce07f8d1d7161366b74100da67f39883503826692abba43704776ec3a79a1d641 let in21 = CE::< - CI<21> + CI<21>, > {}; // 0x95fc13ab9e92ad4476d6e3eb3a56680f682b4ee96f7d03776df533978f31c1593174e4b4b7865002d6384d168ecdd0a let in22 = CE::> {}; // 0x1 let in23 = CE::< - CI<23> + CI<23>, > {}; // 0x90d97c81ba24ee0259d1f094980dcfa11ad138e48a869522b52af6c956543d3cd0c7aee9b3ba3c2be9845719707bb33 let in24 = CE::< - CI<24> + CI<24>, > {}; // 0x134996a104ee5811d51036d776fb46831223e96c254f383d0f906343eb67ad34d6c56711962fa8bfe097e75a2e41c696 let in25 = CE::< - CI<25> + CI<25>, > {}; // 0xcc786baa966e66f4a384c86a3b49942552e2d658a31ce2c344be4b91400da7d26d521628b00523b8dfe240c72de1f6 let in26 = CE::< - CI<26> + CI<26>, > {}; // 0x1f86376e8981c217898751ad8746757d42aa7b90eeb791c09e4a3ec03251cf9de405aba9ec61deca6355c77b0e5f4cb let in27 = CE::< - CI<27> + CI<27>, > {}; // 0x8cc03fdefe0ff135caf4fe2a21529c4195536fbe3ce50b879833fd221351adc2ee7f8dc099040a841b6daecf2e8fedb let in28 = CE::< - CI<28> + CI<28>, > {}; // 0x16603fca40634b6a2211e11db8f0a6a074a7d0d4afadb7bd76505c3d3ad5544e203f6326c95a807299b23ab13633a5f0 let in29 = CE::< - CI<29> + CI<29>, > {}; // 0x4ab0b9bcfac1bbcb2c977d027796b3ce75bb8ca2be184cb5231413c4d634f3747a87ac2460f415ec961f8855fe9d6f2 let in30 = CE::< - CI<30> + CI<30>, > {}; // 0x987c8d5333ab86fde9926bd2ca6c674170a05bfe3bdd81ffd038da6c26c842642f64550fedfe935a15e4ca31870fb29 let in31 = CE::< - CI<31> + CI<31>, > {}; // 0x9fc4018bd96684be88c9e221e4da1bb8f3abd16679dc26c1e8b6e6a1f20cabe69d65201c78607a360370e577bdba587 let in32 = CE::< - CI<32> + CI<32>, > {}; // 0xe1bba7a1186bdb5223abde7ada14a23c42a0ca7915af6fe06985e7ed1e4d43b9b3f7055dd4eba6f2bafaaebca731c30 let in33 = CE::< - CI<33> + CI<33>, > {}; // 0x19713e47937cd1be0dfd0b8f1d43fb93cd2fcbcb6caf493fd1183e416389e61031bf3a5cce3fbafce813711ad011c132 let in34 = CE::< - CI<34> + CI<34>, > {}; // 0x18b46a908f36f6deb918c143fed2edcc523559b8aaf0c2462e6bfe7f911f643249d9cdf41b44d606ce07c8a4d0074d8e let in35 = CE::< - CI<35> + CI<35>, > {}; // 0xb182cac101b9399d155096004f53f447aa7b12a3426b08ec02710e807b4633f06c851c1919211f20d4c04f00b971ef8 let in36 = CE::< - CI<36> + CI<36>, > {}; // 0x245a394ad1eca9b72fc00ae7be315dc757b3b080d4c158013e6632d3c40659cc6cf90ad1c232a6442d9d3f5db980133 let in37 = CE::< - CI<37> + CI<37>, > {}; // 0x5c129645e44cf1102a159f748c4a3fc5e673d81d7e86568d9ab0f5d396a7ce46ba1049b6579afb7866b1e715475224b let in38 = CE::< - CI<38> + CI<38>, > {}; // 0x15e6be4e990f03ce4ea50b3b42df2eb5cb181d8f84965a3957add4fa95af01b2b665027efec01c7704b456be69c8b604 let in39 = CE::< - CI<39> + CI<39>, > {}; // 0x16112c4c3a9c98b252181140fad0eae9601a6de578980be6eec3232b5be72e7a07f3688ef60c206d01479253b03663c1 let in40 = CE::< - CI<40> + CI<40>, > {}; // 0x1962d75c2381201e1a0cbd6c43c348b885c84ff731c4d59ca4a10356f453e01f78a4260763529e3532f6102c2e49a03d let in41 = CE::< - CI<41> + CI<41>, > {}; // 0x58df3306640da276faaae7d6e8eb15778c4855551ae7f310c35a5dd279cd2eca6757cd636f96f891e2538b53dbf67f2 let in42 = CE::< - CI<42> + CI<42>, > {}; // 0x16b7d288798e5395f20d23bf89edb4d1d115c5dbddbcd30e123da489e726af41727364f2c28297ada8d26d98445f5416 let in43 = CE::< - CI<43> + CI<43>, > {}; // 0xbe0e079545f43e4b00cc912f8228ddcc6d19c9f0f69bbb0542eda0fc9dec916a20b15dc0fd2ededda39142311a5001d let in44 = CE::< - CI<44> + CI<44>, > {}; // 0x8d9e5297186db2d9fb266eaac783182b70152c65550d881c5ecd87b6f0f5a6449f38db9dfa9cce202c6477faaf9b7ac let in45 = CE::< - CI<45> + CI<45>, > {}; // 0x166007c08a99db2fc3ba8734ace9824b5eecfdfa8d0cf8ef5dd365bc400a0051d5fa9c01a58b1fb93d1a1399126a775c let in46 = CE::< - CI<46> + CI<46>, > {}; // 0x16a3ef08be3ea7ea03bcddfabba6ff6ee5a4375efa1f4fd7feb34fd206357132b920f5b00801dee460ee415a15812ed9 let in47 = CE::< - CI<47> + CI<47>, > {}; // 0x1866c8ed336c61231a1be54fd1d74cc4f9fb0ce4c6af5920abc5750c4bf39b4852cfe2f7bb9248836b233d9d55535d4a let in48 = CE::< - CI<48> + CI<48>, > {}; // 0x167a55cda70a6e1cea820597d94a84903216f763e13d87bb5308592e7ea7d4fbc7385ea3d529b35e346ef48bb8913f55 let in49 = CE::< - CI<49> + CI<49>, > {}; // 0x4d2f259eea405bd48f010a01ad2911d9c6dd039bb61a6290e591b36e636a5c871a5c29f4f83060400f8b49cba8f6aa8 let in50 = CE::< - CI<50> + CI<50>, > {}; // 0xaccbb67481d033ff5852c1e48c50c477f94ff8aefce42d28c0f9a88cea7913516f968986f7ebbea9684b529e2561092 let in51 = CE::< - CI<51> + CI<51>, > {}; // 0xad6b9514c767fe3c3613144b45f1496543346d98adf02267d5ceef9a00d9b8693000763e3b90ac11e99b138573345cc let in52 = CE::< - CI<52> + CI<52>, > {}; // 0x2660400eb2e4f3b628bdd0d53cd76f2bf565b94e72927c1cb748df27942480e420517bd8714cc80d1fadc1326ed06f7 let in53 = CE::< - CI<53> + CI<53>, > {}; // 0xe0fa1d816ddc03e6b24255e0d7819c171c40f65e273b853324efcd6356caa205ca2f570f13497804415473a1d634b8f // INPUT stack @@ -292,7 +292,7 @@ fn run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit(pt: G1Point) -> (G1Point,) { let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t43, t106,).new_inputs(); + let mut circuit_inputs = (t43, t106).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs @@ -306,328 +306,326 @@ fn run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit(pt: G1Point) -> (G1Point,) { let res: G1Point = G1Point { x: outputs.get_output(t43), y: outputs.get_output(t106) }; return (res,); } -const APPLY_ISOGENY_BLS12_381_BLS12_381_CONSTANTS: [ - u384 - ; 54] = [ +const APPLY_ISOGENY_BLS12_381_BLS12_381_CONSTANTS: [u384; 54] = [ u384 { limb0: 0xf2e62d6eaeac1662734649b7, limb1: 0xf2627b56cdb4e2c85610c2d5, limb2: 0xd99815856b303e88a2d7005f, - limb3: 0x11a05f2b1e833340b809101d + limb3: 0x11a05f2b1e833340b809101d, }, u384 { limb0: 0xf318c356e834eef1b3cb83bb, limb1: 0xf565e33c70d1e86b4838f2a6, limb2: 0x2147a81c7c17e75b2f6a8417, - limb3: 0x17294ed3e943ab2f0588bab2 + limb3: 0x17294ed3e943ab2f0588bab2, }, u384 { limb0: 0x2a09729fe0179f9dac9edcb0, limb1: 0x6878e501ec68e25c958c3e3d, limb2: 0xd10a9a1bce032473295983e5, - limb3: 0xd54005db97678ec1d1048c5 + limb3: 0xd54005db97678ec1d1048c5, }, u384 { limb0: 0xe3107193c5b388641d9b6861, limb1: 0xf1b33289f1b330835336e25c, limb2: 0x7e55412d7f5e4656a8dbf25, - limb3: 0x1778e7166fcc6db74e0609d3 + limb3: 0x1778e7166fcc6db74e0609d3, }, u384 { limb0: 0x301e77c451154ce9ac8895d9, limb1: 0x86eeb65982fac18985a286f, limb2: 0xe4118e5499db995a1257fb3f, - limb3: 0xe99726a3199f4436642b4b3 + limb3: 0xe99726a3199f4436642b4b3, }, u384 { limb0: 0xcae73d19cd13c1c66f652983, limb1: 0x9ed3ab9097e68f90a0870d2d, limb2: 0xf7a74ab5db3cb17dd952799b, - limb3: 0x1630c3250d7313ff01d1201b + limb3: 0x1630c3250d7313ff01d1201b, }, u384 { limb0: 0xc1052ecaddd7f225a139ed84, limb1: 0x9008e218f9c86b2a8da25128, limb2: 0x8ae652bfb11586264f0f8ce1, - limb3: 0xd6ed6553fe44d296a3726c3 + limb3: 0xd6ed6553fe44d296a3726c3, }, u384 { limb0: 0xc8f475af9ccb5618e3f0c88e, limb1: 0xa682c62ef0f2753339b7c8f8, limb2: 0xd1117e53356de5ab275b4db1, - limb3: 0x17b81e7701abdbe2e8743884 + limb3: 0x17b81e7701abdbe2e8743884, }, u384 { limb0: 0x96b74e956d71986a8497e317, limb1: 0xa2c596c928c5d1de4fa295f2, limb2: 0x63be990dc43b756ce79f5574, - limb3: 0x80d3cf1f9a78fc47b90b335 + limb3: 0x80d3cf1f9a78fc47b90b335, }, u384 { limb0: 0xdc0327797f241067be390c9e, limb1: 0x676314baf4bb1b7fa3190b2e, limb2: 0x5d138f22dd2ecb803a0c5c99, - limb3: 0x169b1f8e1bcfa7c42e0c3751 + limb3: 0x169b1f8e1bcfa7c42e0c3751, }, u384 { limb0: 0x8c285decca67df3f1605fb7b, limb1: 0xd50af36003b14866f69b771f, limb2: 0xd2565b0dfa7dccdde6787f96, - limb3: 0x10321da079ce07e272d8ec09 + limb3: 0x10321da079ce07e272d8ec09, }, u384 { limb0: 0xb64d391fa9c8ba2e8ba2d229, limb1: 0x23c0bf1bc24c6b68c24b1b80, limb2: 0x81edee3d31d79d7e22c837bc, - limb3: 0x6e08c248e260e70bd1e9623 + limb3: 0x6e08c248e260e70bd1e9623, }, u384 { limb0: 0xbe343df8993cf9fa40d21b1c, limb1: 0x9c9588617fc8ac62b558d681, limb2: 0x4bd3fa6f01d5ef4ba35b48ba, - limb3: 0x8ca8d548cff19ae18b2e62f + limb3: 0x8ca8d548cff19ae18b2e62f, }, u384 { limb0: 0x6cb026e9e5c8276ec82b3bff, limb1: 0x126c2588c48bf5713daa884, limb2: 0x98e536367041e8ca0cf0800c, - limb3: 0x12561a5deb559c4348b47112 + limb3: 0x12561a5deb559c4348b47112, }, u384 { limb0: 0x7c94fedcfcc239ba5cb83e19, limb1: 0xfca64e00b11aceacd6a3d096, limb2: 0xbff2991f6f89416f5a718cd1, - limb3: 0xb2962fe57a3225e8137e629 + limb3: 0xb2962fe57a3225e8137e629, }, u384 { limb0: 0x3eecf5c4130de8938dc62cd8, limb1: 0x54cca8abc28d6fd04976d524, limb2: 0x7c40eb545b08243f16b16551, - limb3: 0x3425581a58ae2fec83aafef + limb3: 0x3425581a58ae2fec83aafef, }, u384 { limb0: 0x1f35781d539d395b3532a21e, limb1: 0x8d6b44e833b306da9bd29ba8, limb2: 0x43e7a07dffdfc759a12062bb, - limb3: 0x13a8e162022914a80a6f1d5f + limb3: 0x13a8e162022914a80a6f1d5f, }, u384 { limb0: 0xc4228f11c02df9a29f6304a5, limb1: 0xa43bcef24b8982f7400d24b, limb2: 0x506c6e9395735e9ce9cad4d, - limb3: 0xe7355f8e4e667b955390f7f + limb3: 0xe7355f8e4e667b955390f7f, }, u384 { limb0: 0x8f0de06cec2574496ee84a3a, limb1: 0x4e2e073062aede9cea73b353, limb2: 0xe0596721570f5799af53a189, - limb3: 0x772caacf16936190f3e0c63 + limb3: 0x772caacf16936190f3e0c63, }, u384 { limb0: 0x9d11e2d311f7d99bbdcc5a5e, limb1: 0x1996e1cdf9822c580fa5b948, limb2: 0x74cf01996e7f63c21bca68a8, - limb3: 0x14a7ac2a9d64a8b230b3f5b0 + limb3: 0x14a7ac2a9d64a8b230b3f5b0, }, u384 { limb0: 0xabba43704776ec3a79a1d641, limb1: 0x74100da67f39883503826692, limb2: 0xafc7a3cce07f8d1d7161366b, - limb3: 0xa10ecf6ada54f825e920b3d + limb3: 0xa10ecf6ada54f825e920b3d, }, u384 { limb0: 0x4b7865002d6384d168ecdd0a, limb1: 0x76df533978f31c1593174e4b, limb2: 0xb3a56680f682b4ee96f7d037, - limb3: 0x95fc13ab9e92ad4476d6e3e + limb3: 0x95fc13ab9e92ad4476d6e3e, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x9b3ba3c2be9845719707bb33, limb1: 0x2b52af6c956543d3cd0c7aee, limb2: 0x4980dcfa11ad138e48a86952, - limb3: 0x90d97c81ba24ee0259d1f09 + limb3: 0x90d97c81ba24ee0259d1f09, }, u384 { limb0: 0x962fa8bfe097e75a2e41c696, limb1: 0xf906343eb67ad34d6c56711, limb2: 0x76fb46831223e96c254f383d, - limb3: 0x134996a104ee5811d51036d7 + limb3: 0x134996a104ee5811d51036d7, }, u384 { limb0: 0x28b00523b8dfe240c72de1f6, limb1: 0xc344be4b91400da7d26d5216, limb2: 0x6a3b49942552e2d658a31ce2, - limb3: 0xcc786baa966e66f4a384c8 + limb3: 0xcc786baa966e66f4a384c8, }, u384 { limb0: 0x9ec61deca6355c77b0e5f4cb, limb1: 0x9e4a3ec03251cf9de405aba, limb2: 0xd8746757d42aa7b90eeb791c, - limb3: 0x1f86376e8981c217898751a + limb3: 0x1f86376e8981c217898751a, }, u384 { limb0: 0x99040a841b6daecf2e8fedb, limb1: 0x79833fd221351adc2ee7f8dc, limb2: 0xa21529c4195536fbe3ce50b8, - limb3: 0x8cc03fdefe0ff135caf4fe2 + limb3: 0x8cc03fdefe0ff135caf4fe2, }, u384 { limb0: 0xc95a807299b23ab13633a5f0, limb1: 0x76505c3d3ad5544e203f6326, limb2: 0xb8f0a6a074a7d0d4afadb7bd, - limb3: 0x16603fca40634b6a2211e11d + limb3: 0x16603fca40634b6a2211e11d, }, u384 { limb0: 0x460f415ec961f8855fe9d6f2, limb1: 0x5231413c4d634f3747a87ac2, limb2: 0x27796b3ce75bb8ca2be184cb, - limb3: 0x4ab0b9bcfac1bbcb2c977d0 + limb3: 0x4ab0b9bcfac1bbcb2c977d0, }, u384 { limb0: 0xfedfe935a15e4ca31870fb29, limb1: 0xfd038da6c26c842642f64550, limb2: 0x2ca6c674170a05bfe3bdd81f, - limb3: 0x987c8d5333ab86fde9926bd + limb3: 0x987c8d5333ab86fde9926bd, }, u384 { limb0: 0xc78607a360370e577bdba587, limb1: 0x1e8b6e6a1f20cabe69d65201, limb2: 0x1e4da1bb8f3abd16679dc26c, - limb3: 0x9fc4018bd96684be88c9e22 + limb3: 0x9fc4018bd96684be88c9e22, }, u384 { limb0: 0xdd4eba6f2bafaaebca731c30, limb1: 0x6985e7ed1e4d43b9b3f7055, limb2: 0xada14a23c42a0ca7915af6fe, - limb3: 0xe1bba7a1186bdb5223abde7 + limb3: 0xe1bba7a1186bdb5223abde7, }, u384 { limb0: 0xce3fbafce813711ad011c132, limb1: 0xd1183e416389e61031bf3a5c, limb2: 0x1d43fb93cd2fcbcb6caf493f, - limb3: 0x19713e47937cd1be0dfd0b8f + limb3: 0x19713e47937cd1be0dfd0b8f, }, u384 { limb0: 0x1b44d606ce07c8a4d0074d8e, limb1: 0x2e6bfe7f911f643249d9cdf4, limb2: 0xfed2edcc523559b8aaf0c246, - limb3: 0x18b46a908f36f6deb918c143 + limb3: 0x18b46a908f36f6deb918c143, }, u384 { limb0: 0x919211f20d4c04f00b971ef8, limb1: 0xc02710e807b4633f06c851c1, limb2: 0x4f53f447aa7b12a3426b08e, - limb3: 0xb182cac101b9399d1550960 + limb3: 0xb182cac101b9399d1550960, }, u384 { limb0: 0x1c232a6442d9d3f5db980133, limb1: 0x13e6632d3c40659cc6cf90ad, limb2: 0x7be315dc757b3b080d4c1580, - limb3: 0x245a394ad1eca9b72fc00ae + limb3: 0x245a394ad1eca9b72fc00ae, }, u384 { limb0: 0x6579afb7866b1e715475224b, limb1: 0xd9ab0f5d396a7ce46ba1049b, limb2: 0x48c4a3fc5e673d81d7e86568, - limb3: 0x5c129645e44cf1102a159f7 + limb3: 0x5c129645e44cf1102a159f7, }, u384 { limb0: 0xfec01c7704b456be69c8b604, limb1: 0x57add4fa95af01b2b665027e, limb2: 0x42df2eb5cb181d8f84965a39, - limb3: 0x15e6be4e990f03ce4ea50b3b + limb3: 0x15e6be4e990f03ce4ea50b3b, }, u384 { limb0: 0xf60c206d01479253b03663c1, limb1: 0xeec3232b5be72e7a07f3688e, limb2: 0xfad0eae9601a6de578980be6, - limb3: 0x16112c4c3a9c98b252181140 + limb3: 0x16112c4c3a9c98b252181140, }, u384 { limb0: 0x63529e3532f6102c2e49a03d, limb1: 0xa4a10356f453e01f78a42607, limb2: 0x43c348b885c84ff731c4d59c, - limb3: 0x1962d75c2381201e1a0cbd6c + limb3: 0x1962d75c2381201e1a0cbd6c, }, u384 { limb0: 0x36f96f891e2538b53dbf67f2, limb1: 0xc35a5dd279cd2eca6757cd6, limb2: 0x6e8eb15778c4855551ae7f31, - limb3: 0x58df3306640da276faaae7d + limb3: 0x58df3306640da276faaae7d, }, u384 { limb0: 0xc28297ada8d26d98445f5416, limb1: 0x123da489e726af41727364f2, limb2: 0x89edb4d1d115c5dbddbcd30e, - limb3: 0x16b7d288798e5395f20d23bf + limb3: 0x16b7d288798e5395f20d23bf, }, u384 { limb0: 0xfd2ededda39142311a5001d, limb1: 0x542eda0fc9dec916a20b15dc, limb2: 0xf8228ddcc6d19c9f0f69bbb0, - limb3: 0xbe0e079545f43e4b00cc912 + limb3: 0xbe0e079545f43e4b00cc912, }, u384 { limb0: 0xdfa9cce202c6477faaf9b7ac, limb1: 0xc5ecd87b6f0f5a6449f38db9, limb2: 0xac783182b70152c65550d881, - limb3: 0x8d9e5297186db2d9fb266ea + limb3: 0x8d9e5297186db2d9fb266ea, }, u384 { limb0: 0xa58b1fb93d1a1399126a775c, limb1: 0x5dd365bc400a0051d5fa9c01, limb2: 0xace9824b5eecfdfa8d0cf8ef, - limb3: 0x166007c08a99db2fc3ba8734 + limb3: 0x166007c08a99db2fc3ba8734, }, u384 { limb0: 0x801dee460ee415a15812ed9, limb1: 0xfeb34fd206357132b920f5b0, limb2: 0xbba6ff6ee5a4375efa1f4fd7, - limb3: 0x16a3ef08be3ea7ea03bcddfa + limb3: 0x16a3ef08be3ea7ea03bcddfa, }, u384 { limb0: 0xbb9248836b233d9d55535d4a, limb1: 0xabc5750c4bf39b4852cfe2f7, limb2: 0xd1d74cc4f9fb0ce4c6af5920, - limb3: 0x1866c8ed336c61231a1be54f + limb3: 0x1866c8ed336c61231a1be54f, }, u384 { limb0: 0xd529b35e346ef48bb8913f55, limb1: 0x5308592e7ea7d4fbc7385ea3, limb2: 0xd94a84903216f763e13d87bb, - limb3: 0x167a55cda70a6e1cea820597 + limb3: 0x167a55cda70a6e1cea820597, }, u384 { limb0: 0x4f83060400f8b49cba8f6aa8, limb1: 0xe591b36e636a5c871a5c29f, limb2: 0x1ad2911d9c6dd039bb61a629, - limb3: 0x4d2f259eea405bd48f010a0 + limb3: 0x4d2f259eea405bd48f010a0, }, u384 { limb0: 0x6f7ebbea9684b529e2561092, limb1: 0x8c0f9a88cea7913516f96898, limb2: 0x48c50c477f94ff8aefce42d2, - limb3: 0xaccbb67481d033ff5852c1e + limb3: 0xaccbb67481d033ff5852c1e, }, u384 { limb0: 0xe3b90ac11e99b138573345cc, limb1: 0x7d5ceef9a00d9b8693000763, limb2: 0xb45f1496543346d98adf0226, - limb3: 0xad6b9514c767fe3c3613144 + limb3: 0xad6b9514c767fe3c3613144, }, u384 { limb0: 0x8714cc80d1fadc1326ed06f7, limb1: 0xcb748df27942480e420517bd, limb2: 0x53cd76f2bf565b94e72927c1, - limb3: 0x2660400eb2e4f3b628bdd0d + limb3: 0x2660400eb2e4f3b628bdd0d, }, u384 { limb0: 0xf13497804415473a1d634b8f, limb1: 0x324efcd6356caa205ca2f570, limb2: 0xd7819c171c40f65e273b853, - limb3: 0xe0fa1d816ddc03e6b24255e - } + limb3: 0xe0fa1d816ddc03e6b24255e, + }, ]; #[cfg(test)] @@ -637,11 +635,11 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; diff --git a/src/src/circuits/multi_pairing_check.cairo b/src/src/circuits/multi_pairing_check.cairo index c580ed2f..7592e9e1 100644 --- a/src/src/circuits/multi_pairing_check.cairo +++ b/src/src/circuits/multi_pairing_check.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,14 +10,14 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -30,7 +30,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -77,7 +77,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( let t32 = circuit_add(t30, t31); // Eval sparse poly line_1p_1 step + coeff_8 * z^8 let t33 = circuit_mul(t19, t32); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_1(z) let t34 = circuit_mul( - t33, t33 + t33, t33, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t35 = circuit_sub(in14, in15); let t36 = circuit_mul(t35, in0); // eval bls line by yInv @@ -113,7 +113,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t65, t4,).new_inputs(); + let mut circuit_inputs = (t65, t4).new_inputs(); // Prefill constants: // Fill inputs: @@ -149,7 +149,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -165,7 +165,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -281,7 +281,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( let t94 = circuit_add(t92, t93); // Eval sparse poly line_2p_1 step + coeff_8 * z^8 let t95 = circuit_mul(t33, t94); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_2(z) let t96 = circuit_mul( - t95, t95 + t95, t95, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t97 = circuit_sub(in17, in18); let t98 = circuit_mul(t97, in3); // eval bls line by yInv @@ -379,7 +379,7 @@ fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t153, t154, t163, t164, t189, t4,).new_inputs(); + let mut circuit_inputs = (t153, t154, t163, t164, t189, t4).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x6, 0x0, 0x0, 0x0]); // in1 @@ -422,14 +422,14 @@ fn run_BLS12_381_MP_CHECK_BIT00_3P_2F_circuit( x0: outputs.get_output(t153), x1: outputs.get_output(t154), y0: outputs.get_output(t163), - y1: outputs.get_output(t164) + y1: outputs.get_output(t164), }; let lhs_i_plus_one: u384 = outputs.get_output(t189); let ci_plus_one: u384 = outputs.get_output(t4); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT0_2P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT0_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -440,7 +440,7 @@ fn run_BLS12_381_MP_CHECK_BIT0_2P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -489,7 +489,7 @@ fn run_BLS12_381_MP_CHECK_BIT0_2P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t36, t4,).new_inputs(); + let mut circuit_inputs = (t36, t4).new_inputs(); // Prefill constants: // Fill inputs: @@ -517,7 +517,7 @@ fn run_BLS12_381_MP_CHECK_BIT0_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT0_3P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT0_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -531,7 +531,7 @@ fn run_BLS12_381_MP_CHECK_BIT0_3P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -649,7 +649,7 @@ fn run_BLS12_381_MP_CHECK_BIT0_3P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t62, t63, t72, t73, t98, t4,).new_inputs(); + let mut circuit_inputs = (t62, t63, t72, t73, t98, t4).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x6, 0x0, 0x0, 0x0]); // in1 @@ -684,14 +684,14 @@ fn run_BLS12_381_MP_CHECK_BIT0_3P_2F_circuit( x0: outputs.get_output(t62), x1: outputs.get_output(t63), y0: outputs.get_output(t72), - y1: outputs.get_output(t73) + y1: outputs.get_output(t73), }; let lhs_i_plus_one: u384 = outputs.get_output(t98); let ci_plus_one: u384 = outputs.get_output(t4); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT1_2P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT1_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -705,7 +705,7 @@ fn run_BLS12_381_MP_CHECK_BIT1_2P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -786,7 +786,7 @@ fn run_BLS12_381_MP_CHECK_BIT1_2P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t65, t4,).new_inputs(); + let mut circuit_inputs = (t65, t4).new_inputs(); // Prefill constants: // Fill inputs: @@ -823,7 +823,7 @@ fn run_BLS12_381_MP_CHECK_BIT1_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_BIT1_3P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_BIT1_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -841,7 +841,7 @@ fn run_BLS12_381_MP_CHECK_BIT1_3P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -1038,7 +1038,7 @@ fn run_BLS12_381_MP_CHECK_BIT1_3P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t124, t125, t134, t135, t175, t4,).new_inputs(); + let mut circuit_inputs = (t124, t125, t134, t135, t175, t4).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -1084,14 +1084,14 @@ fn run_BLS12_381_MP_CHECK_BIT1_3P_2F_circuit( x0: outputs.get_output(t124), x1: outputs.get_output(t125), y0: outputs.get_output(t134), - y1: outputs.get_output(t135) + y1: outputs.get_output(t135), }; let lhs_i_plus_one: u384 = outputs.get_output(t175); let ci_plus_one: u384 = outputs.get_output(t4); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( +pub fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( R_n_minus_1: E12D, c_n_minus_2: u384, w_of_z: u384, @@ -1099,7 +1099,7 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( c_inv_frob_1_of_z: u384, previous_lhs: u384, R_n_minus_2_of_z: u384, - Q: Array + Q: Array, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x2 @@ -1352,11 +1352,9 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( circuit_inputs = circuit_inputs .next_2( [ - 0xb153ffffb9feffffffffaaa9, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaa9, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ); // in1 // Fill inputs: circuit_inputs = circuit_inputs.next_2(R_n_minus_1.w0); // in2 @@ -1389,7 +1387,7 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( return (final_check,); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( +pub fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( R_n_minus_1: E12D, c_n_minus_2: u384, w_of_z: u384, @@ -1397,7 +1395,7 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( c_inv_frob_1_of_z: u384, previous_lhs: u384, R_n_minus_2_of_z: u384, - Q: Array + Q: Array, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x2 @@ -1706,11 +1704,9 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( circuit_inputs = circuit_inputs .next_2( [ - 0xb153ffffb9feffffffffaaa9, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaa9, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ); // in1 // Fill inputs: circuit_inputs = circuit_inputs.next_2(R_n_minus_1.w0); // in2 @@ -1743,7 +1739,7 @@ fn run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( return (final_check,); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_INIT_BIT_2P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_INIT_BIT_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_0: G2Line, @@ -1755,7 +1751,7 @@ fn run_BLS12_381_MP_CHECK_INIT_BIT_2P_2F_circuit( R_i_of_z: u384, c0: u384, z: u384, - c_inv_of_z: u384 + c_inv_of_z: u384, ) -> (u384,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -1867,7 +1863,7 @@ fn run_BLS12_381_MP_CHECK_INIT_BIT_2P_2F_circuit( return (new_lhs,); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_INIT_BIT_3P_2F_circuit( +pub fn run_BLS12_381_MP_CHECK_INIT_BIT_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_0: G2Line, @@ -1882,7 +1878,7 @@ fn run_BLS12_381_MP_CHECK_INIT_BIT_3P_2F_circuit( R_i_of_z: u384, c0: u384, z: u384, - c_inv_of_z: u384 + c_inv_of_z: u384, ) -> (G2Point, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -2077,7 +2073,7 @@ fn run_BLS12_381_MP_CHECK_INIT_BIT_3P_2F_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t132, t133, t142, t143, t173,).new_inputs(); + let mut circuit_inputs = (t132, t133, t142, t143, t173).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x6, 0x0, 0x0, 0x0]); // in1 @@ -2119,57 +2115,57 @@ fn run_BLS12_381_MP_CHECK_INIT_BIT_3P_2F_circuit( x0: outputs.get_output(t132), x1: outputs.get_output(t133), y0: outputs.get_output(t142), - y1: outputs.get_output(t143) + y1: outputs.get_output(t143), }; let new_lhs: u384 = outputs.get_output(t173); return (Q0, new_lhs); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( - lambda_root_inverse: E12D, z: u384, scaling_factor: MillerLoopResultScalingFactor +pub fn run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( + lambda_root_inverse: E12D, z: u384, scaling_factor: MillerLoopResultScalingFactor, ) -> (u384, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::> {}; // 0x2 let in2 = CE::< - CI<2> + CI<2>, > {}; // 0x18089593cbf626353947d5b1fd0c6d66bb34bc7585f5abdf8f17b50e12c47d65ce514a7c167b027b600febdb244714c5 let in3 = CE::< - CI<3> + CI<3>, > {}; // 0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffeffff let in4 = CE::< - CI<4> + CI<4>, > {}; // 0xd5e1c086ffe8016d063c6dad7a2fffc9072bb5785a686bcefeedc2e0124838bdccf325ee5d80be9902109f7dbc79812 let in5 = CE::< - CI<5> + CI<5>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaad let in6 = CE::< - CI<6> + CI<6>, > {}; // 0x1a0111ea397fe6998ce8d956845e1033efa3bf761f6622e9abc9802928bfc912627c4fd7ed3ffffb5dfb00000001aaaf let in7 = CE::< - CI<7> + CI<7>, > {}; // 0xb659fb20274bfb1be8ff4d69163c08be7302c4818171fdd17d5be9b1d380acd8c747cdc4aff0e653631f5d3000f022c let in8 = CE::> {}; // -0x1 % p let in9 = CE::< - CI<9> + CI<9>, > {}; // 0xfc3e2b36c4e03288e9e902231f9fb854a14787b6c7b36fec0c8ec971f63c5f282d5ac14d6c7ec22cf78a126ddc4af3 let in10 = CE::< - CI<10> + CI<10>, > {}; // 0x1f87c566d89c06511d3d204463f3f70a9428f0f6d8f66dfd8191d92e3ec78be505ab5829ad8fd8459ef1424dbb895e6 let in11 = CE::< - CI<11> + CI<11>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaac let in12 = CE::< - CI<12> + CI<12>, > {}; // 0x6af0e0437ff400b6831e36d6bd17ffe48395dabc2d3435e77f76e17009241c5ee67992f72ec05f4c81084fbede3cc09 let in13 = CE::< - CI<13> + CI<13>, > {}; // 0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe let in14 = CE::< - CI<14> + CI<14>, > {}; // 0x144e4211384586c16bd3ad4afa99cc9170df3560e77982d0db45f3536814f0bd5871c1908bd478cd1ee605167ff82995 let in15 = CE::< - CI<15> + CI<15>, > {}; // 0xe9b7238370b26e88c8bb2dfb1e7ec4b7d471f3cdb6df2e24f5b1405d978eb56923783226654f19a83cd0a2cfff0a87f // INPUT stack @@ -2278,7 +2274,7 @@ fn run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t37, t47, t94,).new_inputs(); + let mut circuit_inputs = (t37, t47, t94).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs @@ -2311,98 +2307,96 @@ fn run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( let c_inv_frob_1_of_z: u384 = outputs.get_output(t94); return (c_inv_of_z, scaling_factor_of_z, c_inv_frob_1_of_z); } -const MP_CHECK_PREPARE_LAMBDA_ROOT_BLS12_381_CONSTANTS: [ - u384 - ; 16] = [ +const MP_CHECK_PREPARE_LAMBDA_ROOT_BLS12_381_CONSTANTS: [u384; 16] = [ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x2, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x167b027b600febdb244714c5, limb1: 0x8f17b50e12c47d65ce514a7c, limb2: 0xfd0c6d66bb34bc7585f5abdf, - limb3: 0x18089593cbf626353947d5b1 + limb3: 0x18089593cbf626353947d5b1, }, u384 { limb0: 0x620a00022e01fffffffeffff, limb1: 0xddb3a93be6f89688de17d813, limb2: 0xdf76ce51ba69c6076a0f77ea, - limb3: 0x5f19672f + limb3: 0x5f19672f, }, u384 { limb0: 0xe5d80be9902109f7dbc79812, limb1: 0xefeedc2e0124838bdccf325e, limb2: 0xd7a2fffc9072bb5785a686bc, - limb3: 0xd5e1c086ffe8016d063c6da + limb3: 0xd5e1c086ffe8016d063c6da, }, u384 { limb0: 0x4f49fffd8bfd00000000aaad, limb1: 0x897d29650fb85f9b409427eb, limb2: 0x63d4de85aa0d857d89759ad4, - limb3: 0x1a0111ea397fe699ec024086 + limb3: 0x1a0111ea397fe699ec024086, }, u384 { limb0: 0xed3ffffb5dfb00000001aaaf, limb1: 0xabc9802928bfc912627c4fd7, limb2: 0x845e1033efa3bf761f6622e9, - limb3: 0x1a0111ea397fe6998ce8d956 + limb3: 0x1a0111ea397fe6998ce8d956, }, u384 { limb0: 0x4aff0e653631f5d3000f022c, limb1: 0x17d5be9b1d380acd8c747cdc, limb2: 0x9163c08be7302c4818171fdd, - limb3: 0xb659fb20274bfb1be8ff4d6 + limb3: 0xb659fb20274bfb1be8ff4d6, }, u384 { limb0: 0xb153ffffb9feffffffffaaaa, limb1: 0x6730d2a0f6b0f6241eabfffe, limb2: 0x434bacd764774b84f38512bf, - limb3: 0x1a0111ea397fe69a4b1ba7b6 + limb3: 0x1a0111ea397fe69a4b1ba7b6, }, u384 { limb0: 0x4d6c7ec22cf78a126ddc4af3, limb1: 0xec0c8ec971f63c5f282d5ac1, limb2: 0x231f9fb854a14787b6c7b36f, - limb3: 0xfc3e2b36c4e03288e9e902 + limb3: 0xfc3e2b36c4e03288e9e902, }, u384 { limb0: 0x9ad8fd8459ef1424dbb895e6, limb1: 0xd8191d92e3ec78be505ab582, limb2: 0x463f3f70a9428f0f6d8f66df, - limb3: 0x1f87c566d89c06511d3d204 + limb3: 0x1f87c566d89c06511d3d204, }, u384 { limb0: 0x4f49fffd8bfd00000000aaac, limb1: 0x897d29650fb85f9b409427eb, limb2: 0x63d4de85aa0d857d89759ad4, - limb3: 0x1a0111ea397fe699ec024086 + limb3: 0x1a0111ea397fe699ec024086, }, u384 { limb0: 0x72ec05f4c81084fbede3cc09, limb1: 0x77f76e17009241c5ee67992f, limb2: 0x6bd17ffe48395dabc2d3435e, - limb3: 0x6af0e0437ff400b6831e36d + limb3: 0x6af0e0437ff400b6831e36d, }, u384 { limb0: 0x620a00022e01fffffffefffe, limb1: 0xddb3a93be6f89688de17d813, limb2: 0xdf76ce51ba69c6076a0f77ea, - limb3: 0x5f19672f + limb3: 0x5f19672f, }, u384 { limb0: 0x8bd478cd1ee605167ff82995, limb1: 0xdb45f3536814f0bd5871c190, limb2: 0xfa99cc9170df3560e77982d0, - limb3: 0x144e4211384586c16bd3ad4a + limb3: 0x144e4211384586c16bd3ad4a, }, u384 { limb0: 0x6654f19a83cd0a2cfff0a87f, limb1: 0x4f5b1405d978eb5692378322, limb2: 0xb1e7ec4b7d471f3cdb6df2e2, - limb3: 0xe9b7238370b26e88c8bb2df - } + limb3: 0xe9b7238370b26e88c8bb2df, + }, ]; #[inline(always)] -fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit(p_0: G1Point) -> (BLSProcessedPair,) { +pub fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit(p_0: G1Point) -> (BLSProcessedPair,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -2414,7 +2408,7 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit(p_0: G1Point) -> (BLSProcesse let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t0, t2,).new_inputs(); + let mut circuit_inputs = (t0, t2).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -2423,13 +2417,13 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit(p_0: G1Point) -> (BLSProcesse let outputs = circuit_inputs.done_2().eval(modulus).unwrap(); let p_0: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2) + yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), }; return (p_0,); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_2P_circuit( - p_0: G1Point, p_1: G1Point +pub fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_2P_circuit( + p_0: G1Point, p_1: G1Point, ) -> (BLSProcessedPair, BLSProcessedPair) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -2446,7 +2440,7 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_2P_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t0, t2, t3, t5,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -2457,16 +2451,16 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_2P_circuit( let outputs = circuit_inputs.done_2().eval(modulus).unwrap(); let p_0: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2) + yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), }; let p_1: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t3), xNegOverY: outputs.get_output(t5) + yInv: outputs.get_output(t3), xNegOverY: outputs.get_output(t5), }; return (p_0, p_1); } #[inline(always)] -fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit( - p_0: G1Point, p_1: G1Point, p_2: G1Point +pub fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit( + p_0: G1Point, p_1: G1Point, p_2: G1Point, ) -> (BLSProcessedPair, BLSProcessedPair, BLSProcessedPair) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -2486,7 +2480,7 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t0, t2, t3, t5, t6, t8,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t5, t6, t8).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -2499,18 +2493,18 @@ fn run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit( let outputs = circuit_inputs.done_2().eval(modulus).unwrap(); let p_0: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2) + yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), }; let p_1: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t3), xNegOverY: outputs.get_output(t5) + yInv: outputs.get_output(t3), xNegOverY: outputs.get_output(t5), }; let p_2: BLSProcessedPair = BLSProcessedPair { - yInv: outputs.get_output(t6), xNegOverY: outputs.get_output(t8) + yInv: outputs.get_output(t6), xNegOverY: outputs.get_output(t8), }; return (p_0, p_1, p_2); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -2523,7 +2517,7 @@ fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -2581,7 +2575,7 @@ fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( let t39 = circuit_add(t37, t38); // Eval sparse poly line_1p_1 step + coeff_9 * z^9 let t40 = circuit_mul(t23, t39); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_1(z) let t41 = circuit_mul( - t40, t40 + t40, t40, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t42 = circuit_mul(in0, in15); let t43 = circuit_add(in14, t42); @@ -2623,11 +2617,11 @@ fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t78, t5,).new_inputs(); + let mut circuit_inputs = (t78, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 // Fill inputs: @@ -2663,7 +2657,7 @@ fn run_BN254_MP_CHECK_BIT00_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -2679,7 +2673,7 @@ fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( f_i_of_z: u384, f_i_plus_one_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -2807,7 +2801,7 @@ fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( let t104 = circuit_add(t102, t103); // Eval sparse poly line_2p_1 step + coeff_9 * z^9 let t105 = circuit_mul(t40, t104); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_2(z) let t106 = circuit_mul( - t105, t105 + t105, t105, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t107 = circuit_mul(in0, in18); let t108 = circuit_add(in17, t107); @@ -2914,11 +2908,11 @@ fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t169, t170, t179, t180, t208, t5,).new_inputs(); + let mut circuit_inputs = (t169, t170, t179, t180, t208, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in2 @@ -2962,14 +2956,14 @@ fn run_BN254_MP_CHECK_BIT00_3P_2F_circuit( x0: outputs.get_output(t169), x1: outputs.get_output(t170), y0: outputs.get_output(t179), - y1: outputs.get_output(t180) + y1: outputs.get_output(t180), }; let lhs_i_plus_one: u384 = outputs.get_output(t208); let ci_plus_one: u384 = outputs.get_output(t5); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -2985,7 +2979,7 @@ fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -3046,7 +3040,7 @@ fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( let t39 = circuit_add(t37, t38); // Eval sparse poly line_1p_1 step + coeff_9 * z^9 let t40 = circuit_mul(t23, t39); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_1(z) let t41 = circuit_mul( - t40, t40 + t40, t40, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t42 = circuit_mul(in0, in13); let t43 = circuit_add(in12, t42); @@ -3123,11 +3117,11 @@ fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t113, t5,).new_inputs(); + let mut circuit_inputs = (t113, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 // Fill inputs: @@ -3172,7 +3166,7 @@ fn run_BN254_MP_CHECK_BIT01_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -3192,7 +3186,7 @@ fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -3324,7 +3318,7 @@ fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( let t104 = circuit_add(t102, t103); // Eval sparse poly line_2p_1 step + coeff_9 * z^9 let t105 = circuit_mul(t40, t104); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_2(z) let t106 = circuit_mul( - t105, t105 + t105, t105, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t107 = circuit_mul(in0, in16); let t108 = circuit_add(in15, t107); @@ -3517,11 +3511,11 @@ fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t237, t238, t247, t248, t294, t5,).new_inputs(); + let mut circuit_inputs = (t237, t238, t247, t248, t294, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in2 @@ -3578,14 +3572,14 @@ fn run_BN254_MP_CHECK_BIT01_3P_2F_circuit( x0: outputs.get_output(t237), x1: outputs.get_output(t238), y0: outputs.get_output(t247), - y1: outputs.get_output(t248) + y1: outputs.get_output(t248), }; let lhs_i_plus_one: u384 = outputs.get_output(t294); let ci_plus_one: u384 = outputs.get_output(t5); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -3601,7 +3595,7 @@ fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -3696,7 +3690,7 @@ fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( let t73 = circuit_add(t71, t72); // Eval sparse poly line_1p_2 step + coeff_9 * z^9 let t74 = circuit_mul(t65, t73); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_1(z) let t75 = circuit_mul( - t74, t74 + t74, t74, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t76 = circuit_mul(in0, in23); let t77 = circuit_add(in22, t76); @@ -3740,11 +3734,11 @@ fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t114, t5,).new_inputs(); + let mut circuit_inputs = (t114, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 // Fill inputs: @@ -3789,7 +3783,7 @@ fn run_BN254_MP_CHECK_BIT10_2P_2F_circuit( return (lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( +pub fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_dbl_0: G2Line, @@ -3809,7 +3803,7 @@ fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( f_i_plus_one_of_z: u384, c_or_cinv_of_z: u384, z: u384, - ci: u384 + ci: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -4026,7 +4020,7 @@ fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( let t189 = circuit_add(t187, t188); // Eval sparse poly line_2p_2 step + coeff_9 * z^9 let t190 = circuit_mul(t181, t189); // Mul (f(z)^2 * Π_0_k-1(line_k(z))) * line_i_2(z) let t191 = circuit_mul( - t190, t190 + t190, t190, ); // Compute (f^2 * Π(i,k) (line_i,k(z))) ^ 2 = f^4 * (Π(i,k) (line_i,k(z)))^2 let t192 = circuit_mul(in0, in26); let t193 = circuit_add(in25, t192); @@ -4135,11 +4129,11 @@ fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t254, t255, t264, t265, t295, t5,).new_inputs(); + let mut circuit_inputs = (t254, t255, t264, t265, t295, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in2 @@ -4196,14 +4190,14 @@ fn run_BN254_MP_CHECK_BIT10_3P_2F_circuit( x0: outputs.get_output(t254), x1: outputs.get_output(t255), y0: outputs.get_output(t264), - y1: outputs.get_output(t265) + y1: outputs.get_output(t265), }; let lhs_i_plus_one: u384 = outputs.get_output(t295); let ci_plus_one: u384 = outputs.get_output(t5); return (Q0, lhs_i_plus_one, ci_plus_one); } #[inline(always)] -fn run_BN254_MP_CHECK_FINALIZE_BN_2P_2F_circuit( +pub fn run_BN254_MP_CHECK_FINALIZE_BN_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, line_1_0: G2Line, @@ -4222,7 +4216,7 @@ fn run_BN254_MP_CHECK_FINALIZE_BN_2P_2F_circuit( c_inv_frob_3_of_z: u384, previous_lhs: u384, R_n_minus_3_of_z: u384, - Q: Array + Q: Array, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -4732,13 +4726,13 @@ fn run_BN254_MP_CHECK_FINALIZE_BN_2P_2F_circuit( // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs.next_2([0x52, 0x0, 0x0, 0x0]); // in2 circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd35, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd35, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in3 // Fill inputs: circuit_inputs = circuit_inputs.next_2(yInv_0); // in4 @@ -4805,7 +4799,7 @@ fn run_BN254_MP_CHECK_FINALIZE_BN_2P_2F_circuit( return (final_check,); } #[inline(always)] -fn run_BN254_MP_CHECK_FINALIZE_BN_3P_2F_circuit( +pub fn run_BN254_MP_CHECK_FINALIZE_BN_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, line_1_0: G2Line, @@ -4828,7 +4822,7 @@ fn run_BN254_MP_CHECK_FINALIZE_BN_3P_2F_circuit( c_inv_frob_3_of_z: u384, previous_lhs: u384, R_n_minus_3_of_z: u384, - Q: Array + Q: Array, ) -> (u384,) { // CONSTANT stack let in0 = CE::> {}; // 0x2fb347984f7911f74c0bec3cf559b143b78cc310c2c3330c99e39557176f553d @@ -5649,38 +5643,36 @@ fn run_BN254_MP_CHECK_FINALIZE_BN_3P_2F_circuit( let final_check: u384 = outputs.get_output(t638); return (final_check,); } -const MP_CHECK_FINALIZE_BN_3P_2F_BN254_CONSTANTS: [ - u384 - ; 10] = [ +const MP_CHECK_FINALIZE_BN_3P_2F_BN254_CONSTANTS: [u384; 10] = [ u384 { limb0: 0xc2c3330c99e39557176f553d, limb1: 0x4c0bec3cf559b143b78cc310, limb2: 0x2fb347984f7911f7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7c9dce1665d51c640fcba2, limb1: 0x4ba4cc8bd75a079432ae2a1d, limb2: 0x16c9e55061ebae20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9c95998dc54014671a0135a, limb1: 0xdc5ec698b6e2f9b9dbaae0ed, limb2: 0x63cf305489af5dc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8fa25bd282d37f632623b0e3, limb1: 0x704b5a7ec796f2b21807dc9, limb2: 0x7c03cbcac41049a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbb966e3de4bd44e5607cfd48, limb1: 0x5e6dd9e7e0acccb0c28f069f, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, @@ -5688,18 +5680,18 @@ const MP_CHECK_FINALIZE_BN_3P_2F_BN254_CONSTANTS: [ limb0: 0x6871ca8d3c208c16d87cfd3e, limb1: 0xb85045b68181585d97816a91, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x52, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x6871ca8d3c208c16d87cfd35, limb1: 0xb85045b68181585d97816a91, limb2: 0x30644e72e131a029, - limb3: 0x0 - } + limb3: 0x0, + }, ]; #[inline(always)] -fn run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit( +pub fn run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_0: G2Line, @@ -5710,7 +5702,7 @@ fn run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit( c0: u384, z: u384, c_inv_of_z: u384, - previous_lhs: u384 + previous_lhs: u384, ) -> (u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -5770,11 +5762,11 @@ fn run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t43, t6,).new_inputs(); + let mut circuit_inputs = (t43, t6).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 // Fill inputs: @@ -5802,7 +5794,7 @@ fn run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit( return (new_lhs, c_i); } #[inline(always)] -fn run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit( +pub fn run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit( yInv_0: u384, xNegOverY_0: u384, G2_line_0: G2Line, @@ -5816,7 +5808,7 @@ fn run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit( c0: u384, z: u384, c_inv_of_z: u384, - previous_lhs: u384 + previous_lhs: u384, ) -> (G2Point, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // -0x9 % p @@ -5946,11 +5938,11 @@ fn run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t69, t70, t79, t80, t108, t6,).new_inputs(); + let mut circuit_inputs = (t69, t70, t79, t80, t108, t6).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd3e, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs.next_2([0x3, 0x0, 0x0, 0x0]); // in2 @@ -5986,19 +5978,19 @@ fn run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit( x0: outputs.get_output(t69), x1: outputs.get_output(t70), y0: outputs.get_output(t79), - y1: outputs.get_output(t80) + y1: outputs.get_output(t80), }; let new_lhs: u384 = outputs.get_output(t108); let c_i: u384 = outputs.get_output(t6); return (Q0, new_lhs, c_i); } #[inline(always)] -fn run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( +pub fn run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( lambda_root: E12D, z: u384, scaling_factor: MillerLoopResultScalingFactor, c_inv: E12D, - c_0: u384 + c_0: u384, ) -> (u384, u384, u384, u384, u384, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x1 @@ -6012,85 +6004,85 @@ fn run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( let in8 = CE::> {}; // 0x2c84bbad27c3671562b7adefd44038ab3c0bbad96fc008e7d6998c82f7fc048b let in9 = CE::> {}; // 0xc33b1c70e4fd11b6d1eab6fcd18b99ad4afd096a8697e0c9c36d8ca3339a7b5 let in10 = CE::< - CI<10> + CI<10>, > {}; // 0x1b007294a55accce13fe08bea73305ff6bdac77c5371c546d428780a6e3dcfa8 let in11 = CE::< - CI<11> + CI<11>, > {}; // 0x215d42e7ac7bd17cefe88dd8e6965b3adae92c974f501fe811493d72543a3977 let in12 = CE::> {}; // -0x1 % p let in13 = CE::< - CI<13> + CI<13>, > {}; // 0x246996f3b4fae7e6a6327cfe12150b8e747992778eeec7e5ca5cf05f80f362ac let in14 = CE::< - CI<14> + CI<14>, > {}; // 0x12d7c0c3ed42be419d2b22ca22ceca702eeb88c36a8b264dde75f4f798d6a3f2 let in15 = CE::< - CI<15> + CI<15>, > {}; // 0x16c9e55061ebae204ba4cc8bd75a079432ae2a1d0b7c9dce1665d51c640fcba2 let in16 = CE::> {}; // 0xc38dce27e3b2cae33ce738a184c89d94a0e78406b48f98a7b4f4463e3a7dba0 let in17 = CE::> {}; // 0x7c03cbcac41049a0704b5a7ec796f2b21807dc98fa25bd282d37f632623b0e3 let in18 = CE::> {}; // 0xf20e129e47c9363aa7b569817e0966cba582096fa7a164080faed1f0d24275a let in19 = CE::< - CI<19> + CI<19>, > {}; // 0x2c145edbe7fd8aee9f3a80b03b0b1c923685d2ea1bdec763c13b4711cd2b8126 let in20 = CE::> {}; // 0x3df92c5b96e3914559897c6ad411fb25b75afb7f8b1c1a56586ff93e080f8bc let in21 = CE::< - CI<21> + CI<21>, > {}; // 0x12acf2ca76fd0675a27fb246c7729f7db080cb99678e2ac024c6b8ee6e0c2c4b let in22 = CE::< - CI<22> + CI<22>, > {}; // 0x1563dbde3bd6d35ba4523cf7da4e525e2ba6a3151500054667f8140c6a3f2d9f let in23 = CE::< - CI<23> + CI<23>, > {}; // 0x30644e72e131a0295e6dd9e7e0acccb0c28f069fbb966e3de4bd44e5607cfd49 let in24 = CE::< - CI<24> + CI<24>, > {}; // 0x30644e72e131a0295e6dd9e7e0acccb0c28f069fbb966e3de4bd44e5607cfd48 let in25 = CE::> {}; // 0x59e26bcea0d48bacd4f263f1acdb5c4f5763473177fffffe let in26 = CE::> {}; // 0x59e26bcea0d48bacd4f263f1acdb5c4f5763473177ffffff let in27 = CE::< - CI<27> + CI<27>, > {}; // 0x13d0c369615f7bb0b2bdfa8fef85fa07122bde8d67dfc8fabd3581ad840ddd76 let in28 = CE::< - CI<28> + CI<28>, > {}; // 0x18a0f4219f4fdff6fc2bf531eb331a053a35744cac285af5685d3f90eacf7a66 let in29 = CE::> {}; // 0xc3a5e9c462a654779c3e050c9ca2a428908a81264e2b5a5bf22f67654883ae6 let in30 = CE::< - CI<30> + CI<30>, > {}; // 0x2ce02aa5f9bf8cd65bdd2055c255cf9d9e08c1d9345582cc92fd973c74bd77f4 let in31 = CE::< - CI<31> + CI<31>, > {}; // 0x17ded419ed7be4f97fac149bfaefbac11b155498de227b850aea3f23790405d6 let in32 = CE::< - CI<32> + CI<32>, > {}; // 0x1bfe7b214c0294242fb81a8dccd8a9b4441d64f34150a79753fb0cd31cc99cc0 let in33 = CE::> {}; // 0x697b9c523e0390ed15da0ec97a9b8346513297b9efaf0f0f1a228f0d5662fbd let in34 = CE::> {}; // 0x7a0e052f2b1c443b5186d6ac4c723b85d3f78a3182d2db0c413901c32b0c6fe let in35 = CE::< - CI<35> + CI<35>, > {}; // 0x1b76a37fba85f3cd5dc79824a3792597356c892c39c0d06b220500933945267f let in36 = CE::> {}; // 0xabf8b60be77d7306cbeee33576139d7f03a5e397d439ec7694aa2bf4c0c101 let in37 = CE::< - CI<37> + CI<37>, > {}; // 0x1c938b097fd2247905924b2691fb5e5685558c04009201927eeb0a69546f1fd1 let in38 = CE::> {}; // 0x4f1de41b3d1766fa9f30e6dec26094f0fdf31bf98ff2631380cab2baaa586de let in39 = CE::< - CI<39> + CI<39>, > {}; // 0x2429efd69b073ae23e8c6565b7b72e1b0e78c27f038f14e77cfd95a083f4c261 let in40 = CE::< - CI<40> + CI<40>, > {}; // 0x28a411b634f09b8fb14b900e9507e9327600ecc7d8cf6ebab94d0cb3b2594c64 let in41 = CE::< - CI<41> + CI<41>, > {}; // 0x23d5e999e1910a12feb0f6ef0cd21d04a44a9e08737f96e55fe3ed9d730c239f let in42 = CE::< - CI<42> + CI<42>, > {}; // 0x1465d351952f0c0588982b28b4a8aea95364059e272122f5e8257f43bbb36087 let in43 = CE::< - CI<43> + CI<43>, > {}; // 0x16db366a59b1dd0b9fb1b2282a48633d3e2ddaea200280211f25041384282499 let in44 = CE::< - CI<44> + CI<44>, > {}; // 0x28c36e1fee7fdbe60337d84bbcba34a53a41f1ee50449cdc780cfbfaa5cc3649 // INPUT stack @@ -6317,7 +6309,7 @@ fn run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t31, t41, t63, t66, t164, t186, t208,).new_inputs(); + let mut circuit_inputs = (t31, t41, t63, t66, t164, t186, t208).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs @@ -6372,270 +6364,274 @@ fn run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( lhs, c_inv_frob_1_of_z, c_frob_2_of_z, - c_inv_frob_3_of_z + c_inv_frob_3_of_z, ); } -const MP_CHECK_PREPARE_LAMBDA_ROOT_BN254_CONSTANTS: [ - u384 - ; 45] = [ +const MP_CHECK_PREPARE_LAMBDA_ROOT_BN254_CONSTANTS: [u384; 45] = [ u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x12, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0xfde6a43f5daa971f3fa65955, limb1: 0x1b2522ec5eb28ded6895e1cd, limb2: 0x1d8c8daef3eee1e8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x42b29c567e9c385ce480a71a, limb1: 0x4e34e2ac06ead4000d14d1e2, limb2: 0x217e400dc9351e77, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd28d102c0d147b2f4d521a7, limb1: 0x8481d22c6934ce844d72f250, limb2: 0x242b719062f6737b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x43ac198484b8d9094aa82536, limb1: 0x1b9c22d81246ffc2e794e176, limb2: 0x359809094bd5c8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6df7b44cbb259ef7cb58d5ed, limb1: 0xdd4ef1e69a0c1f0dd2949fa, limb2: 0x21436d48fcb50cc6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8a4f4f0831364cf35f78f771, limb1: 0x38a4311a86919d9c7c6c15f8, limb2: 0x18857a58f3b5bb30, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6fc008e7d6998c82f7fc048b, limb1: 0x62b7adefd44038ab3c0bbad9, limb2: 0x2c84bbad27c36715, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa8697e0c9c36d8ca3339a7b5, limb1: 0x6d1eab6fcd18b99ad4afd096, limb2: 0xc33b1c70e4fd11b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5371c546d428780a6e3dcfa8, limb1: 0x13fe08bea73305ff6bdac77c, limb2: 0x1b007294a55accce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4f501fe811493d72543a3977, limb1: 0xefe88dd8e6965b3adae92c97, limb2: 0x215d42e7ac7bd17c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6871ca8d3c208c16d87cfd46, limb1: 0xb85045b68181585d97816a91, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8eeec7e5ca5cf05f80f362ac, limb1: 0xa6327cfe12150b8e74799277, limb2: 0x246996f3b4fae7e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6a8b264dde75f4f798d6a3f2, limb1: 0x9d2b22ca22ceca702eeb88c3, limb2: 0x12d7c0c3ed42be41, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7c9dce1665d51c640fcba2, limb1: 0x4ba4cc8bd75a079432ae2a1d, limb2: 0x16c9e55061ebae20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6b48f98a7b4f4463e3a7dba0, limb1: 0x33ce738a184c89d94a0e7840, limb2: 0xc38dce27e3b2cae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8fa25bd282d37f632623b0e3, limb1: 0x704b5a7ec796f2b21807dc9, limb2: 0x7c03cbcac41049a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa7a164080faed1f0d24275a, limb1: 0xaa7b569817e0966cba582096, limb2: 0xf20e129e47c9363, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1bdec763c13b4711cd2b8126, limb1: 0x9f3a80b03b0b1c923685d2ea, limb2: 0x2c145edbe7fd8aee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf8b1c1a56586ff93e080f8bc, limb1: 0x559897c6ad411fb25b75afb7, limb2: 0x3df92c5b96e3914, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x678e2ac024c6b8ee6e0c2c4b, limb1: 0xa27fb246c7729f7db080cb99, limb2: 0x12acf2ca76fd0675, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1500054667f8140c6a3f2d9f, limb1: 0xa4523cf7da4e525e2ba6a315, limb2: 0x1563dbde3bd6d35b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbb966e3de4bd44e5607cfd49, limb1: 0x5e6dd9e7e0acccb0c28f069f, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbb966e3de4bd44e5607cfd48, limb1: 0x5e6dd9e7e0acccb0c28f069f, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { - limb0: 0xacdb5c4f5763473177fffffe, limb1: 0x59e26bcea0d48bacd4f263f1, limb2: 0x0, limb3: 0x0 + limb0: 0xacdb5c4f5763473177fffffe, + limb1: 0x59e26bcea0d48bacd4f263f1, + limb2: 0x0, + limb3: 0x0, }, u384 { - limb0: 0xacdb5c4f5763473177ffffff, limb1: 0x59e26bcea0d48bacd4f263f1, limb2: 0x0, limb3: 0x0 + limb0: 0xacdb5c4f5763473177ffffff, + limb1: 0x59e26bcea0d48bacd4f263f1, + limb2: 0x0, + limb3: 0x0, }, u384 { limb0: 0x67dfc8fabd3581ad840ddd76, limb1: 0xb2bdfa8fef85fa07122bde8d, limb2: 0x13d0c369615f7bb0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xac285af5685d3f90eacf7a66, limb1: 0xfc2bf531eb331a053a35744c, limb2: 0x18a0f4219f4fdff6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64e2b5a5bf22f67654883ae6, limb1: 0x79c3e050c9ca2a428908a812, limb2: 0xc3a5e9c462a6547, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x345582cc92fd973c74bd77f4, limb1: 0x5bdd2055c255cf9d9e08c1d9, limb2: 0x2ce02aa5f9bf8cd6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xde227b850aea3f23790405d6, limb1: 0x7fac149bfaefbac11b155498, limb2: 0x17ded419ed7be4f9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4150a79753fb0cd31cc99cc0, limb1: 0x2fb81a8dccd8a9b4441d64f3, limb2: 0x1bfe7b214c029424, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9efaf0f0f1a228f0d5662fbd, limb1: 0xd15da0ec97a9b8346513297b, limb2: 0x697b9c523e0390e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x182d2db0c413901c32b0c6fe, limb1: 0xb5186d6ac4c723b85d3f78a3, limb2: 0x7a0e052f2b1c443, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39c0d06b220500933945267f, limb1: 0x5dc79824a3792597356c892c, limb2: 0x1b76a37fba85f3cd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x97d439ec7694aa2bf4c0c101, limb1: 0x6cbeee33576139d7f03a5e3, limb2: 0xabf8b60be77d73, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9201927eeb0a69546f1fd1, limb1: 0x5924b2691fb5e5685558c04, limb2: 0x1c938b097fd22479, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x98ff2631380cab2baaa586de, limb1: 0xa9f30e6dec26094f0fdf31bf, limb2: 0x4f1de41b3d1766f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x38f14e77cfd95a083f4c261, limb1: 0x3e8c6565b7b72e1b0e78c27f, limb2: 0x2429efd69b073ae2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd8cf6ebab94d0cb3b2594c64, limb1: 0xb14b900e9507e9327600ecc7, limb2: 0x28a411b634f09b8f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x737f96e55fe3ed9d730c239f, limb1: 0xfeb0f6ef0cd21d04a44a9e08, limb2: 0x23d5e999e1910a12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x272122f5e8257f43bbb36087, limb1: 0x88982b28b4a8aea95364059e, limb2: 0x1465d351952f0c05, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x200280211f25041384282499, limb1: 0x9fb1b2282a48633d3e2ddaea, limb2: 0x16db366a59b1dd0b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x50449cdc780cfbfaa5cc3649, limb1: 0x337d84bbcba34a53a41f1ee, limb2: 0x28c36e1fee7fdbe6, - limb3: 0x0 - } + limb3: 0x0, + }, ]; #[inline(always)] -fn run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( - p_0: G1Point, Qy0_0: u384, Qy1_0: u384 +pub fn run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( + p_0: G1Point, Qy0_0: u384, Qy1_0: u384, ) -> (BNProcessedPair,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -6651,7 +6647,7 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t0, t2, t3, t4,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t4).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -6665,13 +6661,13 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), QyNeg0: outputs.get_output(t3), - QyNeg1: outputs.get_output(t4) + QyNeg1: outputs.get_output(t4), }; return (p_0,); } #[inline(always)] -fn run_BN254_MP_CHECK_PREPARE_PAIRS_2P_circuit( - p_0: G1Point, Qy0_0: u384, Qy1_0: u384, p_1: G1Point, Qy0_1: u384, Qy1_1: u384 +pub fn run_BN254_MP_CHECK_PREPARE_PAIRS_2P_circuit( + p_0: G1Point, Qy0_0: u384, Qy1_0: u384, p_1: G1Point, Qy0_1: u384, Qy1_1: u384, ) -> (BNProcessedPair, BNProcessedPair) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -6693,7 +6689,7 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_2P_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t0, t2, t3, t4, t5, t7, t8, t9,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t4, t5, t7, t8, t9).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -6711,18 +6707,18 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_2P_circuit( yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), QyNeg0: outputs.get_output(t3), - QyNeg1: outputs.get_output(t4) + QyNeg1: outputs.get_output(t4), }; let p_1: BNProcessedPair = BNProcessedPair { yInv: outputs.get_output(t5), xNegOverY: outputs.get_output(t7), QyNeg0: outputs.get_output(t8), - QyNeg1: outputs.get_output(t9) + QyNeg1: outputs.get_output(t9), }; return (p_0, p_1); } #[inline(always)] -fn run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit( +pub fn run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit( p_0: G1Point, Qy0_0: u384, Qy1_0: u384, @@ -6731,7 +6727,7 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit( Qy1_1: u384, p_2: G1Point, Qy0_2: u384, - Qy1_2: u384 + Qy1_2: u384, ) -> (BNProcessedPair, BNProcessedPair, BNProcessedPair) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -6759,7 +6755,7 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit( let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t0, t2, t3, t4, t5, t7, t8, t9, t10, t12, t13, t14,).new_inputs(); + let mut circuit_inputs = (t0, t2, t3, t4, t5, t7, t8, t9, t10, t12, t13, t14).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -6781,19 +6777,19 @@ fn run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit( yInv: outputs.get_output(t0), xNegOverY: outputs.get_output(t2), QyNeg0: outputs.get_output(t3), - QyNeg1: outputs.get_output(t4) + QyNeg1: outputs.get_output(t4), }; let p_1: BNProcessedPair = BNProcessedPair { yInv: outputs.get_output(t5), xNegOverY: outputs.get_output(t7), QyNeg0: outputs.get_output(t8), - QyNeg1: outputs.get_output(t9) + QyNeg1: outputs.get_output(t9), }; let p_2: BNProcessedPair = BNProcessedPair { yInv: outputs.get_output(t10), xNegOverY: outputs.get_output(t12), QyNeg0: outputs.get_output(t13), - QyNeg1: outputs.get_output(t14) + QyNeg1: outputs.get_output(t14), }; return (p_0, p_1, p_2); } @@ -6805,11 +6801,11 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; @@ -6831,6 +6827,6 @@ mod tests { run_BN254_MP_CHECK_FINALIZE_BN_3P_2F_circuit, run_BN254_MP_CHECK_INIT_BIT_2P_2F_circuit, run_BN254_MP_CHECK_INIT_BIT_3P_2F_circuit, run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit, run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit, run_BN254_MP_CHECK_PREPARE_PAIRS_2P_circuit, - run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit + run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit, }; } diff --git a/src/src/circuits/tower_circuits.cairo b/src/src/circuits/tower_circuits.cairo index 84de9bee..f5b861b1 100644 --- a/src/src/circuits/tower_circuits.cairo +++ b/src/src/circuits/tower_circuits.cairo @@ -2,7 +2,7 @@ use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, - CircuitInputAccumulator + CircuitInputAccumulator, }; use garaga::core::circuit::AddInputResultTrait2; use core::circuit::CircuitElement as CE; @@ -10,64 +10,14 @@ use core::circuit::CircuitInput as CI; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, G1Point, G2Point, E12D, u288, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, MillerLoopResultScalingFactor, G2Line, - get_BLS12_381_modulus, get_BN254_modulus + get_BLS12_381_modulus, get_BN254_modulus, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; use core::option::Option; use garaga::single_pairing_tower::E12T; - -impl CircuitDefinition16< - E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15 -> of core::circuit::CircuitDefinition< - ( - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE - ) -> { - type CircuitType = - core::circuit::Circuit< - (E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15,) - >; -} -impl MyDrp_16< - E0, E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, E11, E12, E13, E14, E15 -> of Drop< - ( - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE, - CE - ) ->; #[inline(always)] -fn run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let (in3, in4, in5) = (CE::> {}, CE::> {}, CE::> {}); @@ -201,7 +151,7 @@ fn run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t93, t94, t99, t100, t105, t106, t111, t112, t117, t118, t123, t124,) + let mut circuit_inputs = (t93, t94, t99, t100, t105, t106, t111, t112, t117, t118, t123, t124) .new_inputs(); // Prefill constants: @@ -237,7 +187,7 @@ fn run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( +pub fn run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( xc0b1a0: u384, xc0b1a1: u384, xc0b2a0: u384, @@ -245,7 +195,7 @@ fn run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( xc1b0a0: u384, xc1b0a1: u384, xc1b2a0: u384, - xc1b2a1: u384 + xc1b2a1: u384, ) -> (u384, u384, u384, u384, u384, u384, u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -339,7 +289,7 @@ fn run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t73, t74, t60, t61, t42, t43, t83, t84,).new_inputs(); + let mut circuit_inputs = (t73, t74, t60, t61, t42, t43, t83, t84).new_inputs(); // Prefill constants: // Fill inputs: @@ -364,7 +314,7 @@ fn run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( return (xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1); } #[inline(always)] -fn run_BLS12_381_E12T_DECOMP_KARABINA_II_circuit( +pub fn run_BLS12_381_E12T_DECOMP_KARABINA_II_circuit( t0a0: u384, t0a1: u384, t1a0: u384, @@ -376,7 +326,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_II_circuit( xc1b0a0: u384, xc1b0a1: u384, xc1b2a0: u384, - xc1b2a1: u384 + xc1b2a1: u384, ) -> (u384, u384, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -434,7 +384,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_II_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t43, t42, t9, t12,).new_inputs(); + let mut circuit_inputs = (t43, t42, t9, t12).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 @@ -460,7 +410,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_II_circuit( return (zc0b0a0, zc0b0a1, zc1b1a0, zc1b1a1); } #[inline(always)] -fn run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( +pub fn run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( xc0b1a0: u384, xc0b1a1: u384, xc0b2a0: u384, @@ -468,7 +418,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( xc1b0a0: u384, xc1b0a1: u384, xc1b2a0: u384, - xc1b2a1: u384 + xc1b2a1: u384, ) -> (u384, u384, u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -504,7 +454,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t21, t22, t25, t26,).new_inputs(); + let mut circuit_inputs = (t21, t22, t25, t26).new_inputs(); // Prefill constants: // Fill inputs: @@ -525,8 +475,8 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( return (t0a0, t0a1, t1a0, t1a1); } #[inline(always)] -fn run_BLS12_381_E12T_DECOMP_KARABINA_I_Z_circuit( - xc0b1a0: u384, xc0b1a1: u384, xc1b2a0: u384, xc1b2a1: u384 +pub fn run_BLS12_381_E12T_DECOMP_KARABINA_I_Z_circuit( + xc0b1a0: u384, xc0b1a1: u384, xc1b2a0: u384, xc1b2a1: u384, ) -> (u384, u384) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); @@ -542,7 +492,7 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_I_Z_circuit( let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t6, t7,).new_inputs(); + let mut circuit_inputs = (t6, t7).new_inputs(); // Prefill constants: // Fill inputs: @@ -557,16 +507,16 @@ fn run_BLS12_381_E12T_DECOMP_KARABINA_I_Z_circuit( return (res0, res1); } #[inline(always)] -fn run_BLS12_381_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::> {}; // 0x1 let in2 = CE::> {}; // -0x1 % p let in3 = CE::< - CI<3> + CI<3>, > {}; // 0x135203e60180a68ee2e9c448d77a2cd91c3dedd930b1cf60ef396489f61eb45e304466cf3e67fa0af1ee7b04121bdea2 let in4 = CE::< - CI<4> + CI<4>, > {}; // 0x6af0e0437ff400b6831e36d6bd17ffe48395dabc2d3435e77f76e17009241c5ee67992f72ec05f4c81084fbede3cc09 // INPUT stack @@ -610,37 +560,30 @@ fn run_BLS12_381_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t1, t0, t9, t12, t13, t14, t17, t20, t23, t26, t29, t32,) - .new_inputs(); + let mut circuit_inputs = (t1, t0, t9, t12, t13, t14, t17, t20, t23, t26, t29, t32).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs.next_2([0x1, 0x0, 0x0, 0x0]); // in1 circuit_inputs = circuit_inputs .next_2( [ - 0xb153ffffb9feffffffffaaaa, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaaa, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ); // in2 circuit_inputs = circuit_inputs .next_2( [ - 0x3e67fa0af1ee7b04121bdea2, - 0xef396489f61eb45e304466cf, - 0xd77a2cd91c3dedd930b1cf60, - 0x135203e60180a68ee2e9c448 - ] + 0x3e67fa0af1ee7b04121bdea2, 0xef396489f61eb45e304466cf, 0xd77a2cd91c3dedd930b1cf60, + 0x135203e60180a68ee2e9c448, + ], ); // in3 circuit_inputs = circuit_inputs .next_2( [ - 0x72ec05f4c81084fbede3cc09, - 0x77f76e17009241c5ee67992f, - 0x6bd17ffe48395dabc2d3435e, - 0x6af0e0437ff400b6831e36d - ] + 0x72ec05f4c81084fbede3cc09, 0x77f76e17009241c5ee67992f, 0x6bd17ffe48395dabc2d3435e, + 0x6af0e0437ff400b6831e36d, + ], ); // in4 // Fill inputs: circuit_inputs = circuit_inputs.next_2(M.c0b0a0); // in5 @@ -674,21 +617,21 @@ fn run_BLS12_381_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BLS12_381_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::< - CI<1> + CI<1>, > {}; // 0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffefffe let in2 = CE::< - CI<2> + CI<2>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaac let in3 = CE::< - CI<3> + CI<3>, > {}; // 0x5f19672fdf76ce51ba69c6076a0f77eaddb3a93be6f89688de17d813620a00022e01fffffffeffff let in4 = CE::> {}; // -0x1 % p let in5 = CE::< - CI<5> + CI<5>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaad // INPUT stack @@ -711,53 +654,43 @@ fn run_BLS12_381_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,).new_inputs(); + let mut circuit_inputs = (t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs .next_2( [ - 0x620a00022e01fffffffefffe, - 0xddb3a93be6f89688de17d813, - 0xdf76ce51ba69c6076a0f77ea, - 0x5f19672f - ] + 0x620a00022e01fffffffefffe, 0xddb3a93be6f89688de17d813, 0xdf76ce51ba69c6076a0f77ea, + 0x5f19672f, + ], ); // in1 circuit_inputs = circuit_inputs .next_2( [ - 0x4f49fffd8bfd00000000aaac, - 0x897d29650fb85f9b409427eb, - 0x63d4de85aa0d857d89759ad4, - 0x1a0111ea397fe699ec024086 - ] + 0x4f49fffd8bfd00000000aaac, 0x897d29650fb85f9b409427eb, 0x63d4de85aa0d857d89759ad4, + 0x1a0111ea397fe699ec024086, + ], ); // in2 circuit_inputs = circuit_inputs .next_2( [ - 0x620a00022e01fffffffeffff, - 0xddb3a93be6f89688de17d813, - 0xdf76ce51ba69c6076a0f77ea, - 0x5f19672f - ] + 0x620a00022e01fffffffeffff, 0xddb3a93be6f89688de17d813, 0xdf76ce51ba69c6076a0f77ea, + 0x5f19672f, + ], ); // in3 circuit_inputs = circuit_inputs .next_2( [ - 0xb153ffffb9feffffffffaaaa, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaaa, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ); // in4 circuit_inputs = circuit_inputs .next_2( [ - 0x4f49fffd8bfd00000000aaad, - 0x897d29650fb85f9b409427eb, - 0x63d4de85aa0d857d89759ad4, - 0x1a0111ea397fe699ec024086 - ] + 0x4f49fffd8bfd00000000aaad, 0x897d29650fb85f9b409427eb, 0x63d4de85aa0d857d89759ad4, + 0x1a0111ea397fe699ec024086, + ], ); // in5 // Fill inputs: circuit_inputs = circuit_inputs.next_2(M.c0b0a0); // in6 @@ -791,29 +724,29 @@ fn run_BLS12_381_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BLS12_381_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::< - CI<1> + CI<1>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaac let in2 = CE::< - CI<2> + CI<2>, > {}; // 0x1a0111ea397fe699ec02408663d4de85aa0d857d89759ad4897d29650fb85f9b409427eb4f49fffd8bfd00000000aaad let in3 = CE::< - CI<3> + CI<3>, > {}; // 0x1904d3bf02bb0667c231beb4202c0d1f0fd603fd3cbd5f4f7b2443d784bab9c4f67ea53d63e7813d8d0775ed92235fb8 let in4 = CE::< - CI<4> + CI<4>, > {}; // 0xfc3e2b36c4e03288e9e902231f9fb854a14787b6c7b36fec0c8ec971f63c5f282d5ac14d6c7ec22cf78a126ddc4af3 let in5 = CE::< - CI<5> + CI<5>, > {}; // 0x6af0e0437ff400b6831e36d6bd17ffe48395dabc2d3435e77f76e17009241c5ee67992f72ec05f4c81084fbede3cc09 let in6 = CE::< - CI<6> + CI<6>, > {}; // 0x5b2cfd9013a5fd8df47fa6b48b1e045f39816240c0b8fee8beadf4d8e9c0566c63a3e6e257f87329b18fae980078116 let in7 = CE::< - CI<7> + CI<7>, > {}; // 0x144e4211384586c16bd3ad4afa99cc9170df3560e77982d0db45f3536814f0bd5871c1908bd478cd1ee605167ff82995 // INPUT stack @@ -857,8 +790,7 @@ fn run_BLS12_381_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { let modulus = get_BLS12_381_modulus(); // BLS12_381 prime field modulus - let mut circuit_inputs = (t1, t0, t9, t12, t13, t14, t17, t20, t23, t26, t29, t32,) - .new_inputs(); + let mut circuit_inputs = (t1, t0, t9, t12, t13, t14, t17, t20, t23, t26, t29, t32).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs @@ -895,55 +827,53 @@ fn run_BLS12_381_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { }; return (res,); } -const E12T_FROBENIUS_BLS12_381_CONSTANTS: [ - u384 - ; 8] = [ +const E12T_FROBENIUS_BLS12_381_CONSTANTS: [u384; 8] = [ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x4f49fffd8bfd00000000aaac, limb1: 0x897d29650fb85f9b409427eb, limb2: 0x63d4de85aa0d857d89759ad4, - limb3: 0x1a0111ea397fe699ec024086 + limb3: 0x1a0111ea397fe699ec024086, }, u384 { limb0: 0x4f49fffd8bfd00000000aaad, limb1: 0x897d29650fb85f9b409427eb, limb2: 0x63d4de85aa0d857d89759ad4, - limb3: 0x1a0111ea397fe699ec024086 + limb3: 0x1a0111ea397fe699ec024086, }, u384 { limb0: 0x63e7813d8d0775ed92235fb8, limb1: 0x7b2443d784bab9c4f67ea53d, limb2: 0x202c0d1f0fd603fd3cbd5f4f, - limb3: 0x1904d3bf02bb0667c231beb4 + limb3: 0x1904d3bf02bb0667c231beb4, }, u384 { limb0: 0x4d6c7ec22cf78a126ddc4af3, limb1: 0xec0c8ec971f63c5f282d5ac1, limb2: 0x231f9fb854a14787b6c7b36f, - limb3: 0xfc3e2b36c4e03288e9e902 + limb3: 0xfc3e2b36c4e03288e9e902, }, u384 { limb0: 0x72ec05f4c81084fbede3cc09, limb1: 0x77f76e17009241c5ee67992f, limb2: 0x6bd17ffe48395dabc2d3435e, - limb3: 0x6af0e0437ff400b6831e36d + limb3: 0x6af0e0437ff400b6831e36d, }, u384 { limb0: 0x257f87329b18fae980078116, limb1: 0x8beadf4d8e9c0566c63a3e6e, limb2: 0x48b1e045f39816240c0b8fee, - limb3: 0x5b2cfd9013a5fd8df47fa6b + limb3: 0x5b2cfd9013a5fd8df47fa6b, }, u384 { limb0: 0x8bd478cd1ee605167ff82995, limb1: 0xdb45f3536814f0bd5871c190, limb2: 0xfa99cc9170df3560e77982d0, - limb3: 0x144e4211384586c16bd3ad4a - } + limb3: 0x144e4211384586c16bd3ad4a, + }, ]; #[inline(always)] -fn run_BLS12_381_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -1379,7 +1309,7 @@ fn run_BLS12_381_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BLS12_381_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { +pub fn run_BLS12_381_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { // INPUT stack let (in0, in1, in2) = (CE::> {}, CE::> {}, CE::> {}); let (in3, in4, in5) = (CE::> {}, CE::> {}, CE::> {}); @@ -1705,8 +1635,8 @@ fn run_BLS12_381_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit( - yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, M_i: E12T +pub fn run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit( + yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, M_i: E12T, ) -> (G2Point, E12T) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -2168,7 +2098,7 @@ fn run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit( x0: outputs.get_output(t226), x1: outputs.get_output(t227), y0: outputs.get_output(t236), - y1: outputs.get_output(t237) + y1: outputs.get_output(t237), }; let Mi_plus_one: E12T = E12T { c0b0a0: outputs.get_output(t389), @@ -2187,8 +2117,8 @@ fn run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit( return (Q0, Mi_plus_one); } #[inline(always)] -fn run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit( - yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Q_or_Q_neg_0: G2Point, M_i: E12T +pub fn run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit( + yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Q_or_Q_neg_0: G2Point, M_i: E12T, ) -> (G2Point, E12T) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -2835,7 +2765,7 @@ fn run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit( x0: outputs.get_output(t260), x1: outputs.get_output(t261), y0: outputs.get_output(t270), - y1: outputs.get_output(t271) + y1: outputs.get_output(t271), }; let Mi_plus_one: E12T = E12T { c0b0a0: outputs.get_output(t572), @@ -2854,8 +2784,8 @@ fn run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit( return (Q0, Mi_plus_one); } #[inline(always)] -fn run_BLS12_381_TOWER_MILLER_INIT_BIT_1P_circuit( - yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point +pub fn run_BLS12_381_TOWER_MILLER_INIT_BIT_1P_circuit( + yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, ) -> (G2Point, u384, u384, u384, u384, u384, u384, u384, u384, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x3 @@ -3018,7 +2948,7 @@ fn run_BLS12_381_TOWER_MILLER_INIT_BIT_1P_circuit( x0: outputs.get_output(t70), x1: outputs.get_output(t71), y0: outputs.get_output(t80), - y1: outputs.get_output(t81) + y1: outputs.get_output(t81), }; let c0b0a0: u384 = outputs.get_output(t125); let c0b0a1: u384 = outputs.get_output(t126); @@ -3033,7 +2963,7 @@ fn run_BLS12_381_TOWER_MILLER_INIT_BIT_1P_circuit( return (Q0, c0b0a0, c0b0a1, c0b1a0, c0b1a1, c0b2a0, c0b2a1, c1b1a0, c1b1a1, c1b2a0, c1b2a1); } #[inline(always)] -fn run_BN254_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { +pub fn run_BN254_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0xa let in1 = CE::> {}; // 0x9 @@ -3175,7 +3105,7 @@ fn run_BN254_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t97, t98, t103, t104, t109, t110, t115, t116, t121, t122, t127, t128,) + let mut circuit_inputs = (t97, t98, t103, t104, t109, t110, t115, t116, t121, t122, t127, t128) .new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0xa, 0x0, 0x0, 0x0]); // in0 @@ -3212,7 +3142,7 @@ fn run_BN254_E12T_CYCLOTOMIC_SQUARE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BN254_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { +pub fn run_BN254_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::> {}; // 0x856e078b755ef0abaff1c77959f25ac805ffd3d5d6942d37b746ee87bdcfb6d @@ -3225,7 +3155,7 @@ fn run_BN254_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { let in8 = CE::> {}; // 0x28a411b634f09b8fb14b900e9507e9327600ecc7d8cf6ebab94d0cb3b2594c64 let in9 = CE::> {}; // 0x13c49044952c0905711699fa3b4d3f692ed68098967c84a5ebde847076261b43 let in10 = CE::< - CI<10> + CI<10>, > {}; // 0x16db366a59b1dd0b9fb1b2282a48633d3e2ddaea200280211f25041384282499 // INPUT stack @@ -3273,8 +3203,7 @@ fn run_BN254_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t1, t0, t9, t12, t15, t18, t21, t24, t27, t30, t33, t36,) - .new_inputs(); + let mut circuit_inputs = (t1, t0, t9, t12, t15, t18, t21, t24, t27, t30, t33, t36).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs @@ -3311,73 +3240,71 @@ fn run_BN254_E12T_FROBENIUS_CUBE_circuit(M: E12T) -> (E12T,) { }; return (res,); } -const E12T_FROBENIUS_CUBE_BN254_CONSTANTS: [ - u384 - ; 11] = [ +const E12T_FROBENIUS_CUBE_BN254_CONSTANTS: [u384; 11] = [ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x5d6942d37b746ee87bdcfb6d, limb1: 0xbaff1c77959f25ac805ffd3d, limb2: 0x856e078b755ef0a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x98ff2631380cab2baaa586de, limb1: 0xa9f30e6dec26094f0fdf31bf, limb2: 0x4f1de41b3d1766f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x75b06bcb0e1a92bc3ccbf066, limb1: 0x19bee0f7b5b2444ee6330945, limb2: 0xbc58c6611c08dab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x737f96e55fe3ed9d730c239f, limb1: 0xfeb0f6ef0cd21d04a44a9e08, limb2: 0x23d5e999e1910a12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe55d24ae86f7d391ed4a67f, limb1: 0xefe9608cd0acaa90894cb38d, limb2: 0x19dc81cfcc82e4bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x97d439ec7694aa2bf4c0c101, limb1: 0x6cbeee33576139d7f03a5e3, limb2: 0xabf8b60be77d73, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbea870f45fcc8ad066dce9ed, limb1: 0xdbf17f1dca9e5ea3bbd689a3, limb2: 0x2a275b6d9896aa4c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd8cf6ebab94d0cb3b2594c64, limb1: 0xb14b900e9507e9327600ecc7, limb2: 0x28a411b634f09b8f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x967c84a5ebde847076261b43, limb1: 0x711699fa3b4d3f692ed68098, limb2: 0x13c49044952c0905, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x200280211f25041384282499, limb1: 0x9fb1b2282a48633d3e2ddaea, limb2: 0x16db366a59b1dd0b, - limb3: 0x0 - } + limb3: 0x0, + }, ]; #[inline(always)] -fn run_BN254_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { +pub fn run_BN254_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::> {}; // 0x30644e72e131a0295e6dd9e7e0acccb0c28f069fbb966e3de4bd44e5607cfd48 @@ -3406,22 +3333,22 @@ fn run_BN254_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11,).new_inputs(); + let mut circuit_inputs = (t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 circuit_inputs = circuit_inputs .next_2( - [0xbb966e3de4bd44e5607cfd48, 0x5e6dd9e7e0acccb0c28f069f, 0x30644e72e131a029, 0x0] + [0xbb966e3de4bd44e5607cfd48, 0x5e6dd9e7e0acccb0c28f069f, 0x30644e72e131a029, 0x0], ); // in1 circuit_inputs = circuit_inputs .next_2([0xacdb5c4f5763473177fffffe, 0x59e26bcea0d48bacd4f263f1, 0x0, 0x0]); // in2 circuit_inputs = circuit_inputs .next_2( - [0xbb966e3de4bd44e5607cfd49, 0x5e6dd9e7e0acccb0c28f069f, 0x30644e72e131a029, 0x0] + [0xbb966e3de4bd44e5607cfd49, 0x5e6dd9e7e0acccb0c28f069f, 0x30644e72e131a029, 0x0], ); // in3 circuit_inputs = circuit_inputs .next_2( - [0x6871ca8d3c208c16d87cfd46, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0] + [0x6871ca8d3c208c16d87cfd46, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0], ); // in4 circuit_inputs = circuit_inputs .next_2([0xacdb5c4f5763473177ffffff, 0x59e26bcea0d48bacd4f263f1, 0x0, 0x0]); // in5 @@ -3457,7 +3384,7 @@ fn run_BN254_E12T_FROBENIUS_SQUARE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BN254_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { +pub fn run_BN254_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x0 let in1 = CE::> {}; // 0x2fb347984f7911f74c0bec3cf559b143b78cc310c2c3330c99e39557176f553d @@ -3470,7 +3397,7 @@ fn run_BN254_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { let in8 = CE::> {}; // 0x7c03cbcac41049a0704b5a7ec796f2b21807dc98fa25bd282d37f632623b0e3 let in9 = CE::> {}; // 0x183c1e74f798649e93a3661a4353ff4425c459b55aa1bd32ea2c810eab7692f let in10 = CE::< - CI<10> + CI<10>, > {}; // 0x12acf2ca76fd0675a27fb246c7729f7db080cb99678e2ac024c6b8ee6e0c2c4b // INPUT stack @@ -3518,8 +3445,7 @@ fn run_BN254_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { let modulus = get_BN254_modulus(); // BN254 prime field modulus - let mut circuit_inputs = (t1, t0, t9, t12, t15, t18, t21, t24, t27, t30, t33, t36,) - .new_inputs(); + let mut circuit_inputs = (t1, t0, t9, t12, t15, t18, t21, t24, t27, t30, t33, t36).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_span(E12T_FROBENIUS_BN254_CONSTANTS.span()); // in0 - in10 @@ -3555,73 +3481,71 @@ fn run_BN254_E12T_FROBENIUS_circuit(M: E12T) -> (E12T,) { }; return (res,); } -const E12T_FROBENIUS_BN254_CONSTANTS: [ - u384 - ; 11] = [ +const E12T_FROBENIUS_BN254_CONSTANTS: [u384; 11] = [ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0xc2c3330c99e39557176f553d, limb1: 0x4c0bec3cf559b143b78cc310, limb2: 0x2fb347984f7911f7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7c9dce1665d51c640fcba2, limb1: 0x4ba4cc8bd75a079432ae2a1d, limb2: 0x16c9e55061ebae20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe94ec72848a1f55921ea762, limb1: 0x80f3c0b75a181e84d33365f7, limb2: 0x5b54f5e64eea801, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1bdec763c13b4711cd2b8126, limb1: 0x9f3a80b03b0b1c923685d2ea, limb2: 0x2c145edbe7fd8aee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x292f2176d60b35dadcc9e470, limb1: 0xe8b99fdd76e68b605c521e08, limb2: 0x1284b71c2865a7df, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8eeec7e5ca5cf05f80f362ac, limb1: 0xa6327cfe12150b8e74799277, limb2: 0x246996f3b4fae7e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9c95998dc54014671a0135a, limb1: 0xdc5ec698b6e2f9b9dbaae0ed, limb2: 0x63cf305489af5dc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8fa25bd282d37f632623b0e3, limb1: 0x704b5a7ec796f2b21807dc9, limb2: 0x7c03cbcac41049a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x55aa1bd32ea2c810eab7692f, limb1: 0xe93a3661a4353ff4425c459b, limb2: 0x183c1e74f798649, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x678e2ac024c6b8ee6e0c2c4b, limb1: 0xa27fb246c7729f7db080cb99, limb2: 0x12acf2ca76fd0675, - limb3: 0x0 - } + limb3: 0x0, + }, ]; #[inline(always)] -fn run_BN254_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { +pub fn run_BN254_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0xa let in1 = CE::> {}; // 0x9 @@ -4073,7 +3997,7 @@ fn run_BN254_E12T_INVERSE_circuit(M: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BN254_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { +pub fn run_BN254_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0xa let in1 = CE::> {}; // 0x9 @@ -4411,8 +4335,8 @@ fn run_BN254_E12T_MUL_circuit(X: E12T, Y: E12T) -> (E12T,) { return (res,); } #[inline(always)] -fn run_BN254_TOWER_MILLER_BIT0_1P_circuit( - yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, M_i: E12T +pub fn run_BN254_TOWER_MILLER_BIT0_1P_circuit( + yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, M_i: E12T, ) -> (G2Point, E12T) { // CONSTANT stack let in0 = CE::> {}; // 0xa @@ -4889,7 +4813,7 @@ fn run_BN254_TOWER_MILLER_BIT0_1P_circuit( x0: outputs.get_output(t232), x1: outputs.get_output(t233), y0: outputs.get_output(t242), - y1: outputs.get_output(t243) + y1: outputs.get_output(t243), }; let Mi_plus_one: E12T = E12T { c0b0a0: outputs.get_output(t400), @@ -4908,8 +4832,8 @@ fn run_BN254_TOWER_MILLER_BIT0_1P_circuit( return (Q0, Mi_plus_one); } #[inline(always)] -fn run_BN254_TOWER_MILLER_BIT1_1P_circuit( - yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Q_or_Q_neg_0: G2Point, M_i: E12T +pub fn run_BN254_TOWER_MILLER_BIT1_1P_circuit( + yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Q_or_Q_neg_0: G2Point, M_i: E12T, ) -> (G2Point, E12T) { // CONSTANT stack let in0 = CE::> {}; // 0xa @@ -5576,7 +5500,7 @@ fn run_BN254_TOWER_MILLER_BIT1_1P_circuit( x0: outputs.get_output(t266), x1: outputs.get_output(t267), y0: outputs.get_output(t276), - y1: outputs.get_output(t277) + y1: outputs.get_output(t277), }; let Mi_plus_one: E12T = E12T { c0b0a0: outputs.get_output(t588), @@ -5595,8 +5519,8 @@ fn run_BN254_TOWER_MILLER_BIT1_1P_circuit( return (Q0, Mi_plus_one); } #[inline(always)] -fn run_BN254_TOWER_MILLER_FINALIZE_BN_1P_circuit( - original_Q0: G2Point, yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Mi: E12T +pub fn run_BN254_TOWER_MILLER_FINALIZE_BN_1P_circuit( + original_Q0: G2Point, yInv_0: u384, xNegOverY_0: u384, Q_0: G2Point, Mi: E12T, ) -> (E12T,) { // CONSTANT stack let in0 = CE::> {}; // 0x2fb347984f7911f74c0bec3cf559b143b78cc310c2c3330c99e39557176f553d @@ -6073,47 +5997,45 @@ fn run_BN254_TOWER_MILLER_FINALIZE_BN_1P_circuit( }; return (Mi,); } -const TOWER_MILLER_FINALIZE_BN_1P_BN254_CONSTANTS: [ - u384 - ; 9] = [ +const TOWER_MILLER_FINALIZE_BN_1P_BN254_CONSTANTS: [u384; 9] = [ u384 { limb0: 0xc2c3330c99e39557176f553d, limb1: 0x4c0bec3cf559b143b78cc310, limb2: 0x2fb347984f7911f7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7c9dce1665d51c640fcba2, limb1: 0x4ba4cc8bd75a079432ae2a1d, limb2: 0x16c9e55061ebae20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9c95998dc54014671a0135a, limb1: 0xdc5ec698b6e2f9b9dbaae0ed, limb2: 0x63cf305489af5dc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8fa25bd282d37f632623b0e3, limb1: 0x704b5a7ec796f2b21807dc9, limb2: 0x7c03cbcac41049a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbb966e3de4bd44e5607cfd48, limb1: 0x5e6dd9e7e0acccb0c28f069f, limb2: 0x30644e72e131a029, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0xa, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x9, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x9, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ]; #[inline(always)] -fn run_FP6_NEG_circuit( - b0a0: u384, b0a1: u384, b1a0: u384, b1a1: u384, b2a0: u384, b2a1: u384, curve_index: usize +pub fn run_FP6_NEG_circuit( + b0a0: u384, b0a1: u384, b1a0: u384, b1a1: u384, b2a0: u384, b2a1: u384, curve_index: usize, ) -> (u384, u384, u384, u384, u384, u384) { // CONSTANT stack let in0 = CE::> {}; // 0x0 @@ -6130,11 +6052,11 @@ fn run_FP6_NEG_circuit( let modulus = get_p(curve_index); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([modulus.limb0, modulus.limb1, modulus.limb2, modulus.limb3]) .unwrap(); - let mut circuit_inputs = (t0, t1, t2, t3, t4, t5,).new_inputs(); + let mut circuit_inputs = (t0, t1, t2, t3, t4, t5).new_inputs(); // Prefill constants: circuit_inputs = circuit_inputs.next_2([0x0, 0x0, 0x0, 0x0]); // in0 // Fill inputs: @@ -6162,11 +6084,11 @@ mod tests { use core::circuit::{ RangeCheck96, AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, - CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs + CircuitOutputsTrait, CircuitModulus, AddInputResultTrait, CircuitInputs, }; use garaga::definitions::{ G1Point, G2Point, E12D, E12DMulQuotient, G1G2Pair, BNProcessedPair, BLSProcessedPair, - MillerLoopResultScalingFactor, G2Line + MillerLoopResultScalingFactor, G2Line, }; use garaga::ec_ops::{SlopeInterceptOutput, FunctionFeltEvaluations, FunctionFelt}; @@ -6184,6 +6106,6 @@ mod tests { run_BN254_E12T_FROBENIUS_circuit, run_BN254_E12T_INVERSE_circuit, run_BN254_E12T_MUL_circuit, run_BN254_TOWER_MILLER_BIT0_1P_circuit, run_BN254_TOWER_MILLER_BIT1_1P_circuit, run_BN254_TOWER_MILLER_FINALIZE_BN_1P_circuit, - run_FP6_NEG_circuit + run_FP6_NEG_circuit, }; } diff --git a/src/src/core/circuit.cairo b/src/src/core/circuit.cairo index 713cd87e..0ad22d93 100644 --- a/src/src/core/circuit.cairo +++ b/src/src/core/circuit.cairo @@ -1,6 +1,6 @@ use core::circuit::{ add_circuit_input, AddInputResult, CircuitData, IntoCircuitInputValue, CircuitDefinition, - init_circuit_data, CircuitInputAccumulator, into_u96_guarantee, U96Guarantee + init_circuit_data, CircuitInputAccumulator, into_u96_guarantee, U96Guarantee, }; use core::panic_with_felt252; use garaga::definitions::{E12D, G2Line, u384, u288}; @@ -10,10 +10,8 @@ use garaga::utils::hashing::{hades_permutation, PoseidonState}; impl u288IntoCircuitInputValue of IntoCircuitInputValue { fn into_circuit_input_value(self: u288) -> [U96Guarantee; 4] { [ - into_u96_guarantee(self.limb0), - into_u96_guarantee(self.limb1), - into_u96_guarantee(self.limb2), - into_u96_guarantee(0_u8), + into_u96_guarantee(self.limb0), into_u96_guarantee(self.limb1), + into_u96_guarantee(self.limb2), into_u96_guarantee(0_u8), ] } } @@ -25,11 +23,11 @@ pub impl AddInputResultImpl2 of AddInputResultTrait2 { // Inlining to make sure possibly huge `C` won't be in a user function name. #[inline] fn next_2, +Drop>( - self: AddInputResult, value: Value + self: AddInputResult, value: Value, ) -> AddInputResult { match self { AddInputResult::More(accumulator) => add_circuit_input( - accumulator, value.into_circuit_input_value() + accumulator, value.into_circuit_input_value(), ), AddInputResult::Done(_) => panic_with_felt252('All inputs have been filled'), } @@ -40,11 +38,9 @@ pub impl AddInputResultImpl2 of AddInputResultTrait2 { AddInputResult::More(accumulator) => add_circuit_input( accumulator, [ - into_u96_guarantee(value.limb0), - into_u96_guarantee(value.limb1), - into_u96_guarantee(value.limb2), - into_u96_guarantee(0_u8) - ] + into_u96_guarantee(value.limb0), into_u96_guarantee(value.limb1), + into_u96_guarantee(value.limb2), into_u96_guarantee(0_u8), + ], ), AddInputResult::Done(_) => panic_with_felt252(0), }; @@ -153,7 +149,7 @@ pub impl AddInputResultImpl2 of AddInputResultTrait2 { AddInputResult::More(acc) => acc, AddInputResult::Done(_) => panic_with_felt252('all inputs filled'), }, - (*v).into_circuit_input_value() + (*v).into_circuit_input_value(), ); }; add_input_result diff --git a/src/src/definitions.cairo b/src/src/definitions.cairo index 9c54edbe..5d0005b5 100644 --- a/src/src/definitions.cairo +++ b/src/src/definitions.cairo @@ -1,9 +1,10 @@ -use core::circuit::{u96, u384, U384Zero, CircuitModulus}; +pub use core::circuit::{u96, u384, CircuitModulus}; use garaga::basic_field_ops::{neg_mod_p}; use core::result::Result; use core::serde::{Serde}; use core::num; use core::num::traits::{Zero, One}; +use core::RangeCheck; extern fn downcast(x: felt252) -> Option implicits(RangeCheck) nopanic; @@ -26,9 +27,9 @@ pub impl u384Serde of Serde { #[derive(Copy, Drop, Debug, PartialEq)] pub struct u288 { - limb0: u96, - limb1: u96, - limb2: u96, + pub limb0: u96, + pub limb1: u96, + pub limb2: u96, } pub impl u288Serde of Serde { @@ -48,46 +49,46 @@ pub impl u288Serde of Serde { #[derive(Copy, Drop, Debug, PartialEq, Serde)] -struct G1Point { - x: u384, - y: u384, +pub struct G1Point { + pub x: u384, + pub y: u384, } #[derive(Copy, Drop, Debug, PartialEq, Serde)] -struct G2Point { - x0: u384, - x1: u384, - y0: u384, - y1: u384, +pub struct G2Point { + pub x0: u384, + pub x1: u384, + pub y0: u384, + pub y1: u384, } #[derive(Copy, Drop, Debug, PartialEq)] -struct G2Line { - r0a0: T, - r0a1: T, - r1a0: T, - r1a1: T, +pub struct G2Line { + pub r0a0: T, + pub r0a1: T, + pub r1a0: T, + pub r1a1: T, } #[derive(Copy, Drop, Debug, PartialEq, Serde)] -struct G1G2Pair { - p: G1Point, - q: G2Point, +pub struct G1G2Pair { + pub p: G1Point, + pub q: G2Point, } #[derive(Copy, Drop, Debug, PartialEq)] -struct E12D { - w0: T, - w1: T, - w2: T, - w3: T, - w4: T, - w5: T, - w6: T, - w7: T, - w8: T, - w9: T, - w10: T, - w11: T, +pub struct E12D { + pub w0: T, + pub w1: T, + pub w2: T, + pub w3: T, + pub w4: T, + pub w5: T, + pub w6: T, + pub w7: T, + pub w8: T, + pub w9: T, + pub w10: T, + pub w11: T, } // Represents the point at infinity @@ -141,19 +142,6 @@ impl U288One of num::traits::One { } } - -impl U384One of num::traits::One { - fn one() -> u384 { - u384 { limb0: 1, limb1: 0, limb2: 0, limb3: 0 } - } - fn is_one(self: @u384) -> bool { - *self == Self::one() - } - fn is_non_one(self: @u384) -> bool { - !self.is_one() - } -} - impl E12DOneU384 of num::traits::One> { fn one() -> E12D { E12D { @@ -320,7 +308,7 @@ impl E12DSerde384 of Serde> { w11l0, w11l1, w11l2, - w11l3 + w11l3, ] = (*serialized .multi_pop_front::<48>() @@ -332,75 +320,75 @@ impl E12DSerde384 of Serde> { limb0: downcast(w0l0).unwrap(), limb1: downcast(w0l1).unwrap(), limb2: downcast(w0l2).unwrap(), - limb3: downcast(w0l3).unwrap() + limb3: downcast(w0l3).unwrap(), }, w1: u384 { limb0: downcast(w1l0).unwrap(), limb1: downcast(w1l1).unwrap(), limb2: downcast(w1l2).unwrap(), - limb3: downcast(w1l3).unwrap() + limb3: downcast(w1l3).unwrap(), }, w2: u384 { limb0: downcast(w2l0).unwrap(), limb1: downcast(w2l1).unwrap(), limb2: downcast(w2l2).unwrap(), - limb3: downcast(w2l3).unwrap() + limb3: downcast(w2l3).unwrap(), }, w3: u384 { limb0: downcast(w3l0).unwrap(), limb1: downcast(w3l1).unwrap(), limb2: downcast(w3l2).unwrap(), - limb3: downcast(w3l3).unwrap() + limb3: downcast(w3l3).unwrap(), }, w4: u384 { limb0: downcast(w4l0).unwrap(), limb1: downcast(w4l1).unwrap(), limb2: downcast(w4l2).unwrap(), - limb3: downcast(w4l3).unwrap() + limb3: downcast(w4l3).unwrap(), }, w5: u384 { limb0: downcast(w5l0).unwrap(), limb1: downcast(w5l1).unwrap(), limb2: downcast(w5l2).unwrap(), - limb3: downcast(w5l3).unwrap() + limb3: downcast(w5l3).unwrap(), }, w6: u384 { limb0: downcast(w6l0).unwrap(), limb1: downcast(w6l1).unwrap(), limb2: downcast(w6l2).unwrap(), - limb3: downcast(w6l3).unwrap() + limb3: downcast(w6l3).unwrap(), }, w7: u384 { limb0: downcast(w7l0).unwrap(), limb1: downcast(w7l1).unwrap(), limb2: downcast(w7l2).unwrap(), - limb3: downcast(w7l3).unwrap() + limb3: downcast(w7l3).unwrap(), }, w8: u384 { limb0: downcast(w8l0).unwrap(), limb1: downcast(w8l1).unwrap(), limb2: downcast(w8l2).unwrap(), - limb3: downcast(w8l3).unwrap() + limb3: downcast(w8l3).unwrap(), }, w9: u384 { limb0: downcast(w9l0).unwrap(), limb1: downcast(w9l1).unwrap(), limb2: downcast(w9l2).unwrap(), - limb3: downcast(w9l3).unwrap() + limb3: downcast(w9l3).unwrap(), }, w10: u384 { limb0: downcast(w10l0).unwrap(), limb1: downcast(w10l1).unwrap(), limb2: downcast(w10l2).unwrap(), - limb3: downcast(w10l3).unwrap() + limb3: downcast(w10l3).unwrap(), }, w11: u384 { limb0: downcast(w11l0).unwrap(), limb1: downcast(w11l1).unwrap(), limb2: downcast(w11l2).unwrap(), - limb3: downcast(w11l3).unwrap() + limb3: downcast(w11l3).unwrap(), }, - } + }, ) } } @@ -562,65 +550,65 @@ impl E12DSerde288 of Serde> { limb1: downcast(w11l1).unwrap(), limb2: downcast(w11l2).unwrap(), }, - } + }, ) } } #[derive(Copy, Drop, Debug, PartialEq, Serde)] -struct MillerLoopResultScalingFactor { - w0: T, - w2: T, - w4: T, - w6: T, - w8: T, - w10: T, +pub struct MillerLoopResultScalingFactor { + pub w0: T, + pub w2: T, + pub w4: T, + pub w6: T, + pub w8: T, + pub w10: T, } #[derive(Copy, Drop, Debug, PartialEq, Serde)] -struct E12DMulQuotient { - w0: T, - w1: T, - w2: T, - w3: T, - w4: T, - w5: T, - w6: T, - w7: T, - w8: T, - w9: T, - w10: T, +pub struct E12DMulQuotient { + pub w0: T, + pub w1: T, + pub w2: T, + pub w3: T, + pub w4: T, + pub w5: T, + pub w6: T, + pub w7: T, + pub w8: T, + pub w9: T, + pub w10: T, } // scalar_to_base_neg3_le(0xD201000000010000**2) -const BLS_X_SEED_SQ: u128 = 0xac45a4010001a4020000000100000000; -const BLS_X_SEED_SQ_EPNS: (felt252, felt252, felt252, felt252) = - (49064175553473225114813626085204666029, 278052985706122803179667203045598799533, -1, -1); +pub const BLS_X_SEED_SQ: u128 = 0xac45a4010001a4020000000100000000; +pub const BLS_X_SEED_SQ_EPNS: (felt252, felt252, felt252, felt252) = ( + 49064175553473225114813626085204666029, 278052985706122803179667203045598799533, -1, -1, +); -const THIRD_ROOT_OF_UNITY_BLS12_381_G1: u384 = - u384 { - limb0: 0x4f49fffd8bfd00000000aaac, - limb1: 0x897d29650fb85f9b409427eb, - limb2: 0x63d4de85aa0d857d89759ad4, - limb3: 0x1a0111ea397fe699ec024086 - }; +pub const THIRD_ROOT_OF_UNITY_BLS12_381_G1: u384 = u384 { + limb0: 0x4f49fffd8bfd00000000aaac, + limb1: 0x897d29650fb85f9b409427eb, + limb2: 0x63d4de85aa0d857d89759ad4, + limb3: 0x1a0111ea397fe699ec024086, +}; // From a G1G2Pair(Px, Py, Qx0, Qx1, Qy0, Qy1), returns (1/Py, -Px/Py) #[derive(Drop, Debug, PartialEq)] -struct BLSProcessedPair { - yInv: u384, - xNegOverY: u384, +pub struct BLSProcessedPair { + pub yInv: u384, + pub xNegOverY: u384, } // From a G1G2Pair(Px, Py, Qx0, Qx1, Qy0, Qy1), returns (1/Py, -Px/Py,-Qy0, -Qy1) #[derive(Drop, Debug, PartialEq)] -struct BNProcessedPair { - yInv: u384, - xNegOverY: u384, - QyNeg0: u384, - QyNeg1: u384, +pub struct BNProcessedPair { + pub yInv: u384, + pub xNegOverY: u384, + pub QyNeg0: u384, + pub QyNeg1: u384, } // curve_index 0: BN254 @@ -629,18 +617,18 @@ struct BNProcessedPair { // curve_index 3: SECP256R1 // curve_index 4: ED25519 -struct Curve { - p: u384, // Prime modulus - n: u256, // Order of the curve - a: u384, // Weierstrass a parameter in eqn: y^2 = x^3 + ax + b - b: u384, // Weierstrass b parameter in eqn: y^2 = x^3 + ax + b - g: u384, // Generator of Fp. (Used to verify square roots) - min_one: u384, // (-1) % p +pub struct Curve { + pub p: u384, // Prime modulus + pub n: u256, // Order of the curve + pub a: u384, // Weierstrass a parameter in eqn: y^2 = x^3 + ax + b + pub b: u384, // Weierstrass b parameter in eqn: y^2 = x^3 + ax + b + pub g: u384, // Generator of Fp. (Used to verify square roots) + pub min_one: u384 // (-1) % p } // Returns the prime modulus for a given curve index -fn get_p(curve_index: usize) -> u384 { +pub fn get_p(curve_index: usize) -> u384 { if curve_index == 0 { return BN254.p; } @@ -660,7 +648,7 @@ fn get_p(curve_index: usize) -> u384 { } // Returns the Weierstrass 'a' parameter for a given curve index -fn get_a(curve_index: usize) -> u384 { +pub fn get_a(curve_index: usize) -> u384 { if curve_index == 0 { return BN254.a; } @@ -680,7 +668,7 @@ fn get_a(curve_index: usize) -> u384 { } // Returns the Weierstrass 'b' parameter for a given curve index -fn get_b(curve_index: usize) -> u384 { +pub fn get_b(curve_index: usize) -> u384 { if curve_index == 0 { return BN254.b; } @@ -699,7 +687,7 @@ fn get_b(curve_index: usize) -> u384 { return u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }; } -fn get_b2(curve_index: usize) -> Result<(u384, u384), felt252> { +pub fn get_b2(curve_index: usize) -> Result<(u384, u384), felt252> { if curve_index == 0 { return Result::Ok( ( @@ -707,23 +695,23 @@ fn get_b2(curve_index: usize) -> Result<(u384, u384), felt252> { limb0: 27810052284636130223308486885, limb1: 40153378333836448380344387045, limb2: 3104278944836790958, - limb3: 0 + limb3: 0, }, u384 { limb0: 70926583776874220189091304914, limb1: 63498449372070794915149226116, limb2: 42524369107353300, - limb3: 0 - } - ) + limb3: 0, + }, + ), ); } if curve_index == 1 { return Result::Ok( ( u384 { limb0: 4, limb1: 0, limb2: 0, limb3: 0 }, - u384 { limb0: 4, limb1: 0, limb2: 0, limb3: 0 } - ) + u384 { limb0: 4, limb1: 0, limb2: 0, limb3: 0 }, + ), ); } else { return Result::Err('Invalid curve index'); @@ -731,7 +719,7 @@ fn get_b2(curve_index: usize) -> Result<(u384, u384), felt252> { } // Returns a generator of the curve base field for a given curve index -fn get_g(curve_index: usize) -> u384 { +pub fn get_g(curve_index: usize) -> u384 { if curve_index == 0 { return BN254.g; } @@ -750,7 +738,7 @@ fn get_g(curve_index: usize) -> u384 { return u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }; } -fn get_n(curve_index: usize) -> u256 { +pub fn get_n(curve_index: usize) -> u256 { if curve_index == 0 { return BN254.n; } @@ -770,7 +758,7 @@ fn get_n(curve_index: usize) -> u256 { } // Returns (-1) % p for a given curve index -fn get_min_one(curve_index: usize) -> u384 { +pub fn get_min_one(curve_index: usize) -> u384 { if curve_index == 0 { return BN254.min_one; } @@ -791,16 +779,14 @@ fn get_min_one(curve_index: usize) -> u384 { // Returns the modulus of BLS12_381 #[inline(always)] -fn get_BLS12_381_modulus() -> CircuitModulus { +pub fn get_BLS12_381_modulus() -> CircuitModulus { let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); modulus @@ -808,18 +794,18 @@ fn get_BLS12_381_modulus() -> CircuitModulus { // Returns the modulus of BN254 #[inline(always)] -fn get_BN254_modulus() -> CircuitModulus { +pub fn get_BN254_modulus() -> CircuitModulus { let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([0x6871ca8d3c208c16d87cfd47, 0xb85045b68181585d97816a91, 0x30644e72e131a029, 0x0]) .unwrap(); modulus } // Returns the modulus of SECP256K1 #[inline(always)] -fn get_SECP256K1_modulus() -> CircuitModulus { +pub fn get_SECP256K1_modulus() -> CircuitModulus { let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([0xfffffffffffffffefffffc2f, 0xffffffffffffffffffffffff, 0xffffffffffffffff, 0x0]) .unwrap(); modulus @@ -827,171 +813,155 @@ fn get_SECP256K1_modulus() -> CircuitModulus { // Returns the modulus of SECP256K1 #[inline(always)] -fn get_SECP256R1_modulus() -> CircuitModulus { +pub fn get_SECP256R1_modulus() -> CircuitModulus { let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([0xffffffffffffffffffffffff, 0x0, 0xffffffff00000001, 0x0]) .unwrap(); modulus } // Returns the modulus of SECP256K1 #[inline(always)] -fn get_ED25519_modulus() -> CircuitModulus { +pub fn get_ED25519_modulus() -> CircuitModulus { let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into([0xffffffffffffffffffffffed, 0xffffffffffffffffffffffff, 0x7fffffffffffffff, 0x0]) .unwrap(); modulus } -const BN254: Curve = - Curve { - p: u384 { - limb0: 0x6871ca8d3c208c16d87cfd47, - limb1: 0xb85045b68181585d97816a91, - limb2: 0x30644e72e131a029, - limb3: 0x0 - }, - n: u256 { - low: 0x2833e84879b9709143e1f593f0000001, high: 0x30644e72e131a029b85045b68181585d - }, - a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - b: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - min_one: u384 { - limb0: 0x6871ca8d3c208c16d87cfd46, - limb1: 0xb85045b68181585d97816a91, - limb2: 0x30644e72e131a029, - limb3: 0x0 - }, - }; - -const BLS12_381: Curve = - Curve { - p: u384 { - limb0: 0xb153ffffb9feffffffffaaab, - limb1: 0x6730d2a0f6b0f6241eabfffe, - limb2: 0x434bacd764774b84f38512bf, - limb3: 0x1a0111ea397fe69a4b1ba7b6 - }, - n: u256 { - low: 0x53bda402fffe5bfeffffffff00000001, high: 0x73eda753299d7d483339d80809a1d805 - }, - a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - b: u384 { limb0: 0x4, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - min_one: u384 { - limb0: 0xb153ffffb9feffffffffaaaa, - limb1: 0x6730d2a0f6b0f6241eabfffe, - limb2: 0x434bacd764774b84f38512bf, - limb3: 0x1a0111ea397fe69a4b1ba7b6 - }, - }; - -const SECP256K1: Curve = - Curve { - p: u384 { - limb0: 0xfffffffffffffffefffffc2f, - limb1: 0xffffffffffffffffffffffff, - limb2: 0xffffffffffffffff, - limb3: 0x0 - }, - n: u256 { - low: 0xbaaedce6af48a03bbfd25e8cd0364141, high: 0xfffffffffffffffffffffffffffffffe - }, - a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - b: u384 { limb0: 0x7, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - min_one: u384 { - limb0: 0xfffffffffffffffefffffc2e, - limb1: 0xffffffffffffffffffffffff, - limb2: 0xffffffffffffffff, - limb3: 0x0 - }, - }; - -const SECP256R1: Curve = - Curve { - p: u384 { - limb0: 0xffffffffffffffffffffffff, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0 - }, - n: u256 { - low: 0xbce6faada7179e84f3b9cac2fc632551, high: 0xffffffff00000000ffffffffffffffff - }, - a: u384 { - limb0: 0xfffffffffffffffffffffffc, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0 - }, - b: u384 { - limb0: 0xcc53b0f63bce3c3e27d2604b, - limb1: 0xb3ebbd55769886bc651d06b0, - limb2: 0x5ac635d8aa3a93e7, - limb3: 0x0 - }, - g: u384 { limb0: 0x6, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - min_one: u384 { - limb0: 0xfffffffffffffffffffffffe, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0 - }, - }; - -const ED25519: Curve = - Curve { - p: u384 { - limb0: 0xffffffffffffffffffffffed, - limb1: 0xffffffffffffffffffffffff, - limb2: 0x7fffffffffffffff, - limb3: 0x0 - }, - n: u256 { - low: 0x14def9dea2f79cd65812631a5cf5d3ed, high: 0x10000000000000000000000000000000 - }, - a: u384 { - limb0: 0xca52af7ac71e18ef8bc172d, - limb1: 0x3197e10d617b3dd66bb8b65d, - limb2: 0x5d4eacd3a5b9bee6, - limb3: 0x0 - }, - b: u384 { - limb0: 0x6b9fbc329004ebc1f364b2a4, - limb1: 0x550ddb06105780d5f5483197, - limb2: 0x1d11b29bcfd0b3e0, - limb3: 0x0 - }, - g: u384 { limb0: 0x6, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - min_one: u384 { - limb0: 0xffffffffffffffffffffffec, - limb1: 0xffffffffffffffffffffffff, - limb2: 0x7fffffffffffffff, - limb3: 0x0 - }, - }; - -const BLS_G2_GENERATOR: G2Point = - G2Point { - x0: u384 { - limb0: 0xa805bbefd48056c8c121bdb8, - limb1: 0xb4510b647ae3d1770bac0326, - limb2: 0x2dc51051c6e47ad4fa403b02, - limb3: 0x24aa2b2f08f0a9126080527 - }, - x1: u384 { - limb0: 0x13945d57e5ac7d055d042b7e, - limb1: 0xb5da61bbdc7f5049334cf112, - limb2: 0x88274f65596bd0d09920b61a, - limb3: 0x13e02b6052719f607dacd3a0 - }, - y0: u384 { - limb0: 0x3baca289e193548608b82801, - limb1: 0x6d429a695160d12c923ac9cc, - limb2: 0xda2e351aadfd9baa8cbdd3a7, - limb3: 0xce5d527727d6e118cc9cdc6 - }, - y1: u384 { - limb0: 0x5cec1da1aaa9075ff05f79be, - limb1: 0x267492ab572e99ab3f370d27, - limb2: 0x2bc28b99cb3e287e85a763af, - limb3: 0x606c4a02ea734cc32acd2b0 - } - }; +pub const BN254: Curve = Curve { + p: u384 { + limb0: 0x6871ca8d3c208c16d87cfd47, + limb1: 0xb85045b68181585d97816a91, + limb2: 0x30644e72e131a029, + limb3: 0x0, + }, + n: u256 { low: 0x2833e84879b9709143e1f593f0000001, high: 0x30644e72e131a029b85045b68181585d }, + a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + b: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + min_one: u384 { + limb0: 0x6871ca8d3c208c16d87cfd46, + limb1: 0xb85045b68181585d97816a91, + limb2: 0x30644e72e131a029, + limb3: 0x0, + }, +}; + +pub const BLS12_381: Curve = Curve { + p: u384 { + limb0: 0xb153ffffb9feffffffffaaab, + limb1: 0x6730d2a0f6b0f6241eabfffe, + limb2: 0x434bacd764774b84f38512bf, + limb3: 0x1a0111ea397fe69a4b1ba7b6, + }, + n: u256 { low: 0x53bda402fffe5bfeffffffff00000001, high: 0x73eda753299d7d483339d80809a1d805 }, + a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + b: u384 { limb0: 0x4, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + min_one: u384 { + limb0: 0xb153ffffb9feffffffffaaaa, + limb1: 0x6730d2a0f6b0f6241eabfffe, + limb2: 0x434bacd764774b84f38512bf, + limb3: 0x1a0111ea397fe69a4b1ba7b6, + }, +}; + +pub const SECP256K1: Curve = Curve { + p: u384 { + limb0: 0xfffffffffffffffefffffc2f, + limb1: 0xffffffffffffffffffffffff, + limb2: 0xffffffffffffffff, + limb3: 0x0, + }, + n: u256 { low: 0xbaaedce6af48a03bbfd25e8cd0364141, high: 0xfffffffffffffffffffffffffffffffe }, + a: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + b: u384 { limb0: 0x7, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + g: u384 { limb0: 0x3, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + min_one: u384 { + limb0: 0xfffffffffffffffefffffc2e, + limb1: 0xffffffffffffffffffffffff, + limb2: 0xffffffffffffffff, + limb3: 0x0, + }, +}; + +pub const SECP256R1: Curve = Curve { + p: u384 { + limb0: 0xffffffffffffffffffffffff, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0, + }, + n: u256 { low: 0xbce6faada7179e84f3b9cac2fc632551, high: 0xffffffff00000000ffffffffffffffff }, + a: u384 { + limb0: 0xfffffffffffffffffffffffc, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0, + }, + b: u384 { + limb0: 0xcc53b0f63bce3c3e27d2604b, + limb1: 0xb3ebbd55769886bc651d06b0, + limb2: 0x5ac635d8aa3a93e7, + limb3: 0x0, + }, + g: u384 { limb0: 0x6, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + min_one: u384 { + limb0: 0xfffffffffffffffffffffffe, limb1: 0x0, limb2: 0xffffffff00000001, limb3: 0x0, + }, +}; + +pub const ED25519: Curve = Curve { + p: u384 { + limb0: 0xffffffffffffffffffffffed, + limb1: 0xffffffffffffffffffffffff, + limb2: 0x7fffffffffffffff, + limb3: 0x0, + }, + n: u256 { low: 0x14def9dea2f79cd65812631a5cf5d3ed, high: 0x10000000000000000000000000000000 }, + a: u384 { + limb0: 0xca52af7ac71e18ef8bc172d, + limb1: 0x3197e10d617b3dd66bb8b65d, + limb2: 0x5d4eacd3a5b9bee6, + limb3: 0x0, + }, + b: u384 { + limb0: 0x6b9fbc329004ebc1f364b2a4, + limb1: 0x550ddb06105780d5f5483197, + limb2: 0x1d11b29bcfd0b3e0, + limb3: 0x0, + }, + g: u384 { limb0: 0x6, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + min_one: u384 { + limb0: 0xffffffffffffffffffffffec, + limb1: 0xffffffffffffffffffffffff, + limb2: 0x7fffffffffffffff, + limb3: 0x0, + }, +}; + +pub const BLS_G2_GENERATOR: G2Point = G2Point { + x0: u384 { + limb0: 0xa805bbefd48056c8c121bdb8, + limb1: 0xb4510b647ae3d1770bac0326, + limb2: 0x2dc51051c6e47ad4fa403b02, + limb3: 0x24aa2b2f08f0a9126080527, + }, + x1: u384 { + limb0: 0x13945d57e5ac7d055d042b7e, + limb1: 0xb5da61bbdc7f5049334cf112, + limb2: 0x88274f65596bd0d09920b61a, + limb3: 0x13e02b6052719f607dacd3a0, + }, + y0: u384 { + limb0: 0x3baca289e193548608b82801, + limb1: 0x6d429a695160d12c923ac9cc, + limb2: 0xda2e351aadfd9baa8cbdd3a7, + limb3: 0xce5d527727d6e118cc9cdc6, + }, + y1: u384 { + limb0: 0x5cec1da1aaa9075ff05f79be, + limb1: 0x267492ab572e99ab3f370d27, + limb2: 0x2bc28b99cb3e287e85a763af, + limb3: 0x606c4a02ea734cc32acd2b0, + }, +}; // recode_naf_bits(jy00(6 * 0x44E992B44A6909F1 + 2)[2:]) (see definitions.py) @@ -1000,48 +970,12 @@ const BLS_G2_GENERATOR: G2Point = // "-10" -> 2 // "01" -> 3 // "0-1" -> 4 -const bn_bits: [ - felt252 - ; 32] = [ - 2, 1, 0, 2, 2, 0, 2, 3, 1, 4, 0, 0, 3, 0, 2, 1, 4, 0, 0, 2, 1, 0, 2, 2, 3, 0, 4, 0, 4, 4, 2, 0 +pub const bn_bits: [felt252; 32] = [ + 2, 1, 0, 2, 2, 0, 2, 3, 1, 4, 0, 0, 3, 0, 2, 1, 4, 0, 0, 2, 1, 0, 2, 2, 3, 0, 4, 0, 4, 4, 2, 0, ]; // [int(x) for x in bin(0xD201000000010000)[2:]][2:] with two-consecutive zeros replaced by 3 -const bls_bits: [ - felt252 - ; 34] = [ - 0, - 1, - 3, - 1, - 3, - 3, - 3, - 3, - 1, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 0, - 1, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3 +pub const bls_bits: [felt252; 34] = [ + 0, 1, 3, 1, 3, 3, 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 1, 3, 3, 3, 3, 3, 3, + 3, 3, ]; diff --git a/src/src/ec_ops.cairo b/src/src/ec_ops.cairo index 37d81b8b..787d4856 100644 --- a/src/src/ec_ops.cairo +++ b/src/src/ec_ops.cairo @@ -3,13 +3,14 @@ use core::array::ArrayTrait; use core::circuit::{ AddMod, MulMod, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, u384, CircuitOutputsTrait, CircuitModulus, - AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, CircuitInputAccumulator + AddInputResultTrait, CircuitInputs, CircuitDefinition, CircuitData, CircuitInputAccumulator, }; use garaga::definitions::{ get_a, get_b, get_p, get_g, get_min_one, get_b2, get_n, G1Point, G2Point, BLS_X_SEED_SQ_EPNS, - BLS_X_SEED_SQ, G1PointZero, THIRD_ROOT_OF_UNITY_BLS12_381_G1, u384Serde + BLS_X_SEED_SQ, G1PointZero, THIRD_ROOT_OF_UNITY_BLS12_381_G1, u384Serde, }; use core::option::Option; +use core::panic_with_felt252; use core::poseidon::hades_permutation; use garaga::circuits::ec; use garaga::utils::hashing; @@ -21,7 +22,7 @@ use garaga::utils::{u384_assert_zero, u384_assert_eq}; impl G1PointImpl of G1PointTrait { fn assert_on_curve(self: @G1Point, curve_index: usize) { let (check) = ec::run_IS_ON_CURVE_G1_circuit( - *self, get_a(curve_index), get_b(curve_index), curve_index + *self, get_a(curve_index), get_b(curve_index), curve_index, ); u384_assert_zero(check); } @@ -32,7 +33,7 @@ impl G1PointImpl of G1PointTrait { self: @G1Point, curve_index: usize, msm_hint: Option, - derive_point_from_x_hint: Option + derive_point_from_x_hint: Option, ) { match curve_index { 0 => { self.assert_on_curve(curve_index) }, // BN254 (cofactor 1) @@ -41,13 +42,13 @@ impl G1PointImpl of G1PointTrait { let p = get_p(curve_index); let x_sq_phi_P = scalar_mul_g1_fixed_small_scalar( G1Point { - x: mul_mod_p(THIRD_ROOT_OF_UNITY_BLS12_381_G1, *self.x, p), y: *self.y + x: mul_mod_p(THIRD_ROOT_OF_UNITY_BLS12_381_G1, *self.x, p), y: *self.y, }, BLS_X_SEED_SQ_EPNS, BLS_X_SEED_SQ, msm_hint.unwrap(), derive_point_from_x_hint.unwrap(), - curve_index + curve_index, ); if !ec_safe_add(*self, x_sq_phi_P, curve_index).is_infinity() { panic_with_felt252('g1 pt not in subgroup'); @@ -60,7 +61,7 @@ impl G1PointImpl of G1PointTrait { return self.is_zero(); } fn update_hash_state( - self: @G1Point, s0: felt252, s1: felt252, s2: felt252 + self: @G1Point, s0: felt252, s1: felt252, s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 let self = *self; @@ -76,7 +77,7 @@ impl G1PointImpl of G1PointTrait { // Adds two elliptic curve points on a given curve. // Does not check the input points are on the curve. -fn ec_safe_add(p: G1Point, q: G1Point, curve_index: usize) -> G1Point { +pub fn ec_safe_add(p: G1Point, q: G1Point, curve_index: usize) -> G1Point { if p.is_infinity() { return q; } @@ -88,7 +89,7 @@ fn ec_safe_add(p: G1Point, q: G1Point, curve_index: usize) -> G1Point { if same_x { let opposite_y = sub_mod_p( - p.y, neg_mod_p(q.y, modulus), modulus + p.y, neg_mod_p(q.y, modulus), modulus, ) == u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }; if opposite_y { return G1PointZero::zero(); @@ -103,15 +104,15 @@ fn ec_safe_add(p: G1Point, q: G1Point, curve_index: usize) -> G1Point { } #[derive(Drop)] -struct DerivePointFromXOutput { - rhs: u384, - g_rhs: u384, - should_be_rhs_or_g_rhs: u384, +pub struct DerivePointFromXOutput { + pub rhs: u384, + pub g_rhs: u384, + pub should_be_rhs_or_g_rhs: u384, } #[inline(always)] fn get_DERIVE_POINT_FROM_X_circuit( - x: u384, sqrt_rhs_or_g_rhs: u384, curve_index: usize + x: u384, sqrt_rhs_or_g_rhs: u384, curve_index: usize, ) -> DerivePointFromXOutput { // INPUT stack let in0 = CircuitElement::> {}; // x - "random" x coordinate @@ -133,7 +134,7 @@ fn get_DERIVE_POINT_FROM_X_circuit( let modulus = TryInto::<_, CircuitModulus>::try_into([p.limb0, p.limb1, p.limb2, p.limb3]) .unwrap(); - let mut circuit_inputs = (t4, t5, t6,).new_inputs(); + let mut circuit_inputs = (t4, t5, t6).new_inputs(); circuit_inputs = circuit_inputs.next(x); circuit_inputs = circuit_inputs.next(get_a(curve_index)); @@ -143,7 +144,7 @@ fn get_DERIVE_POINT_FROM_X_circuit( let outputs = match circuit_inputs.done().eval(modulus) { Result::Ok(outputs) => { outputs }, - Result::Err(_) => { panic!("Expected success") } + Result::Err(_) => { panic!("Expected success") }, }; let rhs = outputs.get_output(t4); // rhs let g_rhs = outputs.get_output(t5); // g*rhs @@ -181,10 +182,10 @@ fn derive_ec_point_from_X( while let Option::Some(root) = g_rhs_sqrt.pop_front() { let x_u384: u384 = x.into(); let res: DerivePointFromXOutput = get_DERIVE_POINT_FROM_X_circuit( - x_u384, *root, curve_index + x_u384, *root, curve_index, ); assert!( - res.should_be_rhs_or_g_rhs == res.g_rhs, "grhs!=(sqrt(g*rhs))^2 in attempt {attempt}" + res.should_be_rhs_or_g_rhs == res.g_rhs, "grhs!=(sqrt(g*rhs))^2 in attempt {attempt}", ); let (new_x, _, _) = hades_permutation(x, attempt.into(), 2); @@ -194,7 +195,7 @@ fn derive_ec_point_from_X( let x_u384: u384 = x.into(); let res: DerivePointFromXOutput = get_DERIVE_POINT_FROM_X_circuit( - x_u384, y_last_attempt, curve_index + x_u384, y_last_attempt, curve_index, ); assert!(res.should_be_rhs_or_g_rhs == res.rhs, "invalid y coordinate"); return G1Point { x: x_u384, y: y_last_attempt }; @@ -208,28 +209,28 @@ fn derive_ec_point_from_X( // No information about the degrees of the polynomials is stored here as they are derived // implicitely from the MSM size. #[derive(Drop, Debug, Copy, PartialEq, Serde)] -struct FunctionFelt { - a_num: Span, - a_den: Span, - b_num: Span, - b_den: Span, +pub struct FunctionFelt { + pub a_num: Span, + pub a_den: Span, + pub b_num: Span, + pub b_den: Span, } #[derive(Drop, Debug, Copy, PartialEq)] -struct FunctionFeltEvaluations { - a_num: u384, - a_den: u384, - b_num: u384, - b_den: u384, +pub struct FunctionFeltEvaluations { + pub a_num: u384, + pub a_den: u384, + pub b_num: u384, + pub b_den: u384, } #[derive(Drop, Debug, Copy, PartialEq)] -struct SlopeInterceptOutput { - m_A0: u384, - b_A0: u384, - x_A2: u384, - y_A2: u384, - coeff0: u384, - coeff2: u384, +pub struct SlopeInterceptOutput { + pub m_A0: u384, + pub b_A0: u384, + pub x_A2: u384, + pub y_A2: u384, + pub coeff0: u384, + pub coeff2: u384, } #[generate_trait] @@ -247,7 +248,7 @@ impl FunctionFeltImpl of FunctionFeltTrait { assert!((*self.b_den).len() == msm_size + 7, "b_den wrong degree for given msm size"); } fn update_hash_state( - self: @FunctionFelt, s0: felt252, s1: felt252, s2: felt252 + self: @FunctionFelt, s0: felt252, s1: felt252, s2: felt252, ) -> (felt252, felt252, felt252) { let (s0, s1, s2) = hashing::hash_u384_transcript(*self.a_num, s0, s1, s2); let (s0, s1, s2) = hashing::hash_u384_transcript(*self.a_den, s0, s1, s2); @@ -258,32 +259,32 @@ impl FunctionFeltImpl of FunctionFeltTrait { } #[derive(Drop, Debug, PartialEq, Serde, Copy)] -struct MSMHint { - Q_low: G1Point, - Q_high: G1Point, - Q_high_shifted: G1Point, - RLCSumDlogDiv: FunctionFelt, +pub struct MSMHint { + pub Q_low: G1Point, + pub Q_high: G1Point, + pub Q_high_shifted: G1Point, + pub RLCSumDlogDiv: FunctionFelt, } #[derive(Drop, Debug, PartialEq, Serde)] -struct MSMHintSmallScalar { - Q: G1Point, - SumDlogDiv: FunctionFelt, +pub struct MSMHintSmallScalar { + pub Q: G1Point, + pub SumDlogDiv: FunctionFelt, } #[derive(Drop, Debug, PartialEq, Serde, Copy)] -struct DerivePointFromXHint { - y_last_attempt: u384, - g_rhs_sqrt: Span, +pub struct DerivePointFromXHint { + pub y_last_attempt: u384, + pub g_rhs_sqrt: Span, } -fn scalar_mul_g1_fixed_small_scalar( +pub fn scalar_mul_g1_fixed_small_scalar( point: G1Point, scalar_epns: (felt252, felt252, felt252, felt252), scalar: u128, hint: MSMHintSmallScalar, derive_point_from_x_hint: DerivePointFromXHint, - curve_index: usize + curve_index: usize, ) -> G1Point { // Check result points are either on curve or the point at infinity if !hint.Q.is_infinity() { @@ -296,10 +297,10 @@ fn scalar_mul_g1_fixed_small_scalar( // Hash everything to obtain a x coordinate. let (s0, s1, s2): (felt252, felt252, felt252) = hades_permutation( - 'MSM_G1_U128', 0, 1 + 'MSM_G1_U128', 0, 1, ); // Init Sponge state let (s0, s1, s2) = hades_permutation( - s0 + curve_index.into(), s1 + 1.into(), s2 + s0 + curve_index.into(), s1 + 1.into(), s2, ); // Include curve_index and msm size // Check input points are on curve and hash them at the same time. @@ -317,12 +318,12 @@ fn scalar_mul_g1_fixed_small_scalar( s0, derive_point_from_x_hint.y_last_attempt, derive_point_from_x_hint.g_rhs_sqrt, - curve_index + curve_index, ); // Get slope, intercept and other constant from random point let (mb): (SlopeInterceptOutput,) = ec::run_SLOPE_INTERCEPT_SAME_POINT_circuit( - random_point, get_a(curve_index), curve_index + random_point, get_a(curve_index), curve_index, ); // Verify Q = scalar * P @@ -332,7 +333,7 @@ fn scalar_mul_g1_fixed_small_scalar( coeff0: mb.coeff0, coeff2: mb.coeff2, SumDlogDiv: hint.SumDlogDiv, - curve_index: curve_index + curve_index: curve_index, ); let rhs = compute_rhs_ecip( points: array![point].span(), @@ -341,7 +342,7 @@ fn scalar_mul_g1_fixed_small_scalar( x_A0: random_point.x, epns: array![scalar_epns], Q_result: hint.Q, - curve_index: curve_index + curve_index: curve_index, ); u384_assert_eq(lhs, rhs); @@ -358,7 +359,7 @@ fn msm_g1( derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point { let n = scalars.len(); assert!(n == points.len(), "scalars and points length mismatch"); @@ -384,10 +385,10 @@ fn msm_g1( // Hash everything to obtain a x coordinate. let (s0, s1, s2): (felt252, felt252, felt252) = hades_permutation( - 'MSM_G1', 0, 1 + 'MSM_G1', 0, 1, ); // Init Sponge state let (s0, s1, s2) = hades_permutation( - s0 + curve_index.into(), s1 + n.into(), s2 + s0 + curve_index.into(), s1 + n.into(), s2, ); // Include curve_index and msm size let mut s0 = s0; @@ -416,7 +417,7 @@ fn msm_g1( for scalar in scalars { assert!(*scalar <= curve_order, "One of the scalar is larger than the curve order"); let (_s0, _s1, _s2) = core::poseidon::hades_permutation( - s0 + (*scalar.low).into(), s1 + (*scalar.high).into(), s2 + s0 + (*scalar.low).into(), s1 + (*scalar.high).into(), s2, ); s0 = _s0; s1 = _s1; @@ -431,29 +432,29 @@ fn msm_g1( s0, derive_point_from_x_hint.y_last_attempt, derive_point_from_x_hint.g_rhs_sqrt, - curve_index + curve_index, ); // Get slope, intercept and other constant from random point let (mb): (SlopeInterceptOutput,) = ec::run_SLOPE_INTERCEPT_SAME_POINT_circuit( - random_point, get_a(curve_index), curve_index + random_point, get_a(curve_index), curve_index, ); // Get positive and negative multiplicities of low and high part of scalars let (epns_low, epns_high) = neg_3::u256_array_to_low_high_epns( - scalars, scalars_digits_decompositions + scalars, scalars_digits_decompositions, ); // Hardcoded epns for 2**128 let epns_shifted: Array<(felt252, felt252, felt252, felt252)> = array![ - (5279154705627724249993186093248666011, 345561521626566187713367793525016877467, -1, -1) + (5279154705627724249993186093248666011, 345561521626566187713367793525016877467, -1, -1), ]; let rhs_low = compute_rhs_ecip( - points, mb.m_A0, mb.b_A0, random_point.x, epns_low, hint.Q_low, curve_index + points, mb.m_A0, mb.b_A0, random_point.x, epns_low, hint.Q_low, curve_index, ); let rhs_high = compute_rhs_ecip( - points, mb.m_A0, mb.b_A0, random_point.x, epns_high, hint.Q_high, curve_index + points, mb.m_A0, mb.b_A0, random_point.x, epns_high, hint.Q_high, curve_index, ); let rhs_high_shifted = compute_rhs_ecip( array![hint.Q_high].span(), @@ -462,13 +463,13 @@ fn msm_g1( random_point.x, epns_shifted, hint.Q_high_shifted, - curve_index + curve_index, ); let p_curve = get_p(curve_index); let zk_ecip_batched_rhs = batch_3_mod_p( - rhs_low, rhs_high, rhs_high_shifted, base_rlc_coeff.into(), p_curve + rhs_low, rhs_high, rhs_high_shifted, base_rlc_coeff.into(), p_curve, ); let batched_lhs = compute_lhs_ecip( @@ -478,7 +479,7 @@ fn msm_g1( mb.coeff0, mb.coeff2, n, - curve_index + curve_index, ); u384_assert_eq(batched_lhs, zk_ecip_batched_rhs); @@ -497,7 +498,7 @@ fn msm_g1_u128( derive_point_from_x_hint: DerivePointFromXHint, points: Span, scalars: Span, - curve_index: usize + curve_index: usize, ) -> G1Point { let n = scalars.len(); assert!(n == points.len(), "scalars and points length mismatch"); @@ -516,10 +517,10 @@ fn msm_g1_u128( // Hash everything to obtain a x coordinate. let (s0, s1, s2): (felt252, felt252, felt252) = hades_permutation( - 'MSM_G1_U128', 0, 1 + 'MSM_G1_U128', 0, 1, ); // Init Sponge state let (s0, s1, s2) = hades_permutation( - s0 + curve_index.into(), s1 + n.into(), s2 + s0 + curve_index.into(), s1 + n.into(), s2, ); // Include curve_index and msm size let mut s0 = s0; @@ -556,12 +557,12 @@ fn msm_g1_u128( s0, derive_point_from_x_hint.y_last_attempt, derive_point_from_x_hint.g_rhs_sqrt, - curve_index + curve_index, ); // Get slope, intercept and other constant from random point let (mb): (SlopeInterceptOutput,) = ec::run_SLOPE_INTERCEPT_SAME_POINT_circuit( - random_point, get_a(curve_index), curve_index + random_point, get_a(curve_index), curve_index, ); // Get positive and negative multiplicities of low and high part of scalars @@ -574,10 +575,10 @@ fn msm_g1_u128( let (lhs) = match case { 0 => (ec::run_EVAL_FN_CHALLENGE_DUPL_1P_circuit( - A0, A2, mb.coeff0, mb.coeff2, hint.SumDlogDiv, curve_index + A0, A2, mb.coeff0, mb.coeff2, hint.SumDlogDiv, curve_index, )), _ => ec::run_EVAL_FN_CHALLENGE_DUPL_2P_circuit( - A0, A2, mb.coeff0, mb.coeff2, hint.SumDlogDiv, curve_index + A0, A2, mb.coeff0, mb.coeff2, hint.SumDlogDiv, curve_index, ), }; @@ -598,7 +599,7 @@ fn zk_ecip_check( mb: SlopeInterceptOutput, sum_dlog_div: FunctionFelt, random_point: G1Point, - curve_index: usize + curve_index: usize, ) { let lhs = compute_lhs_ecip( sum_dlog_div: sum_dlog_div, @@ -607,7 +608,7 @@ fn zk_ecip_check( coeff0: mb.coeff0, coeff2: mb.coeff2, msm_size: n, - curve_index: curve_index + curve_index: curve_index, ); let rhs = compute_rhs_ecip( points: points, @@ -616,7 +617,7 @@ fn zk_ecip_check( x_A0: random_point.x, epns: epns, Q_result: Q_result, - curve_index: curve_index + curve_index: curve_index, ); u384_assert_eq(lhs, rhs); } @@ -629,39 +630,39 @@ fn compute_lhs_ecip( coeff0: u384, coeff2: u384, msm_size: usize, - curve_index: usize + curve_index: usize, ) -> u384 { let case = msm_size - 1; let (res) = match case { 0 => (ec::run_EVAL_FN_CHALLENGE_DUPL_1P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, )), 1 => ec::run_EVAL_FN_CHALLENGE_DUPL_2P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 2 => ec::run_EVAL_FN_CHALLENGE_DUPL_3P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 3 => ec::run_EVAL_FN_CHALLENGE_DUPL_4P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 4 => ec::run_EVAL_FN_CHALLENGE_DUPL_5P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 5 => ec::run_EVAL_FN_CHALLENGE_DUPL_6P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 6 => ec::run_EVAL_FN_CHALLENGE_DUPL_7P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 7 => ec::run_EVAL_FN_CHALLENGE_DUPL_8P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 8 => ec::run_EVAL_FN_CHALLENGE_DUPL_9P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), 9 => ec::run_EVAL_FN_CHALLENGE_DUPL_10P_RLC_circuit( - A0, A2, coeff0, coeff2, sum_dlog_div, curve_index + A0, A2, coeff0, coeff2, sum_dlog_div, curve_index, ), _ => { let (_f_A0, _f_A2, _xA0_pow, _xA2_pow) = ec::run_INIT_FN_CHALLENGE_DUPL_11P_RLC_circuit( @@ -673,7 +674,7 @@ fn compute_lhs_ecip( b_num: sum_dlog_div.b_num.slice(0, 11 + 4), b_den: sum_dlog_div.b_den.slice(0, 11 + 7), }, - curve_index + curve_index, ); let mut f_A0 = _f_A0; let mut f_A2 = _f_A2; @@ -693,7 +694,7 @@ fn compute_lhs_ecip( *sum_dlog_div.a_den.at(i + 4), *sum_dlog_div.b_num.at(i + 4), *sum_dlog_div.b_den.at(i + 7), - curve_index + curve_index, ); f_A0 = _f_A0; f_A2 = _f_A2; @@ -703,9 +704,9 @@ fn compute_lhs_ecip( }; ec::run_FINALIZE_FN_CHALLENGE_DUPL_circuit( - f_A0, f_A2, A0.y, A2.y, coeff0, coeff2, curve_index + f_A0, f_A2, A0.y, A2.y, coeff0, coeff2, curve_index, ) - } + }, }; return res; } @@ -717,7 +718,7 @@ fn compute_rhs_ecip( x_A0: u384, mut epns: Array<(felt252, felt252, felt252, felt252)>, Q_result: G1Point, - curve_index: usize + curve_index: usize, ) -> u384 { let mut basis_sum: u384 = u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }; while let Option::Some(point) = points.pop_front() { @@ -734,7 +735,7 @@ fn compute_rhs_ecip( en.into(), neg_3::sign_to_u384(sp, curve_index), neg_3::sign_to_u384(sn, curve_index), - curve_index + curve_index, ); basis_sum = _basis_sum; } @@ -745,7 +746,7 @@ fn compute_rhs_ecip( return basis_sum; } else { let (rhs) = ec::run_RHS_FINALIZE_ACC_circuit( - basis_sum, m_A0, b_A0, x_A0, Q_result, curve_index + basis_sum, m_A0, b_A0, x_A0, Q_result, curve_index, ); return rhs; } @@ -767,15 +768,15 @@ mod tests { limb0: 0x598cfc33bd761e9f469d5cf1, limb1: 0x70aa740aee8c937ce5a652ed, limb2: 0x15150916fc849dd8, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0x70af0825548810253be61ac2, limb1: 0xf5002d67b9fa4c1219c100a4, limb2: 0x299198e451040cb, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 0); assert!( @@ -784,8 +785,8 @@ mod tests { limb0: 0xca77736f57333ec7243f64dc, limb1: 0xed10c0cb48d824856b668918, limb2: 0x2763f5473b1953e, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -799,15 +800,15 @@ mod tests { limb0: 0xda347f7c60a049c6d7bafb5b, limb1: 0xec21b937ef78861d979f0f50, limb2: 0x2ad1c01bba7ac189c78a1e86, - limb3: 0x1026dca24cfcadfb336698e + limb3: 0x1026dca24cfcadfb336698e, }; let grhs_roots: Array = array![ u384 { limb0: 0xdbca26cdf0c7aa11a90c641f, limb1: 0x2e5c0209028615f11d0dc47e, limb2: 0xb1add5551aa6b9c56333f02f, - limb3: 0x19972c66940a5bb4365da67 - } + limb3: 0x19972c66940a5bb4365da67, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 1); assert!( @@ -816,8 +817,8 @@ mod tests { limb0: 0xca77736f57333ec7243f64dc, limb1: 0xed10c0cb48d824856b668918, limb2: 0x2763f5473b1953e, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -831,33 +832,33 @@ mod tests { limb0: 0x6fd1f24224585b2f83a36f19, limb1: 0x6edcd937a50597e42acc02c4, limb2: 0x634a08e35a355a32, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0x5e1402d5a1794a2ba5113078, limb1: 0xcebc2596ba2db2a201abd409, limb2: 0x54a070a2d860e57f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd619858e2ea7e31cb17c33cb, limb1: 0x4816924dd606b04c135bcfa3, limb2: 0x13dc60324901f16f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6ae587737bb1f9839802fd91, limb1: 0x4fc0f718bb7b3ca34f2cccb3, limb2: 0x4071c850696772a1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd81a6ef8f7ee11a079f304e8, limb1: 0xf765e8b9e097ca1bf0f3ea0e, limb2: 0x459195cbdf16786a, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 2); assert!( @@ -866,8 +867,8 @@ mod tests { limb0: 0x8ab6a1b6714eb0afec427f11, limb1: 0x774701c0acf48486afeb35d5, limb2: 0x1a3e9f740bb8959, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -881,15 +882,15 @@ mod tests { limb0: 0x40cbfb35489307de40764c95, limb1: 0x67ad6ff08b304dc35ef9a319, limb2: 0x5ff5aff356baa1da, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0x145e66309035da0e73a4ed6, limb1: 0x696ff6786cf7a86549a1b150, limb2: 0x69e04ef11ab29ee8, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 3); assert!( @@ -898,8 +899,8 @@ mod tests { limb0: 0xca77736f57333ec7243f64dc, limb1: 0xed10c0cb48d824856b668918, limb2: 0x2763f5473b1953e, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -913,7 +914,7 @@ mod tests { limb0: 0xc329e0f3a716909d81ee695d, limb1: 0xac52065a46c058e2dd3da949, limb2: 0x81add1124b65c41, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 4); @@ -923,8 +924,8 @@ mod tests { limb0: 0x9558867f5ba91faf7a024204, limb1: 0x37ebdcd9e87a1613e443df78, limb2: 0x23a771181332876, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -938,33 +939,33 @@ mod tests { limb0: 0x185ddfe68eca3df51ff4c645, limb1: 0x17b6ccbb6f4843c170dc2009, limb2: 0x171370980ed3ba91, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0xb6dca81bd6f041ae382202ae, limb1: 0xfebe33fdfdc01232d27737ce, limb2: 0x1031c8f96f566cea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcc497c90b1d5d736c46a619a, limb1: 0xf08b3fe8157a259bf06d1c18, limb2: 0x1329fd3ffe2dbe8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa46d4f66ca22531865b67bf5, limb1: 0xd5964d6b0c925503d596d887, limb2: 0xa95d8f1df105f18, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3b52382c9597a1fad8935560, limb1: 0x3fa8d8a8174fc08c702332ce, limb2: 0x23191b53d4b072b, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 0); assert!( @@ -973,8 +974,8 @@ mod tests { limb0: 0x4ed478dca9953c97aedb70f7, limb1: 0xd98adb6e70e8f1580604709, limb2: 0x4bea6d08411cc00, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -988,39 +989,39 @@ mod tests { limb0: 0x35d8a6fefdafaaaf5b29e897, limb1: 0x6f7727ee8543e37553eeb26f, limb2: 0x2f70791057cdbd90daf42308, - limb3: 0x75b09d110be5483f36e068 + limb3: 0x75b09d110be5483f36e068, }; let grhs_roots: Array = array![ u384 { limb0: 0x5cf036935c9f06c3e0a0aa7c, limb1: 0x79a5eb4e385146a0aa3c1de, limb2: 0x6e20141582b8406d26dda065, - limb3: 0x3c3d605784954989e301c3c + limb3: 0x3c3d605784954989e301c3c, }, u384 { limb0: 0x77a98db8c9be953431659e97, limb1: 0x214a25baa29b08ffc8bec3db, limb2: 0xfe6a7b8656df401896f71787, - limb3: 0xa9152bcd397888aa9388bd8 + limb3: 0xa9152bcd397888aa9388bd8, }, u384 { limb0: 0x4551a54de8fb23786fd1f2a0, limb1: 0x2b19133889843628ea5fd520, limb2: 0xb893ee8526ef349b780c0c24, - limb3: 0x50a551b0bd152405d128fc7 + limb3: 0x50a551b0bd152405d128fc7, }, u384 { limb0: 0xf4ecd002f01cd7ee33519fd5, limb1: 0xed3c61685851221c96d7592b, limb2: 0x9f42fc7c025009a0247daafb, - limb3: 0x45d3eb549e2ff2d259ef50a + limb3: 0x45d3eb549e2ff2d259ef50a, }, u384 { limb0: 0xc71aa51c55a340c4b62ce4bb, limb1: 0xc29f377906d89036689603a4, limb2: 0x4dc8b1c21520b64e2101850, - limb3: 0x6de8fe79d9b161443b37f30 - } + limb3: 0x6de8fe79d9b161443b37f30, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 1); assert!( @@ -1029,8 +1030,8 @@ mod tests { limb0: 0x836d4610c564d82c11088e19, limb1: 0x4801f5832d47c11bd2378845, limb2: 0x75e11f8d50c3760, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -1044,15 +1045,15 @@ mod tests { limb0: 0xc6d067f5c5c6a580350c2471, limb1: 0x2ff4d91827cad9a2b11c1cff, limb2: 0x18917af46df8fc3f, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0x22d9db5344ce97b7eb160092, limb1: 0x2747c16db787c85dcc773a44, limb2: 0x18a010b6b674e456, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 2); assert!( @@ -1061,8 +1062,8 @@ mod tests { limb0: 0xbb4647393e0b7dd03ae7107f, limb1: 0xcdc5afca778a37383350bcf8, limb2: 0x3a81368ffad9e03, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -1076,15 +1077,15 @@ mod tests { limb0: 0x6e67fe45dcddd89cb69ce7ee, limb1: 0x36156ccb6884f75af70900f1, limb2: 0x30b6330c77234ef8, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![ u384 { limb0: 0xea8397d53edccf2ceda23ff0, limb1: 0xa5a0c4098c25294b18a0f0f9, limb2: 0x11722147901e6d89, - limb3: 0x0 - } + limb3: 0x0, + }, ]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 3); assert!( @@ -1093,8 +1094,8 @@ mod tests { limb0: 0xbb4647393e0b7dd03ae7107f, limb1: 0xcdc5afca778a37383350bcf8, limb2: 0x3a81368ffad9e03, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } @@ -1108,7 +1109,7 @@ mod tests { limb0: 0x33e9327c0c98794856bde22a, limb1: 0xdf89110f1e821a3112ce76bb, limb2: 0xacf925c82c4365f, - limb3: 0x0 + limb3: 0x0, }; let grhs_roots: Array = array![]; let result = derive_ec_point_from_X(x, y, grhs_roots.span(), 4); @@ -1118,8 +1119,8 @@ mod tests { limb0: 0xfb97d43588561712e8e5216a, limb1: 0x9a164106cf6a659eb4862b21, limb2: 0x259f432e6f4590b, - limb3: 0x0 - } + limb3: 0x0, + }, ); assert!(result.y == y); } diff --git a/src/src/ec_ops_g2.cairo b/src/src/ec_ops_g2.cairo index 1067da0b..f0884ea4 100644 --- a/src/src/ec_ops_g2.cairo +++ b/src/src/ec_ops_g2.cairo @@ -3,7 +3,7 @@ use core::circuit::CircuitInput as CI; use core::circuit::{ u384, circuit_add, circuit_sub, circuit_mul, circuit_inverse, EvalCircuitTrait, - CircuitOutputsTrait, CircuitModulus, CircuitInputs + CircuitOutputsTrait, CircuitModulus, CircuitInputs, }; use core::option::Option; use garaga::core::circuit::AddInputResultTrait2; @@ -17,7 +17,7 @@ impl G2PointImpl of G2PointTrait { fn assert_on_curve(self: @G2Point, curve_index: usize) { let (b20, b21) = get_b2(curve_index).unwrap(); let (check0, check1) = ec::run_IS_ON_CURVE_G2_circuit( - *self, get_a(curve_index), b20, b21, curve_index + *self, get_a(curve_index), b20, b21, curve_index, ); u384_assert_zero(check0); u384_assert_zero(check1); @@ -25,7 +25,7 @@ impl G2PointImpl of G2PointTrait { fn is_on_curve(self: @G2Point, curve_index: usize) -> bool { let (b20, b21) = get_b2(curve_index).unwrap(); let (check0, check1) = ec::run_IS_ON_CURVE_G2_circuit( - *self, get_a(curve_index), b20, b21, curve_index + *self, get_a(curve_index), b20, b21, curve_index, ); return check0.is_zero() && check1.is_zero(); } @@ -199,26 +199,26 @@ mod tests { limb0: 0xf3611b78c952aacab827a053, limb1: 0xe1ea1e1e4d00dbae81f14b0b, limb2: 0xcc7ed5863bc0b995b8825e0e, - limb3: 0x1638533957d540a9d2370f17 + limb3: 0x1638533957d540a9d2370f17, }, x1: u384 { limb0: 0xb57ec72a6178288c47c33577, limb1: 0x728114d1031e1572c6c886f6, limb2: 0x730a124fd70662a904ba1074, - limb3: 0xa4edef9c1ed7f729f520e47 + limb3: 0xa4edef9c1ed7f729f520e47, }, y0: u384 { limb0: 0x764bf3bd999d95d71e4c9899, limb1: 0xbfe6bd221e47aa8ae88dece9, limb2: 0x2b5256789a66da69bf91009c, - limb3: 0x468fb440d82b0630aeb8dca + limb3: 0x468fb440d82b0630aeb8dca, }, y1: u384 { limb0: 0xa59c8967acdefd8b6e36ccf3, limb1: 0x97003f7a13c308f5422e1aa0, limb2: 0x3f887136a43253d9c66c4116, - limb3: 0xf6d4552fa65dd2638b36154 - } + limb3: 0xf6d4552fa65dd2638b36154, + }, }; let r = ec_mul(g, s, curve_index).unwrap(); assert!(r == g2); @@ -229,26 +229,26 @@ mod tests { limb0: 0x866f09d516020ef82324afae, limb1: 0xa0c75df1c04d6d7a50a030fc, limb2: 0xdccb23ae691ae54329781315, - limb3: 0x122915c824a0857e2ee414a3 + limb3: 0x122915c824a0857e2ee414a3, }, x1: u384 { limb0: 0x937cc6d9d6a44aaa56ca66dc, limb1: 0x5062650f8d251c96eb480673, limb2: 0x7e0550ff2ac480905396eda5, - limb3: 0x9380275bbc8e5dcea7dc4dd + limb3: 0x9380275bbc8e5dcea7dc4dd, }, y0: u384 { limb0: 0x8b52fdf2455e44813ecfd892, limb1: 0x326ac738fef5c721479dfd94, limb2: 0xbc1a6f0136961d1e3b20b1a7, - limb3: 0xb21da7955969e61010c7a1a + limb3: 0xb21da7955969e61010c7a1a, }, y1: u384 { limb0: 0xb975b9edea56d53f23a0e849, limb1: 0x714150a166bfbd6bcf6b3b58, limb2: 0xa36cfe5f62a7e42e0bf1c1ed, - limb3: 0x8f239ba329b3967fe48d718 - } + limb3: 0x8f239ba329b3967fe48d718, + }, }; let r = ec_mul(g, s, curve_index).unwrap(); assert!(r == g3); @@ -259,26 +259,26 @@ mod tests { limb0: 0xae40a8b5aee95e54aedee2e7, limb1: 0x6e0699501c5035eed8fc5162, limb2: 0xbee76829b76806d1b6617bf8, - limb3: 0x5026c3305c1267922077393 + limb3: 0x5026c3305c1267922077393, }, x1: u384 { limb0: 0x10c08c4b0a70e02491c3c435, limb1: 0x591ef738050b3ce067e2016f, limb2: 0xdd6e0a179e2ce3c1399c5273, - limb3: 0xd5c9af9b97e94f90cb4aba3 + limb3: 0xd5c9af9b97e94f90cb4aba3, }, y0: u384 { limb0: 0x93be53660cebb92c90d4fa87, limb1: 0xfbf63ca94e1d0ffd65801863, limb2: 0xd24fd9a06d72f1dc57f15f0a, - limb3: 0x100dbfd4f271378e85171313 + limb3: 0x100dbfd4f271378e85171313, }, y1: u384 { limb0: 0xb7296e587409163eecd3ef5d, limb1: 0x8a065d6871fa185d15703e78, limb2: 0x8a85fb95bb90eb5c7a0d81a9, - limb3: 0x157cf362e91a3c96640bd973 - } + limb3: 0x157cf362e91a3c96640bd973, + }, }; let r = ec_mul(g, s, curve_index).unwrap(); assert!(r == g4); @@ -290,26 +290,26 @@ mod tests { limb0: 0x2131be4b061714de5a11407d, limb1: 0xd41318f9bcade1fee985310b, limb2: 0xb2669e638a7b78b7ba5c6751, - limb3: 0xa5284fb2911d4e2f445e714 + limb3: 0xa5284fb2911d4e2f445e714, }, x1: u384 { limb0: 0x712edcaf95ed642a8237e6fd, limb1: 0xed6fccd7b64896ebb6ffb3d9, limb2: 0xfcb88d23294a46657b8d2482, - limb3: 0x143ef485b660d37036fc18e2 + limb3: 0x143ef485b660d37036fc18e2, }, y0: u384 { limb0: 0xaa5b7ff57bdbf47e6ab49121, limb1: 0xc14cded56b4a44e022320616, limb2: 0xdd5105feb3fdc5b10edb5afa, - limb3: 0x175d2c78538490ce02fcead8 + limb3: 0x175d2c78538490ce02fcead8, }, y1: u384 { limb0: 0x23893f1bb0fdb0533584b05f, limb1: 0x420d425d79dcd48b26d87814, limb2: 0xc932fa90468e6b9dfd658cc9, - limb3: 0xe5fac70e9096e97adc6dd89 - } + limb3: 0xe5fac70e9096e97adc6dd89, + }, }; let r = ec_mul(g, s, curve_index).unwrap(); assert!(r == g5); diff --git a/src/src/groth16.cairo b/src/src/groth16.cairo index 36ad78e6..7cbe0981 100644 --- a/src/src/groth16.cairo +++ b/src/src/groth16.cairo @@ -17,20 +17,20 @@ /// /// Moreover, the file contains the full groth16 verification function for BN254 and BLS12-381. use garaga::definitions::{ - G1Point, G2Point, G1G2Pair, u384, bn_bits, bls_bits, MillerLoopResultScalingFactor, E12D, - BNProcessedPair, BLSProcessedPair, get_p, E12DMulQuotient, G2Line, u288 + G1Point, G2Point, G1G2Pair, bn_bits, bls_bits, MillerLoopResultScalingFactor, E12D, + BNProcessedPair, BLSProcessedPair, get_p, E12DMulQuotient, G2Line, u288, }; use garaga::circuits::multi_pairing_check::{ run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit, run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit, run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit, run_BN254_MP_CHECK_PREPARE_PAIRS_3P_circuit, - run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit + run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit, }; use garaga::circuits::multi_pairing_check as mpc; - +use core::circuit::u384; use garaga::circuits::extf_mul::{ run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit, run_BN254_FP12_MUL_ASSERT_ONE_circuit, - run_BN254_EVAL_E12D_circuit, run_BLS12_381_EVAL_E12D_circuit + run_BN254_EVAL_E12D_circuit, run_BLS12_381_EVAL_E12D_circuit, }; use core::option::Option; use garaga::utils; @@ -49,19 +49,19 @@ use garaga::utils::hashing; // Groth16 proof structure, genric for both BN254 and BLS12-381. #[derive(Drop, Serde)] -struct Groth16Proof { - a: G1Point, - b: G2Point, - c: G1Point, - public_inputs: Span, +pub struct Groth16Proof { + pub a: G1Point, + pub b: G2Point, + pub c: G1Point, + pub public_inputs: Span, } // Only used for Risc0 where public inputs are derived with an extra step. #[derive(Drop, Serde)] -struct Groth16ProofRaw { - a: G1Point, - b: G2Point, - c: G1Point, +pub struct Groth16ProofRaw { + pub a: G1Point, + pub b: G2Point, + pub c: G1Point, } // Groth16 verifying key structure, consisting of the two fixed G2 points and the precomputed // miller loop result miller_loop(alpha, beta) @@ -69,10 +69,10 @@ struct Groth16ProofRaw { // Does not include IC either as its size is not fixed and we want to write it as constant in smart // contracts. #[derive(Drop)] -struct Groth16VerifyingKey { - alpha_beta_miller_loop_result: E12D, - gamma_g2: G2Point, - delta_g2: G2Point, +pub struct Groth16VerifyingKey { + pub alpha_beta_miller_loop_result: E12D, + pub gamma_g2: G2Point, + pub delta_g2: G2Point, } @@ -100,7 +100,7 @@ fn verify_groth16_bn254( public_inputs_msm_hint: MSMHint, public_inputs_msm_derive_point_from_x_hint: DerivePointFromXHint, mpcheck_hint: MPCheckHintBN254, - small_Q: E12DMulQuotient + small_Q: E12DMulQuotient, ) -> bool { let vk_x: G1Point = msm_g1( public_inputs_digits_decompositions, @@ -108,7 +108,7 @@ fn verify_groth16_bn254( public_inputs_msm_derive_point_from_x_hint, ic.slice(1, ic.len() - 1), proof.public_inputs, - 0 + 0, ); proof.a.assert_on_curve(0); @@ -122,7 +122,7 @@ fn verify_groth16_bn254( verification_key.alpha_beta_miller_loop_result, lines, mpcheck_hint, - small_Q + small_Q, ); } @@ -150,7 +150,7 @@ fn verify_groth16_bls12_381( public_inputs_msm_hint: MSMHint, public_inputs_msm_derive_point_from_x_hint: DerivePointFromXHint, mpcheck_hint: MPCheckHintBLS12_381, - small_Q: E12DMulQuotient + small_Q: E12DMulQuotient, ) -> bool { let vk_x: G1Point = msm_g1( public_inputs_digits_decompositions, @@ -158,7 +158,7 @@ fn verify_groth16_bls12_381( public_inputs_msm_derive_point_from_x_hint, ic.slice(1, ic.len() - 1), proof.public_inputs, - 1 + 1, ); proof.a.assert_on_curve(1); @@ -172,7 +172,7 @@ fn verify_groth16_bls12_381( verification_key.alpha_beta_miller_loop_result, lines, mpcheck_hint, - small_Q + small_Q, ); } @@ -231,7 +231,7 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( precomputed_miller_loop_result: E12D, mut lines: Span>, mpcheck_hint: MPCheckHintBN254, - small_Q: E12DMulQuotient + small_Q: E12DMulQuotient, ) -> bool { usize_assert_eq(mpcheck_hint.big_Q.len(), 190); usize_assert_eq(mpcheck_hint.Ris.len(), 35); @@ -239,14 +239,14 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( let (yInv_0, xNegOverY_0) = compute_yInvXnegOverY_BN254(pair0.p.x, pair0.p.y); let (yInv_1, xNegOverY_1) = compute_yInvXnegOverY_BN254(pair1.p.x, pair1.p.y); let (processed_pair2) = run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( - pair2.p, pair2.q.y0, pair2.q.y1 + pair2.p, pair2.q.y0, pair2.q.y1, ); // Init sponge state == hades_permutation(int.from_bytes(b'MPCHECK_BN254_3P_2F', "big"), 0, 1) let (s0, s1, s2) = ( 0x716fcd6880324d6d3638aeb033dfab41310a98ce7aa8f44159a67f4a8a4fbc8, 0x68dc029639a62ca19056e890fb846e0b9c89926a0ba1371b79201a6563a0df6, - 0x45cdbfd4efe739304e9ec6744f6bdb99016ab57885cbe7e4c59108d2a649b + 0x45cdbfd4efe739304e9ec6744f6bdb99016ab57885cbe7e4c59108d2a649b, ); // Hash Inputs let (s0, s1, s2) = hashing::hash_G1G2Pair(pair0, s0, s1, s2); @@ -266,10 +266,10 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( let z: u384 = z_felt252.into(); // Precompute lambda root evaluated in Z: let ( - c_of_z, w_of_z, c_inv_of_z, LHS, c_inv_frob_1_of_z, c_frob_2_of_z, c_inv_frob_3_of_z + c_of_z, w_of_z, c_inv_of_z, LHS, c_inv_frob_1_of_z, c_frob_2_of_z, c_inv_frob_3_of_z, ): (u384, u384, u384, u384, u384, u384, u384) = run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( - mpcheck_hint.lambda_root, z, mpcheck_hint.w, mpcheck_hint.lambda_root_inverse, c_i + mpcheck_hint.lambda_root, z, mpcheck_hint.w, mpcheck_hint.lambda_root_inverse, c_i, ); // init bit for bn254 is 0: @@ -289,7 +289,7 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( c_i, z, c_inv_of_z, - LHS + LHS, ); let mut Q2 = _Q2; @@ -320,7 +320,7 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) }, 1 | @@ -335,9 +335,9 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( x0: pair2.q.x0, x1: pair2.q.x1, y0: processed_pair2.QyNeg0, - y1: processed_pair2.QyNeg1 + y1: processed_pair2.QyNeg1, }, - c_of_z + c_of_z, ), }; mpc::run_BN254_MP_CHECK_BIT10_3P_2F_circuit( @@ -373,9 +373,9 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( x0: pair2.q.x0, x1: pair2.q.x1, y0: processed_pair2.QyNeg0, - y1: processed_pair2.QyNeg1 + y1: processed_pair2.QyNeg1, }, - c_of_z + c_of_z, ), }; mpc::run_BN254_MP_CHECK_BIT01_3P_2F_circuit( @@ -398,9 +398,9 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( R_i_of_z, c_or_c_inv_of_z, z, - c_i + c_i, ) - } + }, }; Q2 = _Q2; LHS = _LHS; @@ -434,7 +434,7 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( c_inv_frob_3_of_z, LHS, f_i_of_z, - mpcheck_hint.big_Q + mpcheck_hint.big_Q, ); // Checks that LHS = Q(z) * P_irr(z) @@ -444,7 +444,7 @@ fn multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( let (s0, s1, s2) = hashing::hash_E12D_u288(precomputed_miller_loop_result, s0, s1, s2); let (z, _, _) = hashing::hash_E12DMulQuotient_u288(small_Q, s0, s1, s2); let (check) = run_BN254_FP12_MUL_ASSERT_ONE_circuit( - *R_last, precomputed_miller_loop_result, small_Q, z.into() + *R_last, precomputed_miller_loop_result, small_Q, z.into(), ); u384_assert_zero(check); return true; @@ -504,19 +504,19 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( precomputed_miller_loop_result: E12D, mut lines: Span>, hint: MPCheckHintBLS12_381, - small_Q: E12DMulQuotient + small_Q: E12DMulQuotient, ) -> bool { assert!( hint.big_Q.len() == 105, - "Wrong Q degree for BLS12-381 3-Pairs Paring check, should be of degree 104 (105 coefficients)" + "Wrong Q degree for BLS12-381 3-Pairs Paring check, should be of degree 104 (105 coefficients)", ); assert!(hint.Ris.len() == 36, "Wrong Number of Ris for BLS12-381 3-Pairs Paring check"); let ( - processed_pair0, processed_pair1, processed_pair2 + processed_pair0, processed_pair1, processed_pair2, ): (BLSProcessedPair, BLSProcessedPair, BLSProcessedPair) = run_BLS12_381_MP_CHECK_PREPARE_PAIRS_3P_circuit( - pair0.p, pair1.p, pair2.p + pair0.p, pair1.p, pair2.p, ); // Init sponge state : @@ -538,7 +538,7 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( // Precompute lambda root evaluated in Z: let (conjugate_c_inv_of_z, w_of_z, c_inv_of_z_frob_1): (u384, u384, u384) = run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( - hint.lambda_root_inverse, z, hint.w + hint.lambda_root_inverse, z, hint.w, ); // init bit for bls is 1: @@ -560,7 +560,7 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( R_0_of_Z, c_i, z, - conjugate_c_inv_of_z + conjugate_c_inv_of_z, ); let mut Q2 = _Q2; @@ -592,7 +592,7 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) }, 1 => { @@ -636,9 +636,9 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) - } + }, }; Q2 = _Q2; LHS = _LHS; @@ -650,7 +650,7 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( // Checks that LHS = Q(z) * P_irr(z) let (check) = mpc::run_BLS12_381_MP_CHECK_FINALIZE_BLS_3P_circuit( - *R_last, c_i, w_of_z, z, c_inv_of_z_frob_1, LHS, f_i_of_z, hint.big_Q + *R_last, c_i, w_of_z, z, c_inv_of_z_frob_1, LHS, f_i_of_z, hint.big_Q, ); assert!(check == u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }, "Final check failed"); @@ -660,7 +660,7 @@ fn multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( let (s0, s1, s2) = hashing::hash_E12D_u384(precomputed_miller_loop_result, s0, s1, s2); let (z, _, _) = hashing::hash_E12DMulQuotient_u384(small_Q, s0, s1, s2); let (check) = run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit( - f_conjugate, precomputed_miller_loop_result, small_Q, z.into() + f_conjugate, precomputed_miller_loop_result, small_Q, z.into(), ); assert!(check == u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }); return true; diff --git a/src/src/lib.cairo b/src/src/lib.cairo index 0e6f5d51..cff6cda8 100644 --- a/src/src/lib.cairo +++ b/src/src/lib.cairo @@ -51,7 +51,7 @@ mod tests_lib { .done() .eval(modulus) { Result::Ok(outputs) => { outputs }, - Result::Err(_) => { panic!("Expected success") } + Result::Err(_) => { panic!("Expected success") }, }; assert_eq!(outputs.get_output(add), u384 { limb0: 2, limb1: 0, limb2: 0, limb3: 0 }); diff --git a/src/src/pairing_check.cairo b/src/src/pairing_check.cairo index 88f15fa0..c574af59 100644 --- a/src/src/pairing_check.cairo +++ b/src/src/pairing_check.cairo @@ -20,13 +20,13 @@ use garaga::circuits::multi_pairing_check::{ }; use garaga::circuits::extf_mul::{ run_BLS12_381_FP12_MUL_ASSERT_ONE_circuit, run_BN254_FP12_MUL_ASSERT_ONE_circuit, - run_BN254_EVAL_E12D_circuit, run_BLS12_381_EVAL_E12D_circuit + run_BN254_EVAL_E12D_circuit, run_BLS12_381_EVAL_E12D_circuit, }; use core::poseidon::hades_permutation; - +use core::circuit::u384; use garaga::definitions::{ - G1Point, G2Point, G1G2Pair, u384, u288, bn_bits, bls_bits, MillerLoopResultScalingFactor, E12D, - BNProcessedPair, BLSProcessedPair, G2Line, u384Serde, u288Serde + G1Point, G2Point, G1G2Pair, u288, bn_bits, bls_bits, MillerLoopResultScalingFactor, E12D, + BNProcessedPair, BLSProcessedPair, G2Line, u384Serde, u288Serde, }; use core::option::Option; use core::num::traits::One; @@ -38,20 +38,20 @@ use garaga::basic_field_ops::{compute_yInvXnegOverY_BN254, compute_yInvXnegOverY #[derive(Drop, Serde)] -struct MPCheckHintBN254 { - lambda_root: E12D, - lambda_root_inverse: E12D, - w: MillerLoopResultScalingFactor, - Ris: Span>, - big_Q: Array, +pub struct MPCheckHintBN254 { + pub lambda_root: E12D, + pub lambda_root_inverse: E12D, + pub w: MillerLoopResultScalingFactor, + pub Ris: Span>, + pub big_Q: Array, } #[derive(Drop, Serde)] -struct MPCheckHintBLS12_381 { - lambda_root_inverse: E12D, - w: MillerLoopResultScalingFactor, - Ris: Span>, - big_Q: Array, +pub struct MPCheckHintBLS12_381 { + pub lambda_root_inverse: E12D, + pub w: MillerLoopResultScalingFactor, + pub Ris: Span>, + pub big_Q: Array, } fn multi_pairing_check_bn254_2P_2F( @@ -80,10 +80,10 @@ fn multi_pairing_check_bn254_2P_2F( let z: u384 = z_felt252.into(); let ( - c_of_z, w_of_z, c_inv_of_z, LHS, c_inv_frob_1_of_z, c_frob_2_of_z, c_inv_frob_3_of_z + c_of_z, w_of_z, c_inv_of_z, LHS, c_inv_frob_1_of_z, c_frob_2_of_z, c_inv_frob_3_of_z, ): (u384, u384, u384, u384, u384, u384, u384) = run_BN254_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( - hint.lambda_root, z, hint.w, hint.lambda_root_inverse, c_i + hint.lambda_root, z, hint.w, hint.lambda_root_inverse, c_i, ); // init bit for bn254 is 0: @@ -100,7 +100,7 @@ fn multi_pairing_check_bn254_2P_2F( c_i, z, c_inv_of_z, - LHS + LHS, ); let mut LHS = _lhs; @@ -129,7 +129,7 @@ fn multi_pairing_check_bn254_2P_2F( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) }, 1 | @@ -212,7 +212,7 @@ fn multi_pairing_check_bn254_2P_2F( c_inv_frob_3_of_z, LHS, f_i_of_z, - hint.big_Q + hint.big_Q, ); assert!(check == u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }, "Final check failed"); @@ -222,7 +222,7 @@ fn multi_pairing_check_bn254_2P_2F( } fn multi_pairing_check_bls12_381_2P_2F( - pair0: G1G2Pair, pair1: G1G2Pair, mut lines: Span>, hint: MPCheckHintBLS12_381 + pair0: G1G2Pair, pair1: G1G2Pair, mut lines: Span>, hint: MPCheckHintBLS12_381, ) -> bool { usize_assert_eq(hint.big_Q.len(), 81); usize_assert_eq(hint.Ris.len(), 36); @@ -250,7 +250,7 @@ fn multi_pairing_check_bls12_381_2P_2F( // Precompute lambda root evaluated in Z: let (conjugate_c_inv_of_z, w_of_z, c_inv_of_z_frob_1): (u384, u384, u384) = run_BLS12_381_MP_CHECK_PREPARE_LAMBDA_ROOT_circuit( - hint.lambda_root_inverse, z, hint.w + hint.lambda_root_inverse, z, hint.w, ); // init bit for bls is 1: @@ -268,7 +268,7 @@ fn multi_pairing_check_bls12_381_2P_2F( R_0_of_Z, c_i, z, - conjugate_c_inv_of_z + conjugate_c_inv_of_z, ); let mut LHS = _lhs; @@ -297,7 +297,7 @@ fn multi_pairing_check_bls12_381_2P_2F( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) }, 1 => { @@ -316,7 +316,7 @@ fn multi_pairing_check_bls12_381_2P_2F( R_i_of_z, conjugate_c_inv_of_z, z, - c_i + c_i, ) }, _ => { @@ -334,9 +334,9 @@ fn multi_pairing_check_bls12_381_2P_2F( f_i_of_z, R_i_of_z, z, - c_i + c_i, ) - } + }, }; LHS = _LHS; f_i_of_z = R_i_of_z; @@ -345,7 +345,7 @@ fn multi_pairing_check_bls12_381_2P_2F( let R_last = Ris.pop_front().unwrap(); let (check,) = run_BLS12_381_MP_CHECK_FINALIZE_BLS_2P_circuit( - *R_last, c_i, w_of_z, z, c_inv_of_z_frob_1, LHS, f_i_of_z, hint.big_Q + *R_last, c_i, w_of_z, z, c_inv_of_z_frob_1, LHS, f_i_of_z, hint.big_Q, ); assert!(check == u384 { limb0: 0, limb1: 0, limb2: 0, limb3: 0 }, "Final check failed"); diff --git a/src/src/single_pairing_tower.cairo b/src/src/single_pairing_tower.cairo index 04bfbc52..00e8732e 100644 --- a/src/src/single_pairing_tower.cairo +++ b/src/src/single_pairing_tower.cairo @@ -1,32 +1,32 @@ -use garaga::definitions::{u384, U384One, U384Zero}; +use garaga::definitions::{u384}; use core::num::traits::{One, Zero}; use garaga::definitions::{G1Point, G2Point, BNProcessedPair}; use garaga::circuits::multi_pairing_check::{ - run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit, run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit + run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit, run_BLS12_381_MP_CHECK_PREPARE_PAIRS_1P_circuit, }; use garaga::circuits::tower_circuits as tw; use garaga::circuits::tower_circuits::{ run_BN254_TOWER_MILLER_BIT0_1P_circuit, run_BN254_TOWER_MILLER_BIT1_1P_circuit, - run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit, run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit + run_BLS12_381_TOWER_MILLER_BIT0_1P_circuit, run_BLS12_381_TOWER_MILLER_BIT1_1P_circuit, }; use garaga::basic_field_ops::compute_yInvXnegOverY_BLS12_381; use garaga::ec_ops_g2::G2PointTrait; // Fp12 tower struct. #[derive(Drop, Copy, Debug, PartialEq)] -struct E12T { - c0b0a0: u384, - c0b0a1: u384, - c0b1a0: u384, - c0b1a1: u384, - c0b2a0: u384, - c0b2a1: u384, - c1b0a0: u384, - c1b0a1: u384, - c1b1a0: u384, - c1b1a1: u384, - c1b2a0: u384, - c1b2a1: u384, +pub struct E12T { + pub c0b0a0: u384, + pub c0b0a1: u384, + pub c0b1a0: u384, + pub c0b1a1: u384, + pub c0b2a0: u384, + pub c0b2a1: u384, + pub c1b0a0: u384, + pub c1b0a1: u384, + pub c1b1a0: u384, + pub c1b1a1: u384, + pub c1b2a0: u384, + pub c1b2a1: u384, } impl E12TOne of One { @@ -58,7 +58,7 @@ pub fn miller_loop_bn254_tower(P: G1Point, Q: G2Point) -> (E12T,) { let bits = bn_bits.span(); let (processed_pair): (BNProcessedPair,) = run_BN254_MP_CHECK_PREPARE_PAIRS_1P_circuit( - P, Q.y0, Q.y1 + P, Q.y0, Q.y1, ); let mut Mi: E12T = E12TOne::one(); @@ -68,12 +68,12 @@ pub fn miller_loop_bn254_tower(P: G1Point, Q: G2Point) -> (E12T,) { let (_Qi, _Mi) = match *bit { 0 => { run_BN254_TOWER_MILLER_BIT0_1P_circuit( - processed_pair.yInv, processed_pair.xNegOverY, Qi, Mi + processed_pair.yInv, processed_pair.xNegOverY, Qi, Mi, ) }, 1 => { run_BN254_TOWER_MILLER_BIT1_1P_circuit( - processed_pair.yInv, processed_pair.xNegOverY, Qi, Q, Mi + processed_pair.yInv, processed_pair.xNegOverY, Qi, Q, Mi, ) }, _ => { @@ -82,9 +82,9 @@ pub fn miller_loop_bn254_tower(P: G1Point, Q: G2Point) -> (E12T,) { processed_pair.xNegOverY, Qi, G2Point { - x0: Q.x0, x1: Q.x1, y0: processed_pair.QyNeg0, y1: processed_pair.QyNeg1 + x0: Q.x0, x1: Q.x1, y0: processed_pair.QyNeg0, y1: processed_pair.QyNeg1, }, - Mi + Mi, ) }, }; @@ -93,7 +93,7 @@ pub fn miller_loop_bn254_tower(P: G1Point, Q: G2Point) -> (E12T,) { }; tw::run_BN254_TOWER_MILLER_FINALIZE_BN_1P_circuit( - Q, processed_pair.yInv, processed_pair.xNegOverY, Qi, Mi + Q, processed_pair.yInv, processed_pair.xNegOverY, Qi, Mi, ) } @@ -228,7 +228,7 @@ pub fn final_exp_bn254_tower(M: E12T) -> E12T { #[inline] pub fn fp12_conjugate(X: E12T, curve_id: usize) -> (E12T,) { let (b0a0, b0a1, b1a0, b1a1, b2a0, b2a1) = tw::run_FP6_NEG_circuit( - X.c1b0a0, X.c1b0a1, X.c1b1a0, X.c1b1a1, X.c1b2a0, X.c1b2a1, curve_id + X.c1b0a0, X.c1b0a1, X.c1b1a0, X.c1b1a1, X.c1b2a0, X.c1b2a1, curve_id, ); ( E12T { @@ -281,15 +281,15 @@ pub fn decompress_karabina_bls12_381(X: E12T) -> (E12T,) { let (t0a0, t0a1, t1a0, t1a1) = match (X.c1b2a0.is_zero() && X.c1b2a1.is_zero()) { true => { let (t0a0, t0a1) = tw::run_BLS12_381_E12T_DECOMP_KARABINA_I_Z_circuit( - X.c0b1a0, X.c0b1a1, X.c1b2a0, X.c1b2a1 + X.c0b1a0, X.c0b1a1, X.c1b2a0, X.c1b2a1, ); (t0a0, t0a1, X.c0b2a0, X.c0b2a1) }, false => { tw::run_BLS12_381_E12T_DECOMP_KARABINA_I_NZ_circuit( - X.c0b1a0, X.c0b1a1, X.c0b2a0, X.c0b2a1, X.c1b0a0, X.c1b0a1, X.c1b2a0, X.c1b2a1 + X.c0b1a0, X.c0b1a1, X.c0b2a0, X.c0b2a1, X.c1b0a0, X.c1b0a1, X.c1b2a0, X.c1b2a1, ) - } + }, }; if t1a0.is_zero() && t1a1.is_zero() { @@ -308,7 +308,7 @@ pub fn decompress_karabina_bls12_381(X: E12T) -> (E12T,) { X.c1b0a0, X.c1b0a1, X.c1b2a0, - X.c1b2a1 + X.c1b2a1, ); ( @@ -337,26 +337,25 @@ pub fn expt_half_bls12_381_tower(M: E12T) -> (E12T,) { mut xc1b0a0, mut xc1b0a1, mut xc1b2a0, - mut xc1b2a1 + mut xc1b2a1, ) = ( - M.c0b1a0, M.c0b1a1, M.c0b2a0, M.c0b2a1, M.c1b0a0, M.c1b0a1, M.c1b2a0, M.c1b2a1 + M.c0b1a0, M.c0b1a1, M.c0b2a0, M.c0b2a1, M.c1b0a0, M.c1b0a1, M.c1b2a0, M.c1b2a1, ); - for _ in 0 - ..15_u32 { - let (_xc0b1a0, _xc0b1a1, _xc0b2a0, _xc0b2a1, _xc1b0a0, _xc1b0a1, _xc1b2a0, _xc1b2a1) = - tw::run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( - xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1 - ); - xc0b1a0 = _xc0b1a0; - xc0b1a1 = _xc0b1a1; - xc0b2a0 = _xc0b2a0; - xc0b2a1 = _xc0b2a1; - xc1b0a0 = _xc1b0a0; - xc1b0a1 = _xc1b0a1; - xc1b2a0 = _xc1b2a0; - xc1b2a1 = _xc1b2a1; - }; + for _ in 0..15_u32 { + let (_xc0b1a0, _xc0b1a1, _xc0b2a0, _xc0b2a1, _xc1b0a0, _xc1b0a1, _xc1b2a0, _xc1b2a1) = + tw::run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( + xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1, + ); + xc0b1a0 = _xc0b1a0; + xc0b1a1 = _xc0b1a1; + xc0b2a0 = _xc0b2a0; + xc0b2a1 = _xc0b2a1; + xc1b0a0 = _xc1b0a0; + xc1b0a1 = _xc1b0a1; + xc1b2a0 = _xc1b2a0; + xc1b2a1 = _xc1b2a1; + }; let t0c0b1a0 = xc0b1a0; let t0c0b1a1 = xc0b1a1; @@ -375,26 +374,25 @@ pub fn expt_half_bls12_381_tower(M: E12T) -> (E12T,) { mut xc1b0a0, mut xc1b0a1, mut xc1b2a0, - mut xc1b2a1 + mut xc1b2a1, ) = ( - xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1 + xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1, ); - for _ in 0 - ..32_u32 { - let (_xc0b1a0, _xc0b1a1, _xc0b2a0, _xc0b2a1, _xc1b0a0, _xc1b0a1, _xc1b2a0, _xc1b2a1) = - tw::run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( - xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1 - ); - xc0b1a0 = _xc0b1a0; - xc0b1a1 = _xc0b1a1; - xc0b2a0 = _xc0b2a0; - xc0b2a1 = _xc0b2a1; - xc1b0a0 = _xc1b0a0; - xc1b0a1 = _xc1b0a1; - xc1b2a0 = _xc1b2a0; - xc1b2a1 = _xc1b2a1; - }; + for _ in 0..32_u32 { + let (_xc0b1a0, _xc0b1a1, _xc0b2a0, _xc0b2a1, _xc1b0a0, _xc1b0a1, _xc1b2a0, _xc1b2a1) = + tw::run_BLS12_381_E12T_CYCLO_SQUARE_COMPRESSED_circuit( + xc0b1a0, xc0b1a1, xc0b2a0, xc0b2a1, xc1b0a0, xc1b0a1, xc1b2a0, xc1b2a1, + ); + xc0b1a0 = _xc0b1a0; + xc0b1a1 = _xc0b1a1; + xc0b2a0 = _xc0b2a0; + xc0b2a1 = _xc0b2a1; + xc1b0a0 = _xc1b0a0; + xc1b0a1 = _xc1b0a1; + xc1b2a0 = _xc1b2a0; + xc1b2a1 = _xc1b2a1; + }; let (t0) = decompress_karabina_bls12_381( E12T { @@ -410,7 +408,7 @@ pub fn expt_half_bls12_381_tower(M: E12T) -> (E12T,) { c1b1a1: M.c1b1a1, c1b2a0: t0c1b2a0, c1b2a1: t0c1b2a1, - } + }, ); let (mut t1) = decompress_karabina_bls12_381( @@ -427,22 +425,20 @@ pub fn expt_half_bls12_381_tower(M: E12T) -> (E12T,) { c1b1a1: M.c1b1a1, c1b2a0: xc1b2a0, c1b2a1: xc1b2a1, - } + }, ); let (mut result) = tw::run_BLS12_381_E12T_MUL_circuit(t0, t1); - for _ in 0 - ..9_u32 { - let (_t1) = tw::run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(t1); - t1 = _t1; - }; + for _ in 0..9_u32 { + let (_t1) = tw::run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(t1); + t1 = _t1; + }; let (result) = tw::run_BLS12_381_E12T_MUL_circuit(result, t1); - for _ in 0 - ..3_u32 { - let (_t1) = tw::run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(t1); - t1 = _t1; - }; + for _ in 0..3_u32 { + let (_t1) = tw::run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(t1); + t1 = _t1; + }; let (result) = tw::run_BLS12_381_E12T_MUL_circuit(result, t1); // 2 sq let (t1) = tw::run_BLS12_381_E12T_CYCLOTOMIC_SQUARE_circuit(t1); @@ -466,7 +462,7 @@ pub fn miller_loop_bls12_381_tower(P: G1Point, Q: G2Point) -> (E12T,) { let (TripleQ, c0b0a0, c0b0a1, c0b1a0, c0b1a1, c0b2a0, c0b2a1, c1b1a0, c1b1a1, c1b2a0, c1b2a1) = tw::run_BLS12_381_TOWER_MILLER_INIT_BIT_1P_circuit( - yInv, xNegOverY, Q + yInv, xNegOverY, Q, ); let mut Mi: E12T = E12T { @@ -498,139 +494,13 @@ pub fn miller_loop_bls12_381_tower(P: G1Point, Q: G2Point) -> (E12T,) { } -const bn_bits: [ - usize - ; 65] = [ - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 0, - 2, - 0, - 0, - 0, - 2, - 0, - 0, - 1, - 1, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 2, - 0, - 1, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 0, - 2, - 0, - 0, - 1, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 2, - 0, - 2, - 2, +const bn_bits: [usize; 65] = [ + 0, 2, 0, 1, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, 0, 0, 1, 1, 0, 0, 2, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 1, + 0, 0, 2, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 2, 0, 2, 2, 0, 0, 0, - 0, - 0 ]; -const bls_bits: [ - usize - ; 62] = [ - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 +const bls_bits: [usize; 62] = [ + 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; diff --git a/src/src/tests/msm_tests.cairo b/src/src/tests/msm_tests.cairo index a28b0980..f654f16c 100644 --- a/src/src/tests/msm_tests.cairo +++ b/src/src/tests/msm_tests.cairo @@ -6,27 +6,27 @@ mod msm_tests { #[test] fn test_msm_BN254_1P() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -34,7 +34,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -42,7 +42,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -53,9 +53,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -63,27 +63,27 @@ mod msm_tests { limb0: 0xb4b30030d604f094d3602296, limb1: 0xa0e983b28babaffaeaa2a062, limb2: 0x471c9e526d4e91e, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -92,7 +92,7 @@ mod msm_tests { fn test_msm_BN254_2P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -260,23 +260,23 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -284,7 +284,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -293,7 +293,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -302,7 +302,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -314,9 +314,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -324,15 +324,15 @@ mod msm_tests { limb0: 0x4438dbd4fc537b19aa9029a1, limb1: 0x71338662165803d1aeba36ff, limb2: 0x8463adc2f6b3ff5, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x75937bc3dba286ad2bd8fe5, limb1: 0x575d166325014e975405464f, limb2: 0x1437873db8d7dca1, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -342,37 +342,37 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x967d0cae6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x967d0cae6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -381,7 +381,7 @@ mod msm_tests { fn test_msm_BN254_3P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -548,7 +548,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -717,10 +717,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -728,42 +728,42 @@ mod msm_tests { limb0: 0x5b9b511a35490c4f05d6e4e7, limb1: 0xf11ec8642a0df9cb0b8f2cdd, limb2: 0x2b568cd4a3e221ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb45c3680d8359a0fdb47de6f, limb1: 0x4c17fe1c96f237095df8c737, limb2: 0x118fc0474955ac2b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x47bec5e5e1f295cdcd7689e9, limb1: 0xcb171283d651071401630545, limb2: 0xa401c0298cd5f83, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5d2831c05e61956d8725b57, limb1: 0x6bb84991518471727263fde0, limb2: 0x15e82f62ee3caf32, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xd15f8e23aaf3af13ab5ba169, limb1: 0xb0ff9631870f189040aec289, limb2: 0x1c77509b88d3bab7, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb620e3716b30b1003beab421, limb1: 0x1d6aad1137155249c5d4f785, limb2: 0xbf95d2db0be45f9, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -771,28 +771,28 @@ mod msm_tests { limb0: 0xbba74f84d6d3a3c60dc3cd41, limb1: 0xf36f80b4b1a3f69f44ab1b6a, limb2: 0x16adf9385577d09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3748a5201028055d851d0da, limb1: 0x7d4d0c483a8050c66e35c6e1, limb2: 0xe58ca0d31a6a8d2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa59f084b703ac17683ca07f9, limb1: 0x7f1a924087f5442a95a66068, limb2: 0x284cb90ec99aa375, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1c72c56de666104df8056a9f, limb1: 0x3b0db6cd914b52831fc41396, limb2: 0x1953864f49cc904c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -800,29 +800,29 @@ mod msm_tests { limb0: 0x36208c0885fb7058abddd334, limb1: 0x3db412a5e6005a05ab374adf, limb2: 0x2b398812b30eb292, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdf68dc78906c44847536a23d, limb1: 0xa6bbd9ceb18275da98d88a68, limb2: 0x11b898e607064ade, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f0aaf5b805720e403eddcdc, limb1: 0x11afb25fbfae966d38aea0d6, limb2: 0xc14f6e4a6a37797, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x712f22263ef5e91c488b0722, limb1: 0xbf68443cfd66208b1f0a2b4e, limb2: 0x19990ced3afb3faa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -830,34 +830,34 @@ mod msm_tests { limb0: 0x210edfad5881dc6bf8ec5f58, limb1: 0x3c354ff8e0cba98c03e7c606, limb2: 0x1d8c9c28e2545384, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95055f0bf55a751df0f89316, limb1: 0x652b61b3a2e6073c3af64fcc, limb2: 0x23080aa3e59e0cc4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9e36b036fbad71c308a43548, limb1: 0x5261fa4f1b50b2519194e556, limb2: 0x218c5e7ffb07ea5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc8285d3649f36c8f5daaa331, limb1: 0x3f053e816c7552d20ecadbc7, limb2: 0x2527827f86516567, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7b5fb11b84d5950d23c96fa4, limb1: 0xe2b051a2b9c1cc88b1d77617, limb2: 0x1edee19e79e4e9ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -865,49 +865,49 @@ mod msm_tests { limb0: 0xd17e0eff19b138dc529f7f0e, limb1: 0x487bac84aefe5d55d2a30b7a, limb2: 0x20e3fb5256c8d763, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x35c8cadc752441768726e970, limb1: 0x3be347b593060932330834a9, limb2: 0x4c57c3f33e14072, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d200e12810562ac0bc99694, limb1: 0x350f171f3f0bc347aa0be283, limb2: 0x243ee4adf3ea66c5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8ca5d60ca9c137fd484ee0c, limb1: 0xb4c53efdb300aebd952f7a7, limb2: 0x173c11f4a19d313f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdf68dc78906c44847536a240, limb1: 0xa6bbd9ceb18275da98d88a68, limb2: 0x11b898e607064ade, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f0aaf5b805720e403eddcdc, limb1: 0x11afb25fbfae966d38aea0d6, limb2: 0xc14f6e4a6a37797, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x712f22263ef5e91c488b0722, limb1: 0xbf68443cfd66208b1f0a2b4e, limb2: 0x19990ced3afb3faa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -915,7 +915,7 @@ mod msm_tests { limb0: 0x48c8946a24cb60456d420600, limb1: 0x9ed381bdd7c9eeb7bafa2d1, limb2: 0xa24e6a0b6a74206, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -925,48 +925,48 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x1521f387af19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x1521f387af19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -974,15 +974,15 @@ mod msm_tests { limb0: 0x21725fdb9f487676e547051, limb1: 0xc23930e4f96498a77a316418, limb2: 0x1244cb13309195ed, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6251c487cf0f5a44ac24a45b, limb1: 0xf1db336c10ce7fae206dd8dd, limb2: 0x1da9c56792006d76, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -991,7 +991,7 @@ mod msm_tests { fn test_msm_BN254_4P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -1159,7 +1159,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -1328,7 +1328,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -1496,10 +1496,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -1507,42 +1507,42 @@ mod msm_tests { limb0: 0x86e063fb7ec25be43b131a81, limb1: 0x93e844015403a8f7dfeb5c28, limb2: 0x174a5493e74a2d09, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x91ca263218101c0d60b53319, limb1: 0x581ed6a4a31cb7fd061d99c, limb2: 0x183999b303e135fd, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x5fb5769b3e3c1bee7a6b6b29, limb1: 0x280d5e368d6965bfb181f8, limb2: 0x2bc047bf3c906ee2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9f898b2cb0c81f1d4a2a4c9a, limb1: 0xb0c4c460d5242da7f633b58e, limb2: 0x2549f8d91404e768, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x8b78590174dbcc2cf125bf4b, limb1: 0xa8cd83cf722816e54bfa0fbb, limb2: 0x27b3d85c8cce1408, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfefa5a6be30e6517c9b94ab2, limb1: 0xfeb01666b69919f6d14354de, limb2: 0x272bba280082a072, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -1550,34 +1550,34 @@ mod msm_tests { limb0: 0x10653f25355172f2b59cbf35, limb1: 0x16204d144a204943c8017a47, limb2: 0x2822d209fec25092, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4cfca469f7a9822e50e36b5a, limb1: 0xc3f46941ddabaa8cbb689c42, limb2: 0x1374b756ad9c9440, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x98f11ef381dd5eb584ef514e, limb1: 0xb6d8e147457c8d1cd0921955, limb2: 0x265f23aa5e301d6e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd1e7b211d3dceb70a2774954, limb1: 0x265e66c92d517355fda266fb, limb2: 0xb4be994c3b86b76, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf9a9747f12dd5d02cd7c78ab, limb1: 0x1c5aa525d6badff4c4b8697a, limb2: 0x21d738a06dcecde0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -1585,35 +1585,35 @@ mod msm_tests { limb0: 0xa3fae32284a6972d7cb48e32, limb1: 0xa4e8d508356939ad6189656e, limb2: 0xf91cbdf43c143c1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x46697efd43932c85bddf65f3, limb1: 0xcc792d12aaaaaeade8e226fe, limb2: 0x27558e7858562ec9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1438f28b6b63d8d34f8201c7, limb1: 0x95965262c7f2fe8269f31bcf, limb2: 0x238630bc5b425bd8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5fef6b65cce65e0fc1bfedd7, limb1: 0x5de645663c9a80d910098353, limb2: 0x1121af8eb6730ea3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8dfb50dddbe4c02558da23e, limb1: 0xfcdd9dc3eeef382e73e86de, limb2: 0x29b726259cec4822, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -1621,40 +1621,40 @@ mod msm_tests { limb0: 0xb1ba457a40b838cc3935b303, limb1: 0x5880c0dde5efe6ff2fa10316, limb2: 0x19714f8ecee0a27, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x212c9ddbe1b486faef94b7e6, limb1: 0x9b3cf26fae656955c53ed091, limb2: 0x7b0ade90081f8a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc531edc6eb7c3ab58be56d3f, limb1: 0xab2dc1c0faf76c4238982240, limb2: 0x3f026d8f93ffbc9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6ea716efdb75d98c88481c9f, limb1: 0xc9d75f20c417032f04e98e61, limb2: 0x2088ba8374a047de, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdaac2161587237b0f39e4104, limb1: 0xd516f4267341e2a6802dc6df, limb2: 0x1b0ceeb10939ebe5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x135a19517a18d73b51553204, limb1: 0x41fb136ee3dd9ca2f24fad97, limb2: 0x2ce73a6d92a329f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -1662,55 +1662,55 @@ mod msm_tests { limb0: 0xebf0a9678df3c588761daa96, limb1: 0xeeba7f18a03bad08249c304b, limb2: 0x2eb5639dcb43cb44, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x258e7dd52786d6388a4374b, limb1: 0xf4cafbcafcfd5b4e8ba39fd8, limb2: 0x15380e83469f4c09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6bc74287c9ea724c3d8c0ac7, limb1: 0x50226bbb54d64acc0ed67e4a, limb2: 0x9c9f54f4f63d336, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5b575ac6af392545e9775a70, limb1: 0x64b5f8469b763dafa2484d7, limb2: 0x12928c1885e8cf82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37b33e7f286c6c48351154d8, limb1: 0xd2f1e983e2f3801dd8197be6, limb2: 0x134e15908b8626b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1438f28b6b63d8d34f8201ca, limb1: 0x95965262c7f2fe8269f31bcf, limb2: 0x238630bc5b425bd8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5fef6b65cce65e0fc1bfedd7, limb1: 0x5de645663c9a80d910098353, limb2: 0x1121af8eb6730ea3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8dfb50dddbe4c02558da23e, limb1: 0xfcdd9dc3eeef382e73e86de, limb2: 0x29b726259cec4822, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -1718,7 +1718,7 @@ mod msm_tests { limb0: 0x6b1128c39bc35c7a224a4682, limb1: 0x4152437e9909950bf363dd99, limb2: 0x129d1cec2df75972, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -1728,65 +1728,65 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x215ddba6dd84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x215ddba6dd84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -1794,15 +1794,15 @@ mod msm_tests { limb0: 0x788e687dfb0b523192cc5507, limb1: 0x6f7b3482a11f4cce1bffaf09, limb2: 0x225f8689ecb156c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2ccf8a4cb742cbcef2f9ac6a, limb1: 0x518ede2a1e12372316e8442b, limb2: 0x4ad79f70e4de756, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -1811,7 +1811,7 @@ mod msm_tests { fn test_msm_BN254_5P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -1979,7 +1979,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -2147,7 +2147,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -2317,7 +2317,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -2487,10 +2487,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -2498,42 +2498,42 @@ mod msm_tests { limb0: 0x1215cfdabc1a9d94d491fa6, limb1: 0x9a2bbced345afe10096255d4, limb2: 0x2c730d5048513cf4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xdccd7d1332b0ab061b07c2d5, limb1: 0x78730a5b144228c9719fbf76, limb2: 0x2a528b7c520ced1e, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xd2f5646235024a5ebeee0c53, limb1: 0x65a688208da4d6e8ccff3462, limb2: 0x1e8b2e50befc0633, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa5454397cdca0655ca358801, limb1: 0xb0c8a47cfae3cf6568e43398, limb2: 0x980adcbf9031a72, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xfbb7e02d851b3666500a6968, limb1: 0x5e4fa95998ffb5b8fdc5e5a3, limb2: 0x18df4fbaef6ba55e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb6251adab8660441d59570cd, limb1: 0x5c3cf27dcdf2119605e17d1e, limb2: 0x1959673cf91290e2, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -2541,40 +2541,40 @@ mod msm_tests { limb0: 0xc0962e9fea9107ac4eadb89a, limb1: 0xdd1fc09e147162c0dc6b6076, limb2: 0x1be58d528d2f5108, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x59ff34eed6d886c4eeb75d98, limb1: 0x92874120e3673f0f753c09a2, limb2: 0xe3526ac4a6cf159, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe0c30b1a9443c920b3f699d9, limb1: 0xe04bc2ec305df6959acd8967, limb2: 0x2804af226de93b8b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x96f53f0c29a053dd840ecd6a, limb1: 0x775c311d1d09764fa3eab906, limb2: 0xd1823d1505cb5ce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95028f8060af8f06d7c14a2a, limb1: 0x6f91fb7dea7080947ed8e4e7, limb2: 0x21f03565da5a29d8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2e472fd232a704ff94393d0a, limb1: 0xdff8f3890a414c29e5530c7e, limb2: 0x2ef73c5c221f42d8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -2582,41 +2582,41 @@ mod msm_tests { limb0: 0x8909106a50a6bce42ef51698, limb1: 0x9cf2189f4a233d7a028d7cc8, limb2: 0x22564908bec0fd6c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x291e81b998da269c98b9da4f, limb1: 0xa7984d1ccc721c692f595056, limb2: 0x14ebd14bd8cfd820, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a26c3bf6ec91b09256e75d0, limb1: 0x6e154ea918b5a49011dab0d4, limb2: 0x33ca9d7291d95ee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x606d216cd04b38a8b9f0b224, limb1: 0xac5b1dd8ade1180328de9d2d, limb2: 0x13515ac56c197093, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x829a82f04a7dce55e3595f15, limb1: 0x2c84b7839c63f25994c2c29e, limb2: 0x831cf30e0a496f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x44e1530bf9fa0d06fa3da68e, limb1: 0x3a14925d79e004581c768140, limb2: 0x1617fb16aa3f5938, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -2624,46 +2624,46 @@ mod msm_tests { limb0: 0xf1e5de7959cabcac4bd1fb06, limb1: 0x6961a30bc48c862af6f7c412, limb2: 0x563636eb2b6a7e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x99ef76d4ee676aafa0b716ec, limb1: 0x84e0629eac35d8b48e02e34a, limb2: 0x1de8f95f70db1409, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xba4e0eced51a8135ea38671b, limb1: 0x9403b694922d0e91bf3dac46, limb2: 0xa07cec3fbca5616, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd572bfc610959ae48909f536, limb1: 0x4e5e697aaf7da85546275856, limb2: 0x16ab2bc7729dcf84, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf6066d5dcd743081f1e991c3, limb1: 0xd532208fd45b76576450767a, limb2: 0x2890ce65a25936c3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x12777f4fc04f84fcb1f5b316, limb1: 0xe7f1188610448399f00614c2, limb2: 0x2ad8761a71a78473, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d186d50ca62e59e7bdf1375, limb1: 0x357601e095659bcd82c4b6aa, limb2: 0x2b6468aea78a8b99, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -2671,61 +2671,61 @@ mod msm_tests { limb0: 0xca379c2479b31e7edbe5493a, limb1: 0x6635be70db6707b2d8a5a136, limb2: 0x63a3e3479dfb7f2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x12e9ba9f8e6de7bef1b091a6, limb1: 0x3e78a19fe3d4fcddf68a8671, limb2: 0xe5f2570a93de838, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7e744b3e4c5b511b704b6170, limb1: 0x4a3febfb4a20edb03590127c, limb2: 0x9b5fd857b58c1cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x41deaa238567dac7844a2fbd, limb1: 0xe9b32c72d2452d25e5a7e9bf, limb2: 0x2be60ae621dbaefd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb0ee0a8a7853919e42c5f78e, limb1: 0x2d2673a7a19df375eda19831, limb2: 0x2d813ede7abd9d03, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9058f2562096b6073baa6c33, limb1: 0x6402c00b04d4593acfbcca03, limb2: 0x15204ca846aa016d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x606d216cd04b38a8b9f0b227, limb1: 0xac5b1dd8ade1180328de9d2d, limb2: 0x13515ac56c197093, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x829a82f04a7dce55e3595f15, limb1: 0x2c84b7839c63f25994c2c29e, limb2: 0x831cf30e0a496f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x44e1530bf9fa0d06fa3da68e, limb1: 0x3a14925d79e004581c768140, limb2: 0x1617fb16aa3f5938, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -2733,7 +2733,7 @@ mod msm_tests { limb0: 0xa7f80c2bad1efe5ace9a3724, limb1: 0x164062eae742a1a15ac5c0ad, limb2: 0x33600128099dad6, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -2743,82 +2743,82 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x215ddba6dd84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x215ddba6dd84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -2826,15 +2826,15 @@ mod msm_tests { limb0: 0x1be3d19366e9038cd4c11f40, limb1: 0x921c0380af1fdc292ec32108, limb2: 0xd5b8f6fe6d7a49e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x97f8a831e9109d39b5f5e61f, limb1: 0x9bd00e7770db28d735b2eb2d, limb2: 0x1184969b0d89cf02, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -2843,7 +2843,7 @@ mod msm_tests { fn test_msm_BN254_6P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -3010,7 +3010,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -3180,7 +3180,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -3350,7 +3350,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -3516,7 +3516,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -3682,10 +3682,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -3693,42 +3693,42 @@ mod msm_tests { limb0: 0x6371ce081b8ce6206c21ea36, limb1: 0x891d865f60363344d83cd30e, limb2: 0x1e45fbdabb7fda65, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4bfb4f3bcaf66904f932b2ee, limb1: 0x7fa53cd0a83fb17dcb8e0c2f, limb2: 0x269eda55517a4a8c, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x7f1434c306ff1aefd231b16a, limb1: 0x9bbeac99f5df73901feecb5a, limb2: 0x1606f0b25ffe65ba, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc88cf697720db2bc2f8ef153, limb1: 0xfdf6a73059a691ca8f13c215, limb2: 0x151d497cd99ea0e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x83f11476e962fb09b023113, limb1: 0xb788297ec21d559bb8717f6d, limb2: 0x1dc8de8fe1c90a2a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc33a84fc08f81f0446601ce2, limb1: 0x99cc2584c031031bde1d90a7, limb2: 0x9bff69e50752fd2, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -3736,46 +3736,46 @@ mod msm_tests { limb0: 0x1f6800297297e2706a996d58, limb1: 0xff253b7219770490dc33f09f, limb2: 0x2d60df73a7ff5ea4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfb331a4250a8fe3733e16e5f, limb1: 0x80f02de10f1711a57b174667, limb2: 0xa2835105b989835, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc44b7262f00cc0d125a3b269, limb1: 0x2cdeeb765bb67c6f8e081507, limb2: 0x9de18cd6ba2a54, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf10114f5c753909c1ff9d232, limb1: 0x51ecee0c4c7063cd6df48c20, limb2: 0xb9c9a066b8dac55, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x414567d2182afbe2a3f5c454, limb1: 0xf2e263a3cf81dd603ec7c8ba, limb2: 0x1e627905b07183f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc10f76f14d28efbabc138869, limb1: 0x332312f7309714223ef18fe4, limb2: 0x1ef5056069560c1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x15d256bcf92e465b1b8e7f1a, limb1: 0x1d65cd5035ad95122e8566ad, limb2: 0x429fae6b93e2b92, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -3783,47 +3783,47 @@ mod msm_tests { limb0: 0xdde653aef4edc0b23df8c360, limb1: 0xf6b827d1754ab42658f1d63, limb2: 0x10de1dfeed45cb5f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb64cb974e49cf326409a0454, limb1: 0xbafad1870520fb33ad1229d5, limb2: 0x739e7bbdbfcd45a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7b98dc91508e6796ea46340d, limb1: 0x7c4219b6c280dc19597deec7, limb2: 0x1a1175b05d722794, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x13624a6c64c29cd175cbef1f, limb1: 0xa66c9c36158f1ad12e508648, limb2: 0x28a94c933249a8ae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x526be32fa420b9dc58b545c9, limb1: 0x5a3706e4024c083446efeccc, limb2: 0x2ee0ac91beeed52f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37c46aede31e62f2897a236d, limb1: 0x61c4c2983e895f83415edafa, limb2: 0x1ad4b803086b51f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2425eaaa2ded932c861d6f43, limb1: 0xa345f9520b8da33bf713f909, limb2: 0x1bafce1fd044ad82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -3831,52 +3831,52 @@ mod msm_tests { limb0: 0xc46b91cd72f72db7a272e63e, limb1: 0x62e70855327678e820169275, limb2: 0x24086e0456567342, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x27d64169c9f5278e2d61eb10, limb1: 0xd969cdedd7a2a097be185eff, limb2: 0x1b4159aad335320b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa170f9750637b5194e5def41, limb1: 0x952ce3c18537efa990a2284b, limb2: 0x214efc8aad75ac8d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf98ea6011f7d73bbdc941687, limb1: 0x5a058fe66aeba87aa7a5c52b, limb2: 0x225954050284658a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3460e6cf7ce9d54c30bd28a9, limb1: 0x8b307157b29babe3d3efabb3, limb2: 0x1c89a2d3ec9d75bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcb98d035d561583ab5977cb5, limb1: 0xc511761e648b2397694ddb83, limb2: 0x11446c484c12a447, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab6311e9a22fadda231c4ac1, limb1: 0xe5d6aba112a1852459cb78aa, limb2: 0x76647aa0e5e7a7a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x310111a61e520665e459616d, limb1: 0xf1acad29ccc32229d9293c07, limb2: 0x474080e3d1abb2c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -3884,67 +3884,67 @@ mod msm_tests { limb0: 0x3141307fa2a8b5ffe16d4cd9, limb1: 0x75f241c0c47ca969992bed9a, limb2: 0x2360b89e69fc1f3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x22e62c5eadd6d972c1ce0cfc, limb1: 0x30f074950f62f19b07367d81, limb2: 0x15adb73393f67d10, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa58cb26b58aaaade6559ee0, limb1: 0xbc76076dc6013bee74f861c5, limb2: 0x1dd0129e3724d693, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x47299dd9aaf47ef8ee62962f, limb1: 0x9210cbb254ff4afac17ddb19, limb2: 0x2a1166d2c1bf8517, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x743b035c1c9d7c76c142ddda, limb1: 0xa0af150f87810ab7bb5db086, limb2: 0x2af02187534736b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5202884081a87840d5baa3c6, limb1: 0x30efd6127b1a49e7ee97aa93, limb2: 0x9c700d3b450dd2a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaef07550764a3e29572a425a, limb1: 0x1f9dfcbf353553c9e4899c40, limb2: 0x1af01a0ce0b470e3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x526be32fa420b9dc58b545cc, limb1: 0x5a3706e4024c083446efeccc, limb2: 0x2ee0ac91beeed52f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37c46aede31e62f2897a236d, limb1: 0x61c4c2983e895f83415edafa, limb2: 0x1ad4b803086b51f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2425eaaa2ded932c861d6f43, limb1: 0xa345f9520b8da33bf713f909, limb2: 0x1bafce1fd044ad82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -3952,7 +3952,7 @@ mod msm_tests { limb0: 0x8ccc3348f44642029be64298, limb1: 0xc8fbdc8b7c0520212303e58a, limb2: 0xb59ccca38fd2c5e, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -3962,99 +3962,99 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x5f82a8f03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -4062,15 +4062,15 @@ mod msm_tests { limb0: 0x6232f76d1d011305ffad839e, limb1: 0xdc9c1626e33ca312f6866ef5, limb2: 0x1afdce8cb49cbd06, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x676a2616d0a5cc8cd3f97dfe, limb1: 0xc365f945c60d9e98eba4b47f, limb2: 0x7cd8fbe21814343, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -4079,7 +4079,7 @@ mod msm_tests { fn test_msm_BN254_7P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -4248,7 +4248,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -4418,7 +4418,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -4584,7 +4584,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -4750,7 +4750,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -4920,7 +4920,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -5089,10 +5089,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -5100,42 +5100,42 @@ mod msm_tests { limb0: 0x59af36565c1efac9b6b3b0c8, limb1: 0xd202a7544a4c21525a696bed, limb2: 0xc99ad9fc303c7ec, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc1f5da0e1daf88157d248955, limb1: 0xb2196d0de28f51e498832523, limb2: 0x24cb8cc0be5e246, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x5261f134bed032ad816ad94e, limb1: 0x42f3df4dce48e9f74f28283e, limb2: 0x2a37fb1342d4c8c5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa61b98075efa711a6f5fc0c9, limb1: 0xc2b3c98a78e7b76bd071400e, limb2: 0x133ee7851b5663a2, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x2170fb18aae0c5f835df0094, limb1: 0x22ba17b351b75419720d3396, limb2: 0x1b337f538039bc4e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc0e1d5564f878e326178487c, limb1: 0x640055294748d0d051cf318, limb2: 0x25aaf44e4b931c9a, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -5143,52 +5143,52 @@ mod msm_tests { limb0: 0x9e17074b1f09d0884ff5f61c, limb1: 0xe684f852638f53dd6224a67d, limb2: 0x24dc800367c44f11, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdcfca2a2e19772d76fc1960, limb1: 0x14c513881168e47d3a46e58d, limb2: 0x16cca27e0a4096ef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d0618b4ceb291ce300986be, limb1: 0x814b5bf71ce097dba3c163a, limb2: 0x6b91714de3d9b96, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9ede4e334b0b021a60a474b7, limb1: 0x674aad2aa120b2fedef558e4, limb2: 0x22682ed250b211d0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd80fd7c00f6c269cd04e8809, limb1: 0x3daed7dcbfb57694ac7d435f, limb2: 0x17800bffba127c22, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe45f1d27ef65d266411476e5, limb1: 0x7e6f77d1be7b547e1d4aaba3, limb2: 0x6a9aa8b6ddde3cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x560f13e658919b7beb7d7d72, limb1: 0x6673fe012321d5a254e6c66f, limb2: 0x2c5be34abd19c6a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x748904a05644933cfd491115, limb1: 0xf13e60fb2247914d5318a4e6, limb2: 0x1e34ddc84731afd5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -5196,53 +5196,53 @@ mod msm_tests { limb0: 0xda923e93ac78b7f3eef47e43, limb1: 0xe6e2aba7f6bc18e0934c4659, limb2: 0xcdb21da2ac87e09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa93ebeb6061ea5b505c7c6a1, limb1: 0xc925ec60771e9e9a3988bcdc, limb2: 0x23e891f77da94d0b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf8bc71714e8fc521b3dd62ac, limb1: 0xd7813d179fa4e8b2ca1f1597, limb2: 0x6b22a7710c57121, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeb056348c09bda30aa2f211d, limb1: 0x663e20358011a5632567291c, limb2: 0x2f24b75acdfec5ae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x153a83a82c515c467a81e15c, limb1: 0xff13ed2a4c747f5d1d1df3a8, limb2: 0xe86c1218912f757, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x321b7fbd61c2ed8180fb7a9f, limb1: 0x640023b286eb75903e98d029, limb2: 0x2c030ce8728733ab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ca45e4b43e9b595cb8c503, limb1: 0xfe7a4c08a84f4f46d4be36c6, limb2: 0x1376a323cb8e5e75, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaa1a4f911a5997fde2f4da53, limb1: 0xa648424a73b1799e5be49cb4, limb2: 0x24d6b1a6d60cddd0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -5250,58 +5250,58 @@ mod msm_tests { limb0: 0x99c03c52c3ee9a6222efc8f1, limb1: 0xcd7ce9fb1c0ef49565467593, limb2: 0x51e4d765e09047d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xed7bd069f0596d791684b79d, limb1: 0xaefd453a13b4197804c635de, limb2: 0x1973f62c85bce623, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x983b4a781a9d0ec6fecc739e, limb1: 0x7ee50cd7420ebf7ec054f33, limb2: 0x1d92badcd011d90d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb28bf52465265f1290ff8cb1, limb1: 0xde63100973455e250761b07e, limb2: 0x1e092775b211d137, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf91ab859f9cca52e9c33874, limb1: 0x7e0f54cd5304a368cf6b7b17, limb2: 0x2ee901129e20bd6f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb3ca5b65aeeda9ccf95a954f, limb1: 0xe4f4914720edbaf57b4f5f23, limb2: 0x208783cb7c419e8d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2e21c5cc90fb46fee44e0a73, limb1: 0x4b8dc5e7cee3114d3c8fa1c7, limb2: 0x11ce5d8f87c82f3c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f03a37984c3a585c1227751, limb1: 0x574a4773c6dd8732c526ebfd, limb2: 0x250810168da91010, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1d6f4999933f75e62a90bcc9, limb1: 0xb87c27c868ee6c419b24c801, limb2: 0x16de2cb5d0ca8756, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -5309,73 +5309,73 @@ mod msm_tests { limb0: 0x8fb6bbbb056a27dbccdd7ac9, limb1: 0xb4a802f7e4344aa1b9e4d30d, limb2: 0x2691658e80597a1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2ad8a7079a1ad8f1605d5955, limb1: 0xead139b462592b137d976173, limb2: 0xaf11900b698a6cf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea355453ebaf4f651b982804, limb1: 0x8683b746deeeba185e5d40c7, limb2: 0x14167f6532505365, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x624d08c639eaa241640ae9c5, limb1: 0xf0ac3b24f26cfff13cfd81fc, limb2: 0x91c5c91f12fee97, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x807c7f214ef22e719cd06d6e, limb1: 0xe116e28dafac453f9612d43, limb2: 0x1f1886e937b092ea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe2b5b8efb97757885d5d7fb, limb1: 0x92e11cc2316498a856e6b0f0, limb2: 0x29f2b44aa5f7cbd0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2b809fdc6516940f0f5f7598, limb1: 0xf10c78e275fce27c749ef84c, limb2: 0x8c003e06e46a0bc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x42a5dd41031d0c12726675c7, limb1: 0x814c289ca4863b7d01c8f4a3, limb2: 0x1c42393048d65076, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x321b7fbd61c2ed8180fb7aa2, limb1: 0x640023b286eb75903e98d029, limb2: 0x2c030ce8728733ab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ca45e4b43e9b595cb8c503, limb1: 0xfe7a4c08a84f4f46d4be36c6, limb2: 0x1376a323cb8e5e75, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaa1a4f911a5997fde2f4da53, limb1: 0xa648424a73b1799e5be49cb4, limb2: 0x24d6b1a6d60cddd0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -5383,7 +5383,7 @@ mod msm_tests { limb0: 0x467fed2756c2e71d0ab85646, limb1: 0x69fedbca2db746192fd039ca, limb2: 0x27c79bdb538c2e9, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -5393,116 +5393,116 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x28045af9ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -5510,15 +5510,15 @@ mod msm_tests { limb0: 0x4815f311ce035dca5ba5d4b3, limb1: 0x355cbad6e3f995225dcddafe, limb2: 0xd4e1a60727a26ee, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x69a047d3e4390978eaec4be8, limb1: 0x8b6c81c3b87dbcd0eabbe064, limb2: 0x133e0b36d4bd3758, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -5527,7 +5527,7 @@ mod msm_tests { fn test_msm_BN254_8P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -5696,7 +5696,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -5862,7 +5862,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -6028,7 +6028,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -6198,7 +6198,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -6367,7 +6367,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -6535,7 +6535,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -6703,10 +6703,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -6714,42 +6714,42 @@ mod msm_tests { limb0: 0x418894d3edbedaff744a9ad6, limb1: 0x5181f9f97920dc2014bcbc38, limb2: 0x2c070c9e867eb4c8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc5da7e622da34792dd1b61c4, limb1: 0x5006d4491a49af5a8a57827a, limb2: 0x16312b08c4f0ad6, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xdc7831ec22d1ba4b8631d49c, limb1: 0x37fa415a673376abcbee5e2f, limb2: 0x1cb8180a67487e32, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc03c295c32d7e9f2f692e8cb, limb1: 0xb0f08526f9d1a241315c14a4, limb2: 0x11172da38b444b14, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x2bf3dbbd84cad39c035c3461, limb1: 0x190df0cefd9bd0c0dd050f79, limb2: 0x1208cf8e031d7589, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1f9019175f60e68bb163712c, limb1: 0xd2727dafb27fc9a16950c3f9, limb2: 0x1884d462729597e1, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -6757,58 +6757,58 @@ mod msm_tests { limb0: 0xdb20b19872322603eed02ede, limb1: 0xbff73eba34e23cb0c40a68be, limb2: 0x2e8d38e8f6c596fa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x255ed0804855c754f8ae7b13, limb1: 0xb1bed3013d2d96df90613829, limb2: 0x15ec800f96536a1e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x19eb9803408d551bd578b23f, limb1: 0x359aa1c0703e92be38e341a7, limb2: 0x153d3ea80dd00550, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79afcacdc6e5e22352ed4733, limb1: 0xbbdfc4ff782e3f1cbfe7f296, limb2: 0x4bac547da47c999, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f9d8eb177e9bdb53dfd8b85, limb1: 0xffdae742c59c3c873ccbd719, limb2: 0x2b3068496b8b2ac6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xabf4cfd21bc72e6943dd4735, limb1: 0x39c478a274eaa47befb59706, limb2: 0x139653dc1eadb0fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec9d1940d654011acae20088, limb1: 0x59dd5887204c5bf1b1952045, limb2: 0x21fe65030f5e298e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb58d23b4a6d75866d7b1ea1, limb1: 0x99385db837753a3d76118045, limb2: 0x2084bde83f5eb6c6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x33ac96e612adf9b3a2437e79, limb1: 0x9769723699f278056ba0d3c0, limb2: 0x1659074e8c3937cf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -6816,59 +6816,59 @@ mod msm_tests { limb0: 0xa0eda46b34f6db715a64ede9, limb1: 0xae613f412ebcf95557f866e6, limb2: 0x1c7278f1506c24f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc37aa6bbee0a2787b0adf9b6, limb1: 0x2c851e956ea05d9a62fd2956, limb2: 0x76a187852ad0ce9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf13d6e5e4da75bb1e76e13e9, limb1: 0xfa0c353f6b9d798bbfb66dbb, limb2: 0x1491d36b99795d1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9bc04f8c34eb85fa65ed74ff, limb1: 0xd75c5357a9d2ad2519f1807e, limb2: 0x12b1987e6f2b7c8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf0abd83fe6780a87d68001b5, limb1: 0x5ba290fd7bf4cd85abebab12, limb2: 0x136100fc327998ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfcfab0a974d90926dddd833b, limb1: 0xc8db9f700771580bdaad2a7d, limb2: 0x30492a4e9d6237ed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd97483535f3d2a0acc4fd117, limb1: 0xf154a3a57c5ebf3e861ab5e7, limb2: 0x11fe352c1f612d5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdda40bc2435508708f1f0211, limb1: 0xbfb9727f8e89cd80cc8bcc37, limb2: 0x147f6e81bb0929fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5dda0fdc2a77236bee5aa3e3, limb1: 0x48fed1a21617219b052887ae, limb2: 0x93d7aa1eb0cfe2e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -6876,64 +6876,64 @@ mod msm_tests { limb0: 0x90e58e61fc493b2e5044e53c, limb1: 0x5f8c4e6fd2c76cb25f94504f, limb2: 0x836344ab495ee25, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9abafc4ee4257bdcae63c2aa, limb1: 0xeea22c0eea595f3db62e55b9, limb2: 0x1284157b677f1092, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3958363d28862ecc8cdbfc50, limb1: 0xc9b8938d49e98bbc17ab8d9c, limb2: 0x774dd04615ee2d2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94c6aedfa47cf9c4b98e1dc0, limb1: 0x88007fa66f008dee04586b76, limb2: 0x13f6b55578fcbea6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9c486cf3441b27f20530d052, limb1: 0xa379146d461a8f53416e36fc, limb2: 0x2e788c57e65e06bf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x20476e485141d35e2c23e18c, limb1: 0x736c748c93e7a1ff871bd589, limb2: 0x70a21b3bd03f195, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ab7367e76321985ab37d8a4, limb1: 0x4cf390ba21ebae424e1d7be7, limb2: 0x2b3d36a8a7d44b4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e788649f186e66ff40f3d7, limb1: 0x2b642bc95d758c97a0726348, limb2: 0x1e0e1399150bbca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcd399986dc9757d7abe7aa60, limb1: 0x4002bf82bc4d6ad5bdf2ca2d, limb2: 0x87498f7d0057e22, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2576c04e10d9088d61d4c683, limb1: 0xf0237c04ae81f5417e6b5eaa, limb2: 0x20b0ce5b61241a83, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -6941,79 +6941,79 @@ mod msm_tests { limb0: 0x7a5722b462c4063d36b1cc74, limb1: 0x52d3780d0ab593a27067ca22, limb2: 0x24f31c611012ceb4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4a6ff433ca1e76971209ed22, limb1: 0x858f5bc04be118cf28f77c04, limb2: 0x163e4968f80726bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6b46808dacd586feddcd3e74, limb1: 0x35d45a07c1571445a7a1dea2, limb2: 0xd512bcfeb3a7730, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbbcc8829798e149b3b04f9f, limb1: 0x7c25f391aab3a8670e4b7dd1, limb2: 0x2422f3f9bcbcfa77, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d0c64ee6551bb085bb1018e, limb1: 0x871c8bd760fd6dcdcf3ebffe, limb2: 0x1128ccfa08e836c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaed820b2f7d0d2e1f78fa5c5, limb1: 0x2bae426bfd6d78968939ad81, limb2: 0x144066fece0b246a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbfac0ef916827803f25feafd, limb1: 0xf309f8919d6d928314c037a4, limb2: 0x1847e98fec1d6481, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x212630f9745697c2ab600aa1, limb1: 0xe27ea2c5a610ddaa7a0da529, limb2: 0x207afe0e82637676, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xae1715b0b81de753d070719d, limb1: 0xeb87ce9fc835647f52a556f7, limb2: 0x1b9d4bc17d57924e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd97483535f3d2a0acc4fd11a, limb1: 0xf154a3a57c5ebf3e861ab5e7, limb2: 0x11fe352c1f612d5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdda40bc2435508708f1f0211, limb1: 0xbfb9727f8e89cd80cc8bcc37, limb2: 0x147f6e81bb0929fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5dda0fdc2a77236bee5aa3e3, limb1: 0x48fed1a21617219b052887ae, limb2: 0x93d7aa1eb0cfe2e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -7021,15 +7021,15 @@ mod msm_tests { limb0: 0xf70f5c9c1e81c1abf964276d, limb1: 0x29d73c4ecc653f1bc0a3b485, limb2: 0x180ba5d532a64722, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x9a0b7e9672cd028db60d27c, limb1: 0xa29aed0c874b5fb241d6879a, limb2: 0x16ea55c73b93af77, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -7039,133 +7039,133 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xcfcdbfdb2056ff1a64bf1d47, limb1: 0xf26fe2dae9f693d9b4aab2e6, limb2: 0x12d66ad4802d841e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe6e34ebfa2e18dce86cadbdc, limb1: 0x7ce096238b3d4b1b8fba6a55, limb2: 0x2e0a660b1549800c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x2ebce25e3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -7173,15 +7173,15 @@ mod msm_tests { limb0: 0xbdfbeb670ad299c85a75d2a1, limb1: 0x29d72f624d254fed8651c723, limb2: 0x14a5e1343f78ddf9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x93b69c86323517fd9670a09, limb1: 0x33a8e540e7080d3df9bcd157, limb2: 0x5d2519d5a2f1c11, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -7190,7 +7190,7 @@ mod msm_tests { fn test_msm_BN254_9P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -7355,7 +7355,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -7521,7 +7521,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -7691,7 +7691,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -7860,7 +7860,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -8028,7 +8028,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -8196,7 +8196,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -8362,7 +8362,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -8531,10 +8531,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -8542,42 +8542,42 @@ mod msm_tests { limb0: 0xa6b594b9c0ebe6e2d5c987fd, limb1: 0xb18f44bcbf7029abe3604cfa, limb2: 0x3006e058116428ed, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xec0a4cdd625d7bddf3a18b7e, limb1: 0x5e6840a3b30b463c217747e3, limb2: 0x1aebd52c6fffda6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xe92a6fea872f7396099ac52b, limb1: 0x9de9ab9174c2f963c23693e1, limb2: 0x1ce0771a03bd8cc2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x90c700a1a9090b0a60f1d1da, limb1: 0xc3c9b935e0fdff720bfb55af, limb2: 0x17bba8638398a5ed, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x5a5ea46d8ca47ed7ef35d74e, limb1: 0x2a448bab2be37387efe2f1d4, limb2: 0x1b752d8d5aa67d55, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x256bf975eae93acf531cb328, limb1: 0x75063745e9c7d81689bb2393, limb2: 0x1529bae7125c7b74, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -8585,64 +8585,64 @@ mod msm_tests { limb0: 0x6e9a6d15f65c9cc485630e5c, limb1: 0x4088f4561ea75211545e52bc, limb2: 0x1e8209ec8bb31fba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x888d318ccb8acb34fd647ca, limb1: 0x4b6997c9317341c1f3a13652, limb2: 0x1347d78960e2277d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdb60f84e6000ae60c8ca0f8, limb1: 0x3c85abac1132010288151103, limb2: 0x195c25bef86544c5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf6e99a1e7c770d3ea95d66a, limb1: 0xa9b4731ff55ec53c652c4351, limb2: 0xa655b0f9654390a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc19bed39c31250c3c8e8419e, limb1: 0xa2b49fa84169e5c4bf74e405, limb2: 0x2bc77376bc47a553, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8218105cacb4d187b1a18a40, limb1: 0xc3eb01658d35dabf03f1a6df, limb2: 0x29a334f18f017a90, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x26ee6fc738774e39e3d71d6b, limb1: 0x102d0b0591dc3ceac11ca36, limb2: 0x1ac945b875cf8ed5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x355254c52da455fef462e8eb, limb1: 0xec452c09fea345f327c84459, limb2: 0x2214ba98ff73b227, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf4daf8ec92414d9c67f8ee50, limb1: 0x3f3c0cf193ec8b44142cae9c, limb2: 0x21da9a52bfea05c0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3c146b03952fd6b306ca9965, limb1: 0xec00f51db79d5eedd52fb19f, limb2: 0x29e7c84b8278c26f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -8650,65 +8650,65 @@ mod msm_tests { limb0: 0xbd0972e41a5710098fc754d6, limb1: 0x4caf08620784e52238869be8, limb2: 0x767421e61e5185a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5a62d7e7ebf1685268b39b1e, limb1: 0x93cb6087dff4ef50ef9f9bf8, limb2: 0x2a34375b2e22cd57, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x271cd58c80bdc898af0476ab, limb1: 0x9a3220b026afe249d4b69a66, limb2: 0x495a10349d05c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeb0ed8ecb73477711b4f76e2, limb1: 0x5442c855783425ad270c8c44, limb2: 0xd9306621b7f4015, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2862fc7524a7eb66fc509b24, limb1: 0xe567a8e79137b7788ffcd616, limb2: 0x257c22ec704f1cb1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9c965cccdd8ff06159685a41, limb1: 0x1b9e9c01e718f72646f5e15d, limb2: 0x29de1a0050cfe000, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x52ae6ba89e9c1533ea6ce01b, limb1: 0x4752bf9168f4fa8bb2af6fd, limb2: 0x342311497c3228d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf66939f33037c9d58c8e3a1c, limb1: 0xf4a3e843891ba0cf366ce8af, limb2: 0x13b379d302d4ddf6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa4a2b0f1709e21f24287111, limb1: 0x53c9406ffe0262e7ee4a316c, limb2: 0x1a88887d1d4295cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5324d02289da6ed390a75154, limb1: 0x3c4103b29b5fcc3fa35fd5d4, limb2: 0xab14bde43574ab1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -8716,70 +8716,70 @@ mod msm_tests { limb0: 0x58e80184f097546c55a27c6c, limb1: 0xed13ef338357396324fc039e, limb2: 0x4baae1c07f20b2d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9f8c3f9efe140e5e19d04d73, limb1: 0x9ac80350e62d8b42bc03d387, limb2: 0x28daad7dbd15e8d4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa572cc2c4c378fdf686c1649, limb1: 0x2526894109757d78b58668bd, limb2: 0x1ace0f952c42a6e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2117e1ae0bbdd5487c05cd8, limb1: 0xa66f4576861fff13a50444bb, limb2: 0x1c6ebf588be0d1c2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd2c82b1d0d74ef6e7ae0beca, limb1: 0x63bfe791fd4d9b9bdd640776, limb2: 0x2c0b6189a01a0fe6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa3fd0dbfc0d438f53f2c84c, limb1: 0x419de63d16e91fcd3b8c14a7, limb2: 0x21ef6ae77d367057, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9fc3e8554a279d151fcbd92a, limb1: 0x4e7691330dcbbe3332db7b5c, limb2: 0x3769f20d71faacd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e686a8d6bd6f2f4a19b1db8, limb1: 0x890bbd5bc9599f765d185c4b, limb2: 0x226225f734aa4b75, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9b5fc64dcb25565bb7dafb81, limb1: 0x97db0f4391af6e76456276d0, limb2: 0x1b6a604d0d22e98e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6799ecc0078fb5d6e83bee4, limb1: 0x5743a6569c9f9b18044b0945, limb2: 0x1be0782f0557fde1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9be70338bc68c73677200694, limb1: 0x36ac64c4a694d0d0c01817bf, limb2: 0x1fb8521e13f7583c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -8787,85 +8787,85 @@ mod msm_tests { limb0: 0x371c58ac4f05301caf55fe82, limb1: 0xe60d1926168eaf66a993d3ba, limb2: 0x1635c65b25af490e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3e44f29d4b9320c98920d6cc, limb1: 0x4ac1962a9cdc1d379fdbfec6, limb2: 0x1dd4092bc80527b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x755680a5823959ca0d0d6401, limb1: 0xce966210740fa6dd7e23cf32, limb2: 0xdc0e309dd71156, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7e35fdaa3ff4765ce1b5b97c, limb1: 0x4977616270215629adac40b7, limb2: 0x30205544b462d89a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9a366d9fa5878642d42e74b5, limb1: 0x1b118a1b0f180ca1d911de86, limb2: 0x97bb4c7db7b42f0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2bfc56d8a12c818f0a438ae0, limb1: 0x7c6d6948d8f817017a95695c, limb2: 0x1d1b0b2b64a96574, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe31a1be69308b70cda961733, limb1: 0x61a24c40bbe214a7588d713c, limb2: 0x1759999fe2c8a7bc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa32cdfc1792ebcd0c97e4c31, limb1: 0xb031bfbab0941889bc22594, limb2: 0x303241f2979c166d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea9148dfaa6c7e9114e7b2e6, limb1: 0xa659d1e4de1d6f22e2d1a07e, limb2: 0x18af1691e634610e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4c1cdc103c2b61ae9c62d417, limb1: 0xb9383710e8aeb467a54a787a, limb2: 0x235614af61c902a0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf66939f33037c9d58c8e3a1f, limb1: 0xf4a3e843891ba0cf366ce8af, limb2: 0x13b379d302d4ddf6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa4a2b0f1709e21f24287111, limb1: 0x53c9406ffe0262e7ee4a316c, limb2: 0x1a88887d1d4295cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5324d02289da6ed390a75154, limb1: 0x3c4103b29b5fcc3fa35fd5d4, limb2: 0xab14bde43574ab1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -8873,7 +8873,7 @@ mod msm_tests { limb0: 0x5fcbea8034f948c4ded1faf6, limb1: 0xd77b5392c419cd547e1c8e95, limb2: 0xed970dc629ac872, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -8883,150 +8883,150 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xcfcdbfdb2056ff1a64bf1d47, limb1: 0xf26fe2dae9f693d9b4aab2e6, limb2: 0x12d66ad4802d841e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe6e34ebfa2e18dce86cadbdc, limb1: 0x7ce096238b3d4b1b8fba6a55, limb2: 0x2e0a660b1549800c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd2dd03b29d58d045656ecf33, limb1: 0xeddac3cf7a123aae2180739b, limb2: 0x215bec6e0a03c924, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5201e51828eb11589d8619f, limb1: 0xa6563c760aa3a2c9d15af235, limb2: 0x7ed0c9b2e7811fb, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0xe30658b9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -9034,15 +9034,15 @@ mod msm_tests { limb0: 0xdf3ff4fda1d34c435588a830, limb1: 0x7f1179fec2ed6f794806a50f, limb2: 0x22b125f13beca47c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x63c0c46b42db23b6549f5c9e, limb1: 0xb85d08d5e7a2cceaf81de83d, limb2: 0x1dd2305533c8321c, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -9051,7 +9051,7 @@ mod msm_tests { fn test_msm_BN254_10P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -9216,7 +9216,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -9386,7 +9386,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -9555,7 +9555,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -9723,7 +9723,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -9891,7 +9891,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -10057,7 +10057,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -10226,7 +10226,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -10392,7 +10392,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -10560,10 +10560,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -10571,42 +10571,42 @@ mod msm_tests { limb0: 0x68bfb16794e5817b6b448ffe, limb1: 0x111b7282dbeffcce7b3f715, limb2: 0x246bed5ddc3c74a9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc91f291a147b3b57a00196a7, limb1: 0x8839341dbd54ad6d21e0e0ef, limb2: 0x18889d68d755b621, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x635439e16fcbfe5eeba3ecf3, limb1: 0x45b96bc19418f65e9d7aa491, limb2: 0x305fbc2daa6baee9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4368a16fa3c73077c4f3cd6, limb1: 0xd363f026c2e38686d22c3585, limb2: 0x291cf0bebd9202c1, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xb3b7d4349ed18bd82925ef84, limb1: 0x3cd4cdba2a8676b60e52962c, limb2: 0x2bc5ba2338a53b6c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x866ec014b98838760c368ee6, limb1: 0xfdaac7c202634518f73544ed, limb2: 0x2206a4deafdc7284, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -10614,70 +10614,70 @@ mod msm_tests { limb0: 0xaf7d125ec32f3ba4431d34de, limb1: 0x6f6e20dab8c0dd8932d8f416, limb2: 0x131f236e5a54f8f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c190fa7d984a10a336b8702, limb1: 0xf15a35d34520ad579fea9ca8, limb2: 0x29d11bbb968291f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xad49dd65067671eecbd328f4, limb1: 0xf99f002d460830ac3b9d4a06, limb2: 0x230469a97e1cf12b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x813040ff88b8392f4de91fa3, limb1: 0xe6aabfd5906788e0cf0847fb, limb2: 0x230c50b158c5bd02, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39fec5792abad9e7d5940278, limb1: 0xe00f7c3a3ea02095f9c013f5, limb2: 0xa187cc10921e90d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9de001b53b9d39940663a7f, limb1: 0x1436fe71dd83c7169a0f688c, limb2: 0xca18cdd95521457, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfb8d963e4a3b935a06a75e10, limb1: 0xbe59423894ed1450eb9b0d7a, limb2: 0x1f70ecd9cf661258, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd4904ee2748bbfd354abe64e, limb1: 0x43a70351700daf536df38af8, limb2: 0x216318598a21a0cc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3606d31e1682d1a58e068c5a, limb1: 0xc961b5b62212acd12cc2071, limb2: 0xf63cf2fea5176a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfeaab7486ca2d72c5619aad2, limb1: 0x821014ecbf475af3ad66b3ad, limb2: 0x2a560f4b5eaad07d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79e2452c302e3f47c9a8a5c3, limb1: 0xd7be1bb764e3bec0e530fbc, limb2: 0x2cf3882aa937b27b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -10685,71 +10685,71 @@ mod msm_tests { limb0: 0x4657b0ebee16dd56181b833, limb1: 0x4ae45fa6363575978ee85d8c, limb2: 0x1c4c473df9542fc3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x286b06a32b7399c2e855b3dc, limb1: 0x10b6ed16c7a46caa05c43a62, limb2: 0x26381abf7c928fb5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5e80814091b75c9539e9f5ed, limb1: 0xf9ebfe9bf47e7d04f15be012, limb2: 0x2eba43e70fad05c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3d9d5a6d0d12fec793934d59, limb1: 0xe906381cb5254093ca653bdf, limb2: 0x21b2197fa81de661, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf07de23476b4a3b887d78a06, limb1: 0xc465ce4bd051101ac3e236c5, limb2: 0x13d9cfe5bd03c3b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x85c99955212cb97badbd1ee6, limb1: 0x53bb40f728b999ff0f35ddaf, limb2: 0x3e6879ee587ba75, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe35d73f99e215c35c9d02de4, limb1: 0xcb98db2dec568868e5f1c4c1, limb2: 0x5ece7a4e72e7075, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf410ffec6570f047b7d48469, limb1: 0x37439bbbff8ebbdd0b914270, limb2: 0x13551edecfe046ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64b011628f66bcdd0ed7e8ac, limb1: 0x5987f609cf8cde7dcf38fab5, limb2: 0x129ff152124ba7b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeda08ed68e799589a61f9933, limb1: 0x430f9a4dbbe908b574cd7190, limb2: 0x19b09c080149debb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x62cec2278f875def236a8b50, limb1: 0x41047f4ad11ebba884867a57, limb2: 0x8a0491ff32a9050, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -10757,76 +10757,76 @@ mod msm_tests { limb0: 0x87a064e177fa6cdfff374b8c, limb1: 0xfff9f19724b56aafdd024032, limb2: 0x983b0db79c74404, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6156abc969464bffd55ccc7, limb1: 0x6d801d95e54a85a7615cdc5e, limb2: 0x309415d6d92169c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9eb0487ef56247ac74c1161, limb1: 0xb99afc1c75042badc372f1cd, limb2: 0x2a1919a9f6d080c0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1748cb45e2e4593ce47d95cd, limb1: 0x80487ac2813f1f92870145dc, limb2: 0xdf579d06b0776ba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9568400694c54fa02800834b, limb1: 0x46e49ddb516cb3675ffb418f, limb2: 0xc07475bc87d046f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x55c5208f6d4ce82cc69659b0, limb1: 0x5bcf66f7ceb8e092199638a5, limb2: 0x2aad8b2aca8af6aa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9c0ec7b6b30a9d2087709e6, limb1: 0xb863d12b618ffb1ac6e3f7ff, limb2: 0x25dabffb8491d6b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a6b5724aa6a48dde922fc1e, limb1: 0x422be8178679f65821626e35, limb2: 0x1b54f591aa000bfd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb54d6d8cffb7c0a0ea3546f8, limb1: 0xad443543cc62c5e9ac28fe40, limb2: 0x3fc20009db226be, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64585c6aa766dcda2a66105f, limb1: 0x46eb099328d5af08bb110388, limb2: 0x740549b430965e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3178402d4aa0406533e2df06, limb1: 0xcf47b3e982fadf26a6646e81, limb2: 0xe1fc8c46b7d18b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x65879edc94735271c8430a8a, limb1: 0xae233af91cbefd1cb4d45b00, limb2: 0x9e299a455e329d4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -10834,91 +10834,91 @@ mod msm_tests { limb0: 0xa4bea69f0083bd694c082b52, limb1: 0x285cd93c211f08691537ae12, limb2: 0x248087470acaef20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa85d7ecf0a19b51b08072106, limb1: 0xc1843bd753ea9542e249da03, limb2: 0x11dfb358b3546ecb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1b8183c1b52615bfadbde1c7, limb1: 0xedc3fbd3dd7b770ed413a037, limb2: 0x8c2ecbb52f07116, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec59f53b6dd951fe6b41a5b0, limb1: 0x95567c8f52a28697bf153c06, limb2: 0x2099f6d72f4aa295, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2901182617506cbecee25760, limb1: 0xed47cc8d3594ec3f22680991, limb2: 0xfced8af13a9a8b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xefdd4d3ff53d89084321529f, limb1: 0xf51dc1816eab4b021efd7920, limb2: 0xe9f3b1b2191ffbc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f43ebccab5687521886d9be, limb1: 0x938083eff8a78170e4b91f93, limb2: 0x31481fb7c779799, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x643f176c6ae6e878d6d819fa, limb1: 0xb1e05bc94d7beb544f149387, limb2: 0x1d74de0f4b72f796, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4b6802ef934063fc01c7dba3, limb1: 0xa802dd5e15dedd1ae55f633e, limb2: 0xb620d223b39116b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x43cd55f00d6d90bbe3b1fc36, limb1: 0xdc7764609e904a2bacd8aee3, limb2: 0x229a6d4a09da6c7d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1c7d466314070a1522142659, limb1: 0xfa51199c72eaeed69924b177, limb2: 0x2d35fa3ea95ff79d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64b011628f66bcdd0ed7e8af, limb1: 0x5987f609cf8cde7dcf38fab5, limb2: 0x129ff152124ba7b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeda08ed68e799589a61f9933, limb1: 0x430f9a4dbbe908b574cd7190, limb2: 0x19b09c080149debb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x62cec2278f875def236a8b50, limb1: 0x41047f4ad11ebba884867a57, limb2: 0x8a0491ff32a9050, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -10926,15 +10926,15 @@ mod msm_tests { limb0: 0xf68598a29ed4f5908a0ce3e0, limb1: 0x7c13f04bf820695fc6988663, limb2: 0x159c215cc697b53b, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x3d8d2155f32b2afd581e52ef, limb1: 0x3c6ae4ef100a84d6a4ca3d9b, limb2: 0x11d745ac5fb8e6cb, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -10944,167 +10944,167 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xcfcdbfdb2056ff1a64bf1d47, limb1: 0xf26fe2dae9f693d9b4aab2e6, limb2: 0x12d66ad4802d841e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe6e34ebfa2e18dce86cadbdc, limb1: 0x7ce096238b3d4b1b8fba6a55, limb2: 0x2e0a660b1549800c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd2dd03b29d58d045656ecf33, limb1: 0xeddac3cf7a123aae2180739b, limb2: 0x215bec6e0a03c924, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5201e51828eb11589d8619f, limb1: 0xa6563c760aa3a2c9d15af235, limb2: 0x7ed0c9b2e7811fb, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xc33ac21c67b06a9994457b4c, limb1: 0xa9aa5573bf7a92aab85366eb, limb2: 0x1a407281e1d92e91, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5a306649d971b115d71a78b1, limb1: 0xa70687a9b5132e26b2cfbb37, limb2: 0x2031920af5d6c9db, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x5d67b7072ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -11112,15 +11112,15 @@ mod msm_tests { limb0: 0x308fd6b45a63e49bf708e96, limb1: 0x9b97a3363c95c209e8fab620, limb2: 0x1ae699a4de6d9998, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6966fe3425872dc23fd55404, limb1: 0xa8be5375eb482c4e7d2ad043, limb2: 0x12572137d2078244, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -11129,7 +11129,7 @@ mod msm_tests { fn test_msm_BN254_11P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -11298,7 +11298,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -11467,7 +11467,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -11635,7 +11635,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -11803,7 +11803,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -11969,7 +11969,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -12138,7 +12138,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -12304,7 +12304,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -12472,7 +12472,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -12641,7 +12641,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -12810,10 +12810,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -12821,42 +12821,42 @@ mod msm_tests { limb0: 0x90b45d7a39843ae2cf8649e4, limb1: 0x4f3f05fe6a82257db5ef4638, limb2: 0x2e5317b879b4f67d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb5aec8ffa005f236cb86d08f, limb1: 0x7c11b27ce9c06cee3fa3793, limb2: 0x13abbc2cb5a70d04, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x6c7780a212a34f79a5a4984, limb1: 0xd2b9f43370853e82b6e280f3, limb2: 0x49098e1fef9ff1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf16e5ea4fa4507af42f9148f, limb1: 0x67e653350524a43c52475d47, limb2: 0x1ff99fb3e2fe4ead, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xc18d4af2d637781faf364b80, limb1: 0x43beee7449f92708853e95de, limb2: 0x3072f460ce59704, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1dddbd01de2320fae30a9244, limb1: 0xf6111cd106dc6a17348c4d58, limb2: 0xc922fcf80c6b390, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -12864,76 +12864,76 @@ mod msm_tests { limb0: 0xdaa07b8ea27df5d1897869ab, limb1: 0xc54cfbc31ef45543d8150b19, limb2: 0xbd0fab73eb85d0d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x34ccddfaf7b3ed235213dcab, limb1: 0xd44c1b1736d255429671ad73, limb2: 0x21a878cbd6b4b0cc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea4beeaf9a6c80a232bcb7c, limb1: 0x61df2bfedf4cf60173a01060, limb2: 0x10cafaf408f1feb4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x82c167316625a7c71992f944, limb1: 0x1297c4a01bed568ea8024c36, limb2: 0x15e5cfb62a197016, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3cbb929ea01eff89f7a7d264, limb1: 0x536189ed828464cba924402e, limb2: 0x1d63ba349b38c92e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa85430a52d73648889dec774, limb1: 0x82f33760c0aea35622a39e8f, limb2: 0xf131a326cccad50, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3b0b143c868d76090291fea, limb1: 0xfbf4ce4ddb3968b4515381c9, limb2: 0xc7eb57c34de5192, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb5ef5e7f9a0c505455748f4d, limb1: 0x2f03e3a14ef0257209cdf5c5, limb2: 0x14c6ea2d819a9191, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x542bf714c3ba733218bfc42d, limb1: 0xbfc0393702606c1b1925759, limb2: 0x3017d9c6d45c7119, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfb6db671319cae936cb97ee6, limb1: 0xa134730e601654d2f9df2df5, limb2: 0x51be0a515dcb23f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x74bd8d9913e9f913db684c80, limb1: 0x8c0641a00b734d0c44d981b8, limb2: 0x27e21e34a7c8df85, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5245d0fa49135afb2e9d9528, limb1: 0xe1549e6f5162fc621bf6b811, limb2: 0x2f9d4afbf992c91c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -12941,77 +12941,77 @@ mod msm_tests { limb0: 0xd406531fcfc930a8da2591f, limb1: 0x7a2a0e244b1042a04f820ea4, limb2: 0x2c2a21242f357f14, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39212c5b805d6d02fc128588, limb1: 0x752d1a1c891743ada97b81e3, limb2: 0x1b36bfa25b177de2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x631d827be967a2b6d92b01a3, limb1: 0x77965466ee60d2942e3ac977, limb2: 0x2efeed6528498957, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc1b739bffbe567911b00dbd9, limb1: 0x6de34c2d9b8b330ed4201f99, limb2: 0x2bbd58c828bf1ddc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x966426b62d820c84bc009043, limb1: 0x79fd779094c2189e76513033, limb2: 0x30374730630961c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa73c5d0fb756c9e673cb9f9, limb1: 0x747fb574c160541c61e4a47d, limb2: 0xb46ebbfc16228f1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7e7efb718864394098bc3db2, limb1: 0x6c88d9f47c549e1c60a8d0df, limb2: 0x1567cf53183200cc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x54c40c59c8eca86888da1c4d, limb1: 0xf6ee957be08f25764ac1b5c8, limb2: 0x1775414c829c052c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaac7b9996bac577258eb942c, limb1: 0xcdb642c2342ab601e6624514, limb2: 0x10ac61f1c8598fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1191df60919977f7a5bc5544, limb1: 0x2bef369b4095ecf2650b07c9, limb2: 0x29f678a0387dbac3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37710199f53b2af34a9437e6, limb1: 0x24984368bc304c5ad084a7a5, limb2: 0x24173b96ce0217c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc87bc7ffb5c4df50832dcf8e, limb1: 0xc6ac740037cc028da2540454, limb2: 0x15d9510e8ff821a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -13019,82 +13019,82 @@ mod msm_tests { limb0: 0x70c5ed0de13f7015a416f085, limb1: 0xc1d1c25f362c8d805cfbaf71, limb2: 0x23d5b3c77c8c2f20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb1726996ae2316b39a719f9, limb1: 0x4fe9cd6b54ad6b1aa7b396ad, limb2: 0x1f02dd17520f6e7f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x22501b7b623ea1614501ccbb, limb1: 0x30aa9870bf709f7fd14e65bd, limb2: 0xc502ae99bd0a484, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x983e9ed2c26a331fccc6755, limb1: 0xf52ffceb76113b3d8d0b4a31, limb2: 0x7a0c834e064b3ba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a2eea53a5ba3367b77d83e2, limb1: 0xbc1c163f3fa99038c93f79bf, limb2: 0x11eece5d709cfc86, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9cb401f315d26491728f8da6, limb1: 0x9b6bdbae00611d8c0841871c, limb2: 0xdc098398cf7cd6f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdc70a9ef6033c959d9ece67e, limb1: 0x1328d87e5aa260e4da44463, limb2: 0xa4e71a95fd93274, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x930f95dcfde08de3f9b0a87b, limb1: 0xe9f0b050d24677eadd7b93d1, limb2: 0xe64d906ad933a12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbfd540222d27a2c073a44e4a, limb1: 0x489ffd503b2abb17ea19f1ef, limb2: 0x20064a93c0cbd712, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc996baf343cc475b7043bf33, limb1: 0xf644323b86977747bb48aff2, limb2: 0x5c49f46056bd7a2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf4afa5e4e02cdd3337f72a6e, limb1: 0xaf71ee1f94a4548d13d98426, limb2: 0x2f577c3289c4b91b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3e29cdb8b5fffe9f33d7e4, limb1: 0x40e4abcf3b602887d9b63d0a, limb2: 0x645ad7894e3228b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9720ecd478a5cd4536d55133, limb1: 0x5bd670d4a398a39be295165c, limb2: 0x4e55fc3394e06cf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -13102,97 +13102,97 @@ mod msm_tests { limb0: 0x56dd9a7b7eb4a0f1f7ed10cf, limb1: 0xfddd9effde2e1725bf8356c9, limb2: 0x23b5c686cb3d3ce9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x42f1ba8544f7baf21bba9351, limb1: 0xa737089f19c472ab64f11b18, limb2: 0x213ff0743014d97d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5874f25943f5cff6da870a5b, limb1: 0xf62271c7c81fc7015bad8743, limb2: 0x2c342b49b6795bb2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1910b2ca3c4b2579552df4d5, limb1: 0x9ae32189992dd2b4055e2dbd, limb2: 0x1e35402405ddf82c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc2f840d65481ee4ca69d3e7c, limb1: 0xba34afaac2d9847045ead2c9, limb2: 0x1aafa9dae09ec2be, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a0709619fa75c7b36643247, limb1: 0x1cc52f0eb100768bbc674c5d, limb2: 0x206f62318b3e6402, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c5096fa1cd0fb25343b9a61, limb1: 0x42dd4e9e0d865ca8c717bd15, limb2: 0xb2c29dbaef1dfee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc3ccb6a91006ed90a594ea9c, limb1: 0xee28ac97336cd84627937c69, limb2: 0x15ce6e30287a30fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xacaf29d3e7a72f571ff767d, limb1: 0xdda27dbb5de07622150b73bb, limb2: 0xe673e1d16f2f3e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79df39eb88cefce3007a45a9, limb1: 0xc765aca2b9925bdac945a886, limb2: 0x21e4ddb1e165098, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a337c0d305d1114b79cc971, limb1: 0xf416d449121d59cb8d4cd795, limb2: 0x22f2572b2a3f0c25, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9bc9470b50da694d09f8058f, limb1: 0x696b590c5a0d654d35dce781, limb2: 0x12326ad7eb3c5dcf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1191df60919977f7a5bc5547, limb1: 0x2bef369b4095ecf2650b07c9, limb2: 0x29f678a0387dbac3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37710199f53b2af34a9437e6, limb1: 0x24984368bc304c5ad084a7a5, limb2: 0x24173b96ce0217c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc87bc7ffb5c4df50832dcf8e, limb1: 0xc6ac740037cc028da2540454, limb2: 0x15d9510e8ff821a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -13200,15 +13200,15 @@ mod msm_tests { limb0: 0x7ee07edccd5185fb30be9dcb, limb1: 0x199e43be870abb34b24b4c6, limb2: 0x76032cd35742b9b, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x6fa4dbf36a0761e2ddf07d4c, limb1: 0x9764947c15a86e1190692c84, limb2: 0x6b032fadf23f449, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -13218,184 +13218,184 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xcfcdbfdb2056ff1a64bf1d47, limb1: 0xf26fe2dae9f693d9b4aab2e6, limb2: 0x12d66ad4802d841e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe6e34ebfa2e18dce86cadbdc, limb1: 0x7ce096238b3d4b1b8fba6a55, limb2: 0x2e0a660b1549800c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd2dd03b29d58d045656ecf33, limb1: 0xeddac3cf7a123aae2180739b, limb2: 0x215bec6e0a03c924, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5201e51828eb11589d8619f, limb1: 0xa6563c760aa3a2c9d15af235, limb2: 0x7ed0c9b2e7811fb, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xc33ac21c67b06a9994457b4c, limb1: 0xa9aa5573bf7a92aab85366eb, limb2: 0x1a407281e1d92e91, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5a306649d971b115d71a78b1, limb1: 0xa70687a9b5132e26b2cfbb37, limb2: 0x2031920af5d6c9db, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x58a3cea1103f16402eb74c08, limb1: 0xdfefcd91df2f4295ec21e03a, limb2: 0x1150bcc09ac40007, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57ed7d356f91abcef751889f, limb1: 0x5c668cded3599c9af5a7e5fa, limb2: 0x2ccf74197cb9bc13, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x1f507980eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x119d0dd09466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x119d0dd09466e4726b5f5241f323ca74, }, u256 { - low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x2592a1c37c879b741d878f9f9cdf5a86 + low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x2592a1c37c879b741d878f9f9cdf5a86, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -13403,15 +13403,15 @@ mod msm_tests { limb0: 0x2f70823545198bb774dfb985, limb1: 0x363546466fd4c023b72f21aa, limb2: 0x2c5558596fa0905f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x50096f8b9d63643890d31c51, limb1: 0x9e514bcb711d8e6edd2033e2, limb2: 0x1436325ffa32a10, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -13420,7 +13420,7 @@ mod msm_tests { fn test_msm_BN254_12P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -13588,7 +13588,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -13756,7 +13756,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -13924,7 +13924,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -14090,7 +14090,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -14259,7 +14259,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -14425,7 +14425,7 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -14593,7 +14593,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -14762,7 +14762,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -14931,7 +14931,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -15098,7 +15098,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -15267,10 +15267,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -15278,42 +15278,42 @@ mod msm_tests { limb0: 0xc3a31070a7d9ebd554d3a065, limb1: 0xb9109b898885a0dc6fad5069, limb2: 0x1078e59157543192, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2f84df2e544b7106b7650ad5, limb1: 0xfbe6bc68eb7b3ce9d0921d3a, limb2: 0x1b6201f18ce1978b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x69e5b9c91819ad621d92f585, limb1: 0x1f4dce0d4ef79a593fca55f5, limb2: 0x2ab6b6fdf389efe1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc5045bbf844632ca4df04976, limb1: 0xbffb033e8ec5f6c914bf9cee, limb2: 0x2bde1f40aae349c3, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x160c2a4f26366c842c4fbc30, limb1: 0x721ae82df8c46c7080ac4d92, limb2: 0x21f7cd237e1c9b32, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2fd1353df407c3cde1804d5b, limb1: 0x1e4a97ad0ea11589cde85f6a, limb2: 0xf143fae3f3561cd, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -15321,82 +15321,82 @@ mod msm_tests { limb0: 0x55241f714dcf4b67b987f4a5, limb1: 0x352f234e9d8b499e8c3ef1f7, limb2: 0x7c10656dacdfdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3c3d4f88d7340be46893f23, limb1: 0xa48cc2c977b65663c8b9bcb6, limb2: 0x14a9ed07232efcdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e305783d377c71e4f2c65cf, limb1: 0x644c4b418a8a765dc4ff9010, limb2: 0x13007725fb52dd24, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5084f2be8e02844c64d14eca, limb1: 0x942a4f1e84babf96f932e96f, limb2: 0x6a73478d723677b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe50e5e320470c1519ea99381, limb1: 0x2bfd243b7f459407f74aaf90, limb2: 0x1256dfb34b1ae64e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa67ca1dbb377f015e575470, limb1: 0x8f619e72ce7936e06faf4595, limb2: 0x1b60d344801f66e8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9fdc2f13c1d72b9bc0ced27a, limb1: 0x1222c3262674c047841c47cb, limb2: 0x15f0f7b57fe1f9b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x586efd7b0ee7bd12e92f856b, limb1: 0x19b80a9e7b3184825af36202, limb2: 0x234967cb57696280, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1bf4dfbe24aae54e980f4d68, limb1: 0x39161a15c21266ea9c52df43, limb2: 0x2f1370df8a086d46, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa7a7a862134e67b40a885917, limb1: 0x56f445ba65d7c0cd6ad5c798, limb2: 0x11c64bd6e07968c2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbd8de30071aaa143c12554d5, limb1: 0xa80fa261d0050d84bae7d229, limb2: 0x68b944a2df2140a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9362af65372af80e9ad538a, limb1: 0x16c54fc05b7e70c1d36aa5cd, limb2: 0x11a2259d06557a0c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa525745f06b7c814d223ba3, limb1: 0x51af74f6df1603ac69c9c776, limb2: 0x25da23922ac82f4a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -15404,83 +15404,83 @@ mod msm_tests { limb0: 0xc67504fbbc340097b8394cf5, limb1: 0x82aee884d20cfd395f7af1ac, limb2: 0x1a49ea3de57fb294, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc895e2ab6e6665334d105f5e, limb1: 0x99dc7780d758adaaed4b0e20, limb2: 0xad16d8b5f039ed5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce951c84a2c59c31fca68bfa, limb1: 0x2d511a61b60939228c26beb0, limb2: 0x235d0cb882b94b61, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeaa671d78704e16def64c8e6, limb1: 0x4caf023bd4433ed509ac332e, limb2: 0x173cef661af54813, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce0fb29033f877a30f174fa9, limb1: 0x25a166893914f754bbb29187, limb2: 0xed6178bf1f72e22, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcbc4cefacfddca564fceb291, limb1: 0x1e0962b94fd4a677767fc12, limb2: 0x121a7d5b6f82f037, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1781ad0688c7abe6f53f5ed4, limb1: 0x4ad9e5cc07995f8f31347398, limb2: 0x4a10e95763dd144, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc93abaee99a61f53b85112d, limb1: 0xde86e5d2eb5352af5c27fed1, limb2: 0x2ef07047b13225e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6bfcd138d3b44e28bd49711, limb1: 0xb68f5efcd724352b0b8bf79f, limb2: 0x8b7ed7562c96d56, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x69fd548b8bd52650431e3525, limb1: 0x778815b21c7340ee9d54870f, limb2: 0x56816cfeac1235f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf45da46dd47f1587bdaedb08, limb1: 0x55df8ab732c7dba27f8f2a6, limb2: 0x18ff64bee85b2ed9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d90893ad2cbaaccbe7c1937, limb1: 0x2704fa7348ea70ad392191d8, limb2: 0x8448f6d3cbc7cdb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5c427025e72f64a5cecb9cbd, limb1: 0xe809cf5486134c1f896c919, limb2: 0x29921854df4f78fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -15488,88 +15488,88 @@ mod msm_tests { limb0: 0xea677ad22602654bd48b2083, limb1: 0x591e17981959d4ea70a3051e, limb2: 0x277621d45ad9bd17, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3541d037da592cb0633c4b3f, limb1: 0x40ccfa7849b39ce2462f0ef6, limb2: 0x18faa270f504c52e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94a88588ce0bcb9a7a644a05, limb1: 0xaf1ab0ae1aa5f256f574e034, limb2: 0x1b1729055acaeb25, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79c52bf10ea2d64010a5cffc, limb1: 0x2cc7d14b334eb968cdb6850f, limb2: 0xefb17a093402b71, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1b64204962a2c40e048e30f4, limb1: 0xa6581c0cca342943faef6737, limb2: 0x1e8e08fa23f54b24, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x29decb7c8572ce95c5687778, limb1: 0xe4fdc9cd2401c4f10fa8c1e1, limb2: 0x2db960118d650536, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd0642ba0896dcd947311f140, limb1: 0xe36aa96d903c1475d7db5fbb, limb2: 0x1efa122f9661807, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7687868fa8dcf2291421e3c5, limb1: 0x708cdfe67eb3f9699b3b53d5, limb2: 0x36a2f93d58844b4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x643ade0618ff65144dd23f21, limb1: 0xaa0b6a69961737aca0cabf27, limb2: 0x282f14bd7b1d67d2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe97b347a6716edb68e66c0fd, limb1: 0xc94fee89438058bc8ad4b344, limb2: 0x1fa74a628d5542ab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfb7cc2a57271d736931f9232, limb1: 0x8c03d59b0b05ad7a4cab268a, limb2: 0x203801a8f7c8cf12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc19f9febb60658d15d1346ea, limb1: 0x2120b309d4784764147de5f4, limb2: 0x217855d177178011, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x89ef90aa0c60b3a26ee5fda8, limb1: 0x3112808b52d0db2c57b9b936, limb2: 0x2f8fce05510a7670, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea275cd9804fe2004fbca2c0, limb1: 0x736dd7b9ee248045aab98c3a, limb2: 0x23ea925a5a65e2a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -15577,103 +15577,103 @@ mod msm_tests { limb0: 0xeaed4465f87b75b0502ee998, limb1: 0xcfbc73d7f4a59f4e86ef6a74, limb2: 0x1e797046cf4d7793, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x59c1a8024b332f99e7311e1a, limb1: 0xcd956682860a0900c7e12a62, limb2: 0x207448a21d0adc80, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9adbc073700fbc6844f9a960, limb1: 0x1752c3b81f18faac757166ef, limb2: 0x94e8943c5c8a1d0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1df68ff5152218caadeaaa60, limb1: 0xb06ba981cd55615ae4fe20a8, limb2: 0x2f9c69fd552deaa4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xca532fcece2f4005a1d95112, limb1: 0x5270656601163b4b88e15826, limb2: 0x6ef65bc53b78912, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc971bee7d63e6f1e1395a666, limb1: 0x7aa2972df37fbffb5add4857, limb2: 0x29483657f0107bdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x312b78eb215be522cf22e562, limb1: 0x2d3cb39feb0f5d829d498df7, limb2: 0x25201b267daebbe0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xba7555f53c65f93e382f8b5b, limb1: 0x984546de768ae64a09a64e46, limb2: 0xa7a7d0a61f8bf47, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x20043635778f98fdf34c77c4, limb1: 0x258eb3221a69e9e89a0be2f2, limb2: 0x2c4245bb97df383b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5579aaa92c471ed7be99fe43, limb1: 0xb17226e25cf3225b093208c6, limb2: 0x14d9530536813b62, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18c903ddeed68a5ec397a7b7, limb1: 0x7e00446841d61b22a51001a3, limb2: 0x1926019ea7e07218, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4f7168c4059e4548c748e2b6, limb1: 0x2b9e4e56b1e38732b6f0ad28, limb2: 0x21859bbd18fee3e8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xade10fe2c9223c13fe8710ce, limb1: 0x32696124f2942e7958160d38, limb2: 0x2155c2e8c64c4e00, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf45da46dd47f1587bdaedb0b, limb1: 0x55df8ab732c7dba27f8f2a6, limb2: 0x18ff64bee85b2ed9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d90893ad2cbaaccbe7c1937, limb1: 0x2704fa7348ea70ad392191d8, limb2: 0x8448f6d3cbc7cdb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5c427025e72f64a5cecb9cbd, limb1: 0xe809cf5486134c1f896c919, limb2: 0x29921854df4f78fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -15681,21 +15681,21 @@ mod msm_tests { limb0: 0x792dbdaa2d584aeb48b437da, limb1: 0xaa1be30232f57c8193dd2601, limb2: 0x678e6a64c106c81, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x970b349c842cb2ed5fa2f223, limb1: 0x49dee76f6d6e741377b89f6b, limb2: 0x261ef0ed6077e5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x24bbac76118942d6a70c05c2, limb1: 0xb6e3c2bf241f9a2ed272a053, limb2: 0x13ababe6aaee6ea8, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -15705,201 +15705,201 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x236ca9312dad3661a37f2d6f, limb1: 0x98424c01caad7592315715d1, limb2: 0x795b9fd941b23c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc7ab5834609a54b8993ffd79, limb1: 0xe81cd490528b814ca632aace, limb2: 0x2d9ff53d3009e6f7, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x163df40cafbf585ca5b2ab44, limb1: 0xb4752e4666c88dbbe23783a0, limb2: 0x1a801462ac9cb657, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xac9b557d7ca8625d957263c6, limb1: 0xdc6f75fa8339a78b998ae54a, limb2: 0x28683293b6494d9f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5c4f5dca0c973b7f70bfff9, limb1: 0x188c2afab11eef5d48ecda3c, limb2: 0xc2fed35d36c49f1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d7244ea10697ca42e2e066b, limb1: 0xfe18a519c7d68770dc48dbf9, limb2: 0x149bb528db998529, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xffc057151b06c496e6fdd440, limb1: 0x5a01bae0c7441f08c7af1cf9, limb2: 0x274e0e02529e6d26, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x65ceb8977413bc9798681ecb, limb1: 0x19ffb287b45234f0c28fd1a7, limb2: 0x28dbbd2f9267be76, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xcfcdbfdb2056ff1a64bf1d47, limb1: 0xf26fe2dae9f693d9b4aab2e6, limb2: 0x12d66ad4802d841e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe6e34ebfa2e18dce86cadbdc, limb1: 0x7ce096238b3d4b1b8fba6a55, limb2: 0x2e0a660b1549800c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd2dd03b29d58d045656ecf33, limb1: 0xeddac3cf7a123aae2180739b, limb2: 0x215bec6e0a03c924, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5201e51828eb11589d8619f, limb1: 0xa6563c760aa3a2c9d15af235, limb2: 0x7ed0c9b2e7811fb, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xc33ac21c67b06a9994457b4c, limb1: 0xa9aa5573bf7a92aab85366eb, limb2: 0x1a407281e1d92e91, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5a306649d971b115d71a78b1, limb1: 0xa70687a9b5132e26b2cfbb37, limb2: 0x2031920af5d6c9db, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x58a3cea1103f16402eb74c08, limb1: 0xdfefcd91df2f4295ec21e03a, limb2: 0x1150bcc09ac40007, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57ed7d356f91abcef751889f, limb1: 0x5c668cded3599c9af5a7e5fa, limb2: 0x2ccf74197cb9bc13, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x529118e291927516dfbcba2d, limb1: 0x440af959472c61e99aac7977, limb2: 0x218bbc79509b59ce, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x226044f7331ccf82af7afb39, limb1: 0xc1953da25a89d084dcfaea76, limb2: 0x1042fdc36b43dac3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x154bc8ce8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x2305d1699a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x144a7edf6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x21c38572fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x2b70369e16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x522c9d6d7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0xdc5dba1d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x119d0dd09466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x119d0dd09466e4726b5f5241f323ca74, }, u256 { - low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x2592a1c37c879b741d878f9f9cdf5a86 + low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x2592a1c37c879b741d878f9f9cdf5a86, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x1158af9fbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x1158af9fbb42e0b20426465e3e37952d, }, u256 { - low: 0x5f3f563838701a14b490b6081dfc8352, high: 0x1b45bb86552116dd2ba4b180cb69ca38 + low: 0x5f3f563838701a14b490b6081dfc8352, high: 0x1b45bb86552116dd2ba4b180cb69ca38, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -15907,15 +15907,15 @@ mod msm_tests { limb0: 0x5c3a06447a0996b0a92f9931, limb1: 0xbe6a2eedc8ef87e71e9ec66f, limb2: 0x226eea38486e086b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc880fabdc7f0d4cc409b1a40, limb1: 0x14008cf49435dbd34779e8, limb2: 0x2fd9b0fb62c9320e, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -15923,27 +15923,27 @@ mod msm_tests { #[test] fn test_msm_BLS12_381_1P() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -15951,7 +15951,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -15959,7 +15959,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -15970,9 +15970,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -15980,35 +15980,35 @@ mod msm_tests { limb0: 0x64c9ef86686ed7cb0fa42251, limb1: 0x17c282e8624e1788ff8fbc5b, limb2: 0x712b5be5bb66eb8f72af3c9c, - limb3: 0xc182b0f0e8d6cf017feeb4d + limb3: 0xc182b0f0e8d6cf017feeb4d, }, g_rhs_sqrt: array![ u384 { limb0: 0x5c35d2ca01541a34fb66d844, limb1: 0xda7b85c12db291e5c2c802b2, limb2: 0x5987ec0b8e681de8e6dd0e3c, - limb3: 0x1d4ef28e7e9c0cae8144b52 - } + limb3: 0x1d4ef28e7e9c0cae8144b52, + }, ] .span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -16017,7 +16017,7 @@ mod msm_tests { fn test_msm_BLS12_381_2P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -16186,23 +16186,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -16210,7 +16210,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -16219,7 +16219,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -16228,7 +16228,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -16240,9 +16240,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -16250,7 +16250,7 @@ mod msm_tests { limb0: 0xa9125be5f17f34ce6de5896b, limb1: 0x77ff67ddaf6b61c4088ee57a, limb2: 0xb4940789dbaf29c60e3ae417, - limb3: 0xbab38248ecf0eb99f06ac59 + limb3: 0xbab38248ecf0eb99f06ac59, }, g_rhs_sqrt: array![].span(), }; @@ -16260,37 +16260,37 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x12cfa194e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x12cfa194e6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -16299,7 +16299,7 @@ mod msm_tests { fn test_msm_BLS12_381_3P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -16466,7 +16466,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -16636,10 +16636,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -16647,42 +16647,42 @@ mod msm_tests { limb0: 0xf6a31a9a41fd0378150dc360, limb1: 0x7a355df87079a4cf4c78fd36, limb2: 0xbd92b81f9f87a14ded17256e, - limb3: 0x1259b26908470ad4f6be037c + limb3: 0x1259b26908470ad4f6be037c, }, y: u384 { limb0: 0xfbe2abbd7e05b561703438fe, limb1: 0x892d1cc404bcc0c000d206cf, limb2: 0x962b60138682dd48428b2a8d, - limb3: 0xa68b20ba71d8fde199d485b - } + limb3: 0xa68b20ba71d8fde199d485b, + }, }, Q_high: G1Point { x: u384 { limb0: 0x7c866be61fbaed5ef7d1122e, limb1: 0x7fed89acb87ce49d38175a6f, limb2: 0x30dbb6ee5876fa6873045668, - limb3: 0x60c4285948cc11859881060 + limb3: 0x60c4285948cc11859881060, }, y: u384 { limb0: 0x5a931aaa036da6ee08c49738, limb1: 0x1c92b3a560ce474174cfa275, limb2: 0xa4f783dad6c9da34040c6553, - limb3: 0x8d9752128e5b2be6254e2b - } + limb3: 0x8d9752128e5b2be6254e2b, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x663acbe46ab1edf9e0302ddb, limb1: 0x133eafb6b82660d39354a91b, limb2: 0xec9146f8b18f4ccfa8f938e, - limb3: 0x1127139158d2558af3ede6c1 + limb3: 0x1127139158d2558af3ede6c1, }, y: u384 { limb0: 0x2e2dc7b89be127d3eee7e15f, limb1: 0xb9b688b1096640c721587415, limb2: 0xd09f1d870e1c2d4e08674d2b, - limb3: 0x12308a0685f2c08876496459 - } + limb3: 0x12308a0685f2c08876496459, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -16690,28 +16690,28 @@ mod msm_tests { limb0: 0xeb35755831b8b274a72187ca, limb1: 0x619d73fdc8ca106f251bb23f, limb2: 0x83526e9a98267e300003744c, - limb3: 0x74e843f7fd9b3c1eb4f8a71 + limb3: 0x74e843f7fd9b3c1eb4f8a71, }, u384 { limb0: 0x263294ccc2a97ffb2ec76a8e, limb1: 0xd158f356f93267263354d7e2, limb2: 0x714889219b424296b85139b5, - limb3: 0xa8f3019b0a505d2ffd1caac + limb3: 0xa8f3019b0a505d2ffd1caac, }, u384 { limb0: 0xbf917add7208b045d906ff3f, limb1: 0xcd23d9673211a97506787efc, limb2: 0x7179e6dc54430c65b26530b3, - limb3: 0x17bb9453c160e11d98066ff9 + limb3: 0x17bb9453c160e11d98066ff9, }, u384 { limb0: 0xebd56ed5f538ae24aa8dc0e2, limb1: 0x3ba413917f065ec7e45c2721, limb2: 0xa9b1360228e4503e35364d2b, - limb3: 0x1301d2f14e9626ee2309422 + limb3: 0x1301d2f14e9626ee2309422, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -16719,29 +16719,29 @@ mod msm_tests { limb0: 0x9b4aac8938de0d6d29299aec, limb1: 0xed00b7c2b8d648ca0d5cb5bc, limb2: 0xa052f33dafe080f320f1ff8e, - limb3: 0xa83d431853448de44c440fa + limb3: 0xa83d431853448de44c440fa, }, u384 { limb0: 0xc5a014c4a628fb418afdc431, limb1: 0xff1bc5487dcfd4fac800f591, limb2: 0xf09802d0f98c9a1e7d8b3326, - limb3: 0x125f173ee992bebf294f042f + limb3: 0x125f173ee992bebf294f042f, }, u384 { limb0: 0xb9100f1617268243b95b9208, limb1: 0xb1f5e20e709d1d7cf3b2d087, limb2: 0x39c86f0b79ca465e49a95325, - limb3: 0x1269c9e792e7575a1b407349 + limb3: 0x1269c9e792e7575a1b407349, }, u384 { limb0: 0x2cb2b76ffc0a57eef2f100c5, limb1: 0x8c7ae8ef5688c4968d0ade85, limb2: 0xf0719994ff5b34265dca49d0, - limb3: 0x141860f0e8a032121ffd28c2 + limb3: 0x141860f0e8a032121ffd28c2, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -16749,34 +16749,34 @@ mod msm_tests { limb0: 0xda7bc5a089fc35de52b5ab6d, limb1: 0x374d31abeda2bc7d1fa3314b, limb2: 0xdc9b575368802cb064ea215d, - limb3: 0x586829f9bf69e05abd324e6 + limb3: 0x586829f9bf69e05abd324e6, }, u384 { limb0: 0xdf7cbeaa6d31e6304e21b449, limb1: 0x98191ab75477b88d9100a3b0, limb2: 0xaccec7142afafc55a16d5a5d, - limb3: 0x2145b524c0790e06e301e66 + limb3: 0x2145b524c0790e06e301e66, }, u384 { limb0: 0xc03bb07a666edb299db815a6, limb1: 0xfc9f8e6a16f220fde529492c, limb2: 0xa907065eb5bf6b0eb40cf236, - limb3: 0x1149cca478baba09dee1d533 + limb3: 0x1149cca478baba09dee1d533, }, u384 { limb0: 0x8e5d1fd64b21b819208b11ea, limb1: 0x66e777b31da1abe09cc24423, limb2: 0x426e7a0bf850c1501a08cee7, - limb3: 0x7dbacd73a097db82eaceab9 + limb3: 0x7dbacd73a097db82eaceab9, }, u384 { limb0: 0x7b6589cb116ffb6c5cd73707, limb1: 0xa62d2451aecbbdb4a8c8ed99, limb2: 0xca0de292aeae27f922326d89, - limb3: 0xd8a62ad9db2e6794979a947 + limb3: 0xd8a62ad9db2e6794979a947, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -16784,49 +16784,49 @@ mod msm_tests { limb0: 0xbbd6b225297935b4a4a6c105, limb1: 0x4cd20c69eca82d0416c6d6f3, limb2: 0x3e00201f5b0ab8479042eb7c, - limb3: 0x100e3edbdb513cdec7f55c34 + limb3: 0x100e3edbdb513cdec7f55c34, }, u384 { limb0: 0xb3d8531324a5ed062bf7bb6e, limb1: 0x2e0d6fe009dd67a2e2abd649, limb2: 0x3bc8b1951d43d1700f22a71d, - limb3: 0x157a3927334b2dc80f04c153 + limb3: 0x157a3927334b2dc80f04c153, }, u384 { limb0: 0x81983c58e89c090ee56ef2ca, limb1: 0xf975e2f7d51289ab91734221, limb2: 0x608a627f1e3a826f3f9b2717, - limb3: 0x15a503c9d89d9033d6ca7db8 + limb3: 0x15a503c9d89d9033d6ca7db8, }, u384 { limb0: 0x3a198a49fb0a6d28f4ee9dff, limb1: 0xe959e39d2ee678b7e5842fd5, limb2: 0x9836530b7fe76efdbd8bee92, - limb3: 0xce222367b355d57e365ece3 + limb3: 0xce222367b355d57e365ece3, }, u384 { limb0: 0xc5a014c4a628fb418afdc435, limb1: 0xff1bc5487dcfd4fac800f591, limb2: 0xf09802d0f98c9a1e7d8b3326, - limb3: 0x125f173ee992bebf294f042f + limb3: 0x125f173ee992bebf294f042f, }, u384 { limb0: 0xb9100f1617268243b95b9208, limb1: 0xb1f5e20e709d1d7cf3b2d087, limb2: 0x39c86f0b79ca465e49a95325, - limb3: 0x1269c9e792e7575a1b407349 + limb3: 0x1269c9e792e7575a1b407349, }, u384 { limb0: 0x2cb2b76ffc0a57eef2f100c5, limb1: 0x8c7ae8ef5688c4968d0ade85, limb2: 0xf0719994ff5b34265dca49d0, - limb3: 0x141860f0e8a032121ffd28c2 + limb3: 0x141860f0e8a032121ffd28c2, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -16834,7 +16834,7 @@ mod msm_tests { limb0: 0xdd789d7c02428dc60246d081, limb1: 0xc9de1388dd3a5eaff5de8784, limb2: 0x6eac6c37a0a90e65dd33fbc8, - limb3: 0x89f38f13155da73ef366afc + limb3: 0x89f38f13155da73ef366afc, }, g_rhs_sqrt: array![].span(), }; @@ -16844,48 +16844,48 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x2a43e70faf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x2a43e70faf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -16893,15 +16893,15 @@ mod msm_tests { limb0: 0x2b828af1f5fe30bbe7a1074a, limb1: 0x5669beaa69827b52dc874c9f, limb2: 0x648af2c24d82a5a758c96b8e, - limb3: 0x188bc245620ae6b6afec9dc3 + limb3: 0x188bc245620ae6b6afec9dc3, }, y: u384 { limb0: 0xdc96192f803ef92f56d59758, limb1: 0xfc6139925c05a030065d564, limb2: 0xb24447300bec56efec94dcf4, - limb3: 0x156f97e5d31055c0a5fe154d - } - } + limb3: 0x156f97e5d31055c0a5fe154d, + }, + }, ); } @@ -16910,7 +16910,7 @@ mod msm_tests { fn test_msm_BLS12_381_4P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -17079,7 +17079,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -17249,7 +17249,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -17418,10 +17418,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -17429,42 +17429,42 @@ mod msm_tests { limb0: 0xcf5bc4cf513273a64b43540a, limb1: 0x6613974b3587de6a0421a52b, limb2: 0x9f11261324f0125289a51c4, - limb3: 0x90308470b416ca1aff0c5e3 + limb3: 0x90308470b416ca1aff0c5e3, }, y: u384 { limb0: 0x3102ea48c94f20f4ccebc9c3, limb1: 0x4d6ae4a26c0e0350d12814d5, limb2: 0x2dc8ffb6c7db29c2dacd756a, - limb3: 0x9cf7dc9d86166897fb4c3ce - } + limb3: 0x9cf7dc9d86166897fb4c3ce, + }, }, Q_high: G1Point { x: u384 { limb0: 0x36952716073ad3a0784c804b, limb1: 0x925ddef3c85fe6d3a513b55f, limb2: 0xd670ae77446cb42ba15c358, - limb3: 0x1164ae8fe1dc44c74a1279b + limb3: 0x1164ae8fe1dc44c74a1279b, }, y: u384 { limb0: 0x83e4d47d929ded88adf56ff5, limb1: 0x45a6caccd5bc61c52fd977a9, limb2: 0xf2c35142e28cb439cb9f42e8, - limb3: 0x6cdaf0c31bac5372c41228e - } + limb3: 0x6cdaf0c31bac5372c41228e, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x36feccbcf8718c917cc04cd3, limb1: 0x4f3ced9cd8d2f9e58751adaa, limb2: 0xcf671555118dadc2f708f1ca, - limb3: 0x8619de3ffa219bbdfc07acc + limb3: 0x8619de3ffa219bbdfc07acc, }, y: u384 { limb0: 0xfd78095a60ed4f6c2023e653, limb1: 0x88a7c4412c34745f062cb8f1, limb2: 0xdb50e0b5ab8899e15fcc908b, - limb3: 0x1419343e534a2c7643769e8 - } + limb3: 0x1419343e534a2c7643769e8, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -17472,34 +17472,34 @@ mod msm_tests { limb0: 0x43a00827599bc871ec052095, limb1: 0x907735b0474cdfbd9390d604, limb2: 0x889b5bdff11ae2993129a716, - limb3: 0xe372a6f429fb24f3b9deae6 + limb3: 0xe372a6f429fb24f3b9deae6, }, u384 { limb0: 0x385e6104753a95acfe139495, limb1: 0x74df1cd8671d8327df93cf9d, limb2: 0xb8ea1142bab645e5a990dd79, - limb3: 0x10d92f59780bc557b755a053 + limb3: 0x10d92f59780bc557b755a053, }, u384 { limb0: 0xcbc698aeb485594d43e567d6, limb1: 0x2d57e9f6fbcb8f4153694dff, limb2: 0xac5158e9565ce000c634ba2, - limb3: 0x5094f041c205f3c3695a85a + limb3: 0x5094f041c205f3c3695a85a, }, u384 { limb0: 0x137442d577c99ccf464870ef, limb1: 0x3d642c3c20be1aa2050d3439, limb2: 0x66bc485c48c8613ba550b4ee, - limb3: 0xfc9ce51a31ec61dbbed9c + limb3: 0xfc9ce51a31ec61dbbed9c, }, u384 { limb0: 0xf614a35af5ed6b410a97ec33, limb1: 0x4b36373d59ba1d3d2f8827a0, limb2: 0xde4b3f4208f854c6bc31b7a5, - limb3: 0x131bb09f172cef7f4d2b7cc6 + limb3: 0x131bb09f172cef7f4d2b7cc6, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -17507,35 +17507,35 @@ mod msm_tests { limb0: 0xf6dbe3a230f7367f8b1c1175, limb1: 0xe976f0f71a8893db76d1e666, limb2: 0x2251d49fd76cf06a6c1aabb3, - limb3: 0xd613e96ca587c2c00940f68 + limb3: 0xd613e96ca587c2c00940f68, }, u384 { limb0: 0x24ca88ca77f97fd047cebbb3, limb1: 0xb66c98612e42f6fa469d0bc1, limb2: 0x2670232bd6612190dfeccaab, - limb3: 0x6671fa691f30f885a88565 + limb3: 0x6671fa691f30f885a88565, }, u384 { limb0: 0x1756c8bc75e505ea8da2c840, limb1: 0xe618b0bbc9c0212e2504def9, limb2: 0xad0ff64d30ce8b7794e76929, - limb3: 0x65627fb311b4ee0ef4193cd + limb3: 0x65627fb311b4ee0ef4193cd, }, u384 { limb0: 0x6ef0391091b40aa751cd4eb5, limb1: 0x7eb32afdfc7d049ecceaaff4, limb2: 0xa9151550836d48c1fcdb2ccb, - limb3: 0xea06515d280872e0099be8 + limb3: 0xea06515d280872e0099be8, }, u384 { limb0: 0xf9a13ba7c1034faf113dc74f, limb1: 0xf2b60a48c371e81ba98f2cfb, limb2: 0x5526884ac8d84a613fe36fee, - limb3: 0x19cd8432e0eb8098da1800cf + limb3: 0x19cd8432e0eb8098da1800cf, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -17543,40 +17543,40 @@ mod msm_tests { limb0: 0xf2ba59c8a815789212473586, limb1: 0x2f00a7dd448d61e14aa80546, limb2: 0xc73c42a891ec77f7078b204d, - limb3: 0x1d295a821fff16e352f04b4 + limb3: 0x1d295a821fff16e352f04b4, }, u384 { limb0: 0xfa8cb51c148d5c12fc38903, limb1: 0x541e5cfea2be5d679100a7fd, limb2: 0xbcdf8232793879015ff1c684, - limb3: 0x40ddbb67f91aeeb1a0c4ce6 + limb3: 0x40ddbb67f91aeeb1a0c4ce6, }, u384 { limb0: 0x4db9d221ee5d02905ffb7c3c, limb1: 0x3918238862bd821cd8b03e6e, limb2: 0x518f477beb6d4ddd0132cb8b, - limb3: 0x18d4717988c33aeec3cab94 + limb3: 0x18d4717988c33aeec3cab94, }, u384 { limb0: 0x711fed82af3085408e7e5de3, limb1: 0x99c3707d8d890c7bf3f76631, limb2: 0x12e60a5898f01f1d27fd876d, - limb3: 0x15b77932d15ecf8821a93f31 + limb3: 0x15b77932d15ecf8821a93f31, }, u384 { limb0: 0xf376ea6c76506fb9f0664910, limb1: 0x18e015d09e84f43622496178, limb2: 0x37325694d25fddfd0eba0973, - limb3: 0xc34b19dcf0d30d7fe62377a + limb3: 0xc34b19dcf0d30d7fe62377a, }, u384 { limb0: 0x2c8dc32fe764b8a9d7c0f22c, limb1: 0x8fe7965aee936a0f740951fd, limb2: 0xd8131ec40b90a5939d46936a, - limb3: 0x53a1e0725ff676f66b2244 + limb3: 0x53a1e0725ff676f66b2244, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -17584,55 +17584,55 @@ mod msm_tests { limb0: 0x78c78e894fded9fe2c70f07e, limb1: 0xd77a1e9a7cc063259def999e, limb2: 0x2aff8d094c52a9fc9608950, - limb3: 0x182d686b662237b6c18ee34 + limb3: 0x182d686b662237b6c18ee34, }, u384 { limb0: 0x932a2329dfe5ff411f3aeecc, limb1: 0xd9b26184b90bdbe91a742f04, limb2: 0x99c08caf598486437fb32aae, - limb3: 0x199c7e9a47cc3e216a21594 + limb3: 0x199c7e9a47cc3e216a21594, }, u384 { limb0: 0x5d5b22f1d79417aa368b2100, limb1: 0x9862c2ef270084b894137be4, limb2: 0xb43fd934c33a2dde539da4a7, - limb3: 0x19589fecc46d3b83bd064f36 + limb3: 0x19589fecc46d3b83bd064f36, }, u384 { limb0: 0xb29cc7e477c7611cd2514c49, limb1: 0xe4439cef0c7ca656aa7ca638, limb2: 0xc6a629e1e52213725f875ee1, - limb3: 0x110957dc3ef89df780ba7f0a + limb3: 0x110957dc3ef89df780ba7f0a, }, u384 { limb0: 0xf753776a4e09be8c8cc6d8ee, limb1: 0x4bb249a157f7b4fc90d5bfb4, limb2: 0xb1273dd0cc5c688704eb5229, - limb3: 0x19994d07404d7f8d0cb5917f + limb3: 0x19994d07404d7f8d0cb5917f, }, u384 { limb0: 0x1756c8bc75e505ea8da2c844, limb1: 0xe618b0bbc9c0212e2504def9, limb2: 0xad0ff64d30ce8b7794e76929, - limb3: 0x65627fb311b4ee0ef4193cd + limb3: 0x65627fb311b4ee0ef4193cd, }, u384 { limb0: 0x6ef0391091b40aa751cd4eb5, limb1: 0x7eb32afdfc7d049ecceaaff4, limb2: 0xa9151550836d48c1fcdb2ccb, - limb3: 0xea06515d280872e0099be8 + limb3: 0xea06515d280872e0099be8, }, u384 { limb0: 0xf9a13ba7c1034faf113dc74f, limb1: 0xf2b60a48c371e81ba98f2cfb, limb2: 0x5526884ac8d84a613fe36fee, - limb3: 0x19cd8432e0eb8098da1800cf + limb3: 0x19cd8432e0eb8098da1800cf, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -17640,15 +17640,15 @@ mod msm_tests { limb0: 0xa18a13bacab32867702ab75b, limb1: 0x795ac015c21f1cf4f8b9a159, limb2: 0x72bf60b2860e4052729bafb8, - limb3: 0xfa167d77bd8f62e17dd612 + limb3: 0xfa167d77bd8f62e17dd612, }, g_rhs_sqrt: array![ u384 { limb0: 0xa8c0f76621f85d0d5f09f3e4, limb1: 0xa2d8a1fb70981bd906551e4f, limb2: 0x2877f951cc18a5847f0e7c27, - limb3: 0xc32f38705bba10b41f82b8e - } + limb3: 0xc32f38705bba10b41f82b8e, + }, ] .span(), }; @@ -17658,65 +17658,65 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x42bbb74ddd84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x42bbb74ddd84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -17724,15 +17724,15 @@ mod msm_tests { limb0: 0x565ae56adf7b971b0ce04f43, limb1: 0x7605de48d1513332bde03447, limb2: 0x47735c7081fba830eb5d056, - limb3: 0x99dd8907656b77fed7fdbb9 + limb3: 0x99dd8907656b77fed7fdbb9, }, y: u384 { limb0: 0x7e2426bdb634f1fc715d795c, limb1: 0x3780edcc7f3bf5dbf54b578, limb2: 0x973c69d9a9020e1f731e4837, - limb3: 0x114a8f415fb1d913dce9456a - } - } + limb3: 0x114a8f415fb1d913dce9456a, + }, + }, ); } @@ -17741,7 +17741,7 @@ mod msm_tests { fn test_msm_BLS12_381_5P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -17910,7 +17910,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -18079,7 +18079,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -18250,7 +18250,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -18421,10 +18421,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -18432,42 +18432,42 @@ mod msm_tests { limb0: 0xdea3d29b941c3fb5cbc25237, limb1: 0xfbcee258725711ddcc5244cd, limb2: 0x8427cf86b2b4e87dc1bcedf0, - limb3: 0x3097f31bf3374aeb94e9072 + limb3: 0x3097f31bf3374aeb94e9072, }, y: u384 { limb0: 0x2fb2de48d175d46b4d6a8a62, limb1: 0x3d966f44bc76c71c6440295, limb2: 0xa6f92ab187673653adf893ea, - limb3: 0x15fcb11325512f233177dadb - } + limb3: 0x15fcb11325512f233177dadb, + }, }, Q_high: G1Point { x: u384 { limb0: 0x4f1283a626ca2f81d008485a, limb1: 0x154b9ef6dff2f05399ca2e07, limb2: 0x2088a09ff23167a4f3aa2f51, - limb3: 0x1781e1418d47ba07634516dc + limb3: 0x1781e1418d47ba07634516dc, }, y: u384 { limb0: 0x50bfae75765d8e333ecb160b, limb1: 0x5945c597e69f0d1f2ecc5bae, limb2: 0x39f690df90f400fd272ed676, - limb3: 0x12fb5e594fd1599c06811172 - } + limb3: 0x12fb5e594fd1599c06811172, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x9e11f638951f14b8f2a63e3b, limb1: 0x1fb27b0f87c6c4ad9f97a145, limb2: 0x130a5ad69b316efc22e0fb1d, - limb3: 0x159fbf045236ab12eff69042 + limb3: 0x159fbf045236ab12eff69042, }, y: u384 { limb0: 0xe95f45134f7a30f5197d33b0, limb1: 0x4a93f4c6c898a5b3e39f8222, limb2: 0xc6356fbe212f742a8efff2c1, - limb3: 0xc5483186a1a6014d2c67de9 - } + limb3: 0xc5483186a1a6014d2c67de9, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -18475,40 +18475,40 @@ mod msm_tests { limb0: 0x7b183ec0e445cfaeb9f61bb8, limb1: 0x274f99cae10877601eb9e625, limb2: 0xdaa5817871d8938564747cce, - limb3: 0x48e156a8bfd0373902d7dba + limb3: 0x48e156a8bfd0373902d7dba, }, u384 { limb0: 0xc4d346b03a56a14d6d87efc7, limb1: 0x15494c5b900ea98023110bd1, limb2: 0x8426bcc2848063b1d4ff2221, - limb3: 0xf8af96e33df3b51a7ee9685 + limb3: 0xf8af96e33df3b51a7ee9685, }, u384 { limb0: 0x24e2259114fb89d6ee96379b, limb1: 0xe3efbb7d3cd469495ced278, limb2: 0x990a6895c5964e2aa8b81cea, - limb3: 0x244ef55512915e78616e66b + limb3: 0x244ef55512915e78616e66b, }, u384 { limb0: 0xfd416a0e948ee90326a247ae, limb1: 0xc1bd084f496faf47901b7aaf, limb2: 0xe503ce50caea8c8e1a994a6a, - limb3: 0x15de3326601807ad63f4ac85 + limb3: 0x15de3326601807ad63f4ac85, }, u384 { limb0: 0xc37b349c6d3666d3d47bd73d, limb1: 0x568ab2879065ee51910285b0, limb2: 0xc48af392f075f37bff874199, - limb3: 0x15d1d9a19c63aea0b28d773e + limb3: 0x15d1d9a19c63aea0b28d773e, }, u384 { limb0: 0x66f78927b15979ff9e95611d, limb1: 0x987218e4cf0782a8df227f79, limb2: 0xc6d35a0a9857ccd6c2bb1fde, - limb3: 0x52c1e9445854f1937158825 + limb3: 0x52c1e9445854f1937158825, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -18516,41 +18516,41 @@ mod msm_tests { limb0: 0x38523a825cd6f8a61f0a2b85, limb1: 0xbbf5ee634edbf4080957e2b6, limb2: 0xf34df1994a7abb30b26d93b, - limb3: 0x570c8afa7c5838ac7fe3146 + limb3: 0x570c8afa7c5838ac7fe3146, }, u384 { limb0: 0x85f8ca21a87eb39b1c669d82, limb1: 0x97c1a53d378dece1800c97b5, limb2: 0xb95fa18b445a9ca2d6a51d26, - limb3: 0x1fac426ccff6b89147d0929 + limb3: 0x1fac426ccff6b89147d0929, }, u384 { limb0: 0x52637b09f71d2542e1fa4309, limb1: 0x7210c6efe7f44cecdbd8b3d, limb2: 0xa6cce729a63fd8c9d8dad669, - limb3: 0x1597d247a515b7046fd98cda + limb3: 0x1597d247a515b7046fd98cda, }, u384 { limb0: 0xa9d99ab53626c6f25978dd26, limb1: 0x71a9271f10be95f614d1c500, limb2: 0x23d3805538a1f81213d283fc, - limb3: 0x32fbcee987abeade0c81632 + limb3: 0x32fbcee987abeade0c81632, }, u384 { limb0: 0x5d1724e8c39779ecd1c922b5, limb1: 0x1b0d51aabf5939d77166a6, limb2: 0x5a74ace94b7bf543ad663e08, - limb3: 0xac222afac3aea8e2ce72e8e + limb3: 0xac222afac3aea8e2ce72e8e, }, u384 { limb0: 0x39874b79a181b3f20b673d19, limb1: 0x6ee1e1cbb29b199d761b94f2, limb2: 0xab40e4d2cfa4d16b12bde53a, - limb3: 0x123929bfa1724d75da4f00c1 + limb3: 0x123929bfa1724d75da4f00c1, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -18558,46 +18558,46 @@ mod msm_tests { limb0: 0x3d34619fa2469ed650494e84, limb1: 0xd8169267bbe62c606741e0f8, limb2: 0x6c5dad5ba08e23cf1a173555, - limb3: 0x144784fa8856a0dfe839f25a + limb3: 0x144784fa8856a0dfe839f25a, }, u384 { limb0: 0xc27d3f5b7b3896bbd99b4810, limb1: 0xe79c66479cdb2a04042a198f, limb2: 0x289763c30aec68a940b2a9ca, - limb3: 0x2c8f10e07b916005b0b9b5e + limb3: 0x2c8f10e07b916005b0b9b5e, }, u384 { limb0: 0xed1d977c5f14ec8873835cbb, limb1: 0xb31a5b106f0af4daef2faee4, limb2: 0x59107d221a9fd6e3bd8205ce, - limb3: 0xfa8759b9908f2b1955fd585 + limb3: 0xfa8759b9908f2b1955fd585, }, u384 { limb0: 0xf6bbd80f0388f4d02b75b7f3, limb1: 0xe3dffa11f30104cf551a8e3, limb2: 0x25394bd22f3a1bf636b60c68, - limb3: 0x19b262079686208ec8465b93 + limb3: 0x19b262079686208ec8465b93, }, u384 { limb0: 0x2aacc3b9ca9fb3914dd5f16b, limb1: 0x590b11d2cb3ff00ab8aeca0b, limb2: 0xd3e9cf883ac732815f9ffe74, - limb3: 0x95d5ad8ec173c7e3d2c2d1c + limb3: 0x95d5ad8ec173c7e3d2c2d1c, }, u384 { limb0: 0x308eb0def8f7577a8a79512a, limb1: 0x1378d8c401ae59995144fb4f, limb2: 0x62e225e6ae89978585a892b6, - limb3: 0x1557ec6ea300763b4e6f79a4 + limb3: 0x1557ec6ea300763b4e6f79a4, }, u384 { limb0: 0x575dbd9f984f016a38982535, limb1: 0x44e76050e06ae0e29087548, limb2: 0x55b6fba3c19f66e88a9550b5, - limb3: 0x4930ade55aac324607affed + limb3: 0x4930ade55aac324607affed, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -18605,61 +18605,61 @@ mod msm_tests { limb0: 0xe148ea09735be2987c28ae14, limb1: 0xefd7b98d3b6fd020255f8ad8, limb2: 0x3cd37c66529eaecc2c9b64ee, - limb3: 0x15c322be9f160e2b1ff8c518 + limb3: 0x15c322be9f160e2b1ff8c518, }, u384 { limb0: 0x17e32886a1face6c719a7608, limb1: 0x5f0694f4de37b38600325ed6, limb2: 0xe57e862d116a728b5a94749a, - limb3: 0x7eb109b33fdae2451f424a6 + limb3: 0x7eb109b33fdae2451f424a6, }, u384 { limb0: 0x3591ec28ae77950b87ea0c23, limb1: 0xe6f1b9d915ea30cedaf22cf9, limb2: 0xd15096206b99809888dc2165, - limb3: 0x85c135fe7d72842de133c47 + limb3: 0x85c135fe7d72842de133c47, }, u384 { limb0: 0xdfb8a5573572146f84eda01d, limb1: 0x829a8adf91d64be05c9ef6b8, limb2: 0x9e82e06e772f8bfb5a70e92d, - limb3: 0x122fbc6a09b07e424b1e8a0e + limb3: 0x122fbc6a09b07e424b1e8a0e, }, u384 { limb0: 0x49015dc4fcdd9b4e638b7dab, limb1: 0x30fd07e2ebda5ba4bf263250, limb2: 0xdfe6a8590dd3262c98b90287, - limb3: 0x13023cfb446b2f277cfe1bac + limb3: 0x13023cfb446b2f277cfe1bac, }, u384 { limb0: 0x2484a8f14f26f50b0f98376c, limb1: 0x8d161bbae4d8c8d84a27df0a, limb2: 0x89ed73eeb76d3be749433314, - limb3: 0x107943877e5f390cf7c298be + limb3: 0x107943877e5f390cf7c298be, }, u384 { limb0: 0xa9d99ab53626c6f25978dd2a, limb1: 0x71a9271f10be95f614d1c500, limb2: 0x23d3805538a1f81213d283fc, - limb3: 0x32fbcee987abeade0c81632 + limb3: 0x32fbcee987abeade0c81632, }, u384 { limb0: 0x5d1724e8c39779ecd1c922b5, limb1: 0x1b0d51aabf5939d77166a6, limb2: 0x5a74ace94b7bf543ad663e08, - limb3: 0xac222afac3aea8e2ce72e8e + limb3: 0xac222afac3aea8e2ce72e8e, }, u384 { limb0: 0x39874b79a181b3f20b673d19, limb1: 0x6ee1e1cbb29b199d761b94f2, limb2: 0xab40e4d2cfa4d16b12bde53a, - limb3: 0x123929bfa1724d75da4f00c1 + limb3: 0x123929bfa1724d75da4f00c1, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -18667,7 +18667,7 @@ mod msm_tests { limb0: 0xa98ff507946cf4b03843ed24, limb1: 0xa00ffcb1d8c75f4822dc3b7e, limb2: 0x6e70bff576401ba14b5814c2, - limb3: 0x4d1763b47c9566623d853eb + limb3: 0x4d1763b47c9566623d853eb, }, g_rhs_sqrt: array![].span(), }; @@ -18677,82 +18677,82 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x42bbb74ddd84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x42bbb74ddd84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -18760,15 +18760,15 @@ mod msm_tests { limb0: 0xb6465c13adbd51cec2d07a4, limb1: 0x7598b4d8e8054039c15d03a3, limb2: 0x8d73a22019136c23dcebfd06, - limb3: 0x1308ab06a66baa786d360a67 + limb3: 0x1308ab06a66baa786d360a67, }, y: u384 { limb0: 0xefe8dce71d85c8e18f7a2697, limb1: 0xd5f66c12a21ea30c73386c67, limb2: 0xae4b2ff8f522ceba0184cec6, - limb3: 0x10d0c8cb15427e35cb504c4 - } - } + limb3: 0x10d0c8cb15427e35cb504c4, + }, + }, ); } @@ -18777,7 +18777,7 @@ mod msm_tests { fn test_msm_BLS12_381_6P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -18945,7 +18945,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -19116,7 +19116,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -19287,7 +19287,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -19454,7 +19454,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -19621,10 +19621,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -19632,42 +19632,42 @@ mod msm_tests { limb0: 0x18157403cadc5c55f36b847a, limb1: 0xab9d129f49e8cffbefa2c9fa, limb2: 0x17d4d1570c4261cb793d08d7, - limb3: 0x84f3231b5d77aa67b01cd30 + limb3: 0x84f3231b5d77aa67b01cd30, }, y: u384 { limb0: 0x47ab19ae480e2c30b1f15f52, limb1: 0xc59f67d846ab21258b4bc87, limb2: 0xbc7bfdf42652236c41ee5fbf, - limb3: 0xa8ed554feca7b64247e3b42 - } + limb3: 0xa8ed554feca7b64247e3b42, + }, }, Q_high: G1Point { x: u384 { limb0: 0xeb418df3914b035192f38e75, limb1: 0x11b39af8e07f808c5ba54a71, limb2: 0x8b9ba53c44822b97bdc25425, - limb3: 0x18b538920eb8f03671934851 + limb3: 0x18b538920eb8f03671934851, }, y: u384 { limb0: 0x999fe25dc5061cbae7dcce33, limb1: 0xbb0fe810c551424ae741142f, limb2: 0x33f193b36257f22a5a4ff70, - limb3: 0xf684f74618d14866a5aca14 - } + limb3: 0xf684f74618d14866a5aca14, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xa0fe7d2136f2d95b512a58a9, limb1: 0x71f3affb00236bc5f98f1f6e, limb2: 0x13f8cb77317191b734901b80, - limb3: 0x17f17b1fcfc5a9ca8b5a9225 + limb3: 0x17f17b1fcfc5a9ca8b5a9225, }, y: u384 { limb0: 0x186a180d1fe8decd0d597f21, limb1: 0x4f499789a39e50ec3862d323, limb2: 0xb85145d181261c59e8dbc18e, - limb3: 0xa3a774d17833f6112b1686a - } + limb3: 0xa3a774d17833f6112b1686a, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -19675,46 +19675,46 @@ mod msm_tests { limb0: 0x1ec529ae1f825fa76e32137a, limb1: 0xf93d252f682f9166498bf19c, limb2: 0xd9d03f00af95b9ee6b5eb21d, - limb3: 0x12d3014c9d93944f362381b3 + limb3: 0x12d3014c9d93944f362381b3, }, u384 { limb0: 0x9872377e9a3990ebe98e9b3a, limb1: 0x174672a318610485c9a9e2e0, limb2: 0xc8fc438517d958bfac1ee5de, - limb3: 0x3f811244720fb8a8ea1dc51 + limb3: 0x3f811244720fb8a8ea1dc51, }, u384 { limb0: 0xae8593d925f911cd740512ce, limb1: 0x775818491f271998d2c7e05e, limb2: 0x3dd876504e2e3f759e79f13e, - limb3: 0x18880629e9a0dc45152724f6 + limb3: 0x18880629e9a0dc45152724f6, }, u384 { limb0: 0x99afe725eb9eda9a1e6731f6, limb1: 0x3392662c6f06a320210c5da8, limb2: 0x9c0bda29b172cbba9ca6d323, - limb3: 0xac8ee7cbaa32a8cd587c6fb + limb3: 0xac8ee7cbaa32a8cd587c6fb, }, u384 { limb0: 0x9090d4c4d7077fef4df22060, limb1: 0xe7724393a71a8e907ff444fb, limb2: 0x62009e7601ee31a3201c45ea, - limb3: 0x31451464ac40c396e318b89 + limb3: 0x31451464ac40c396e318b89, }, u384 { limb0: 0x9fa8aed549a2a5f4a52b5802, limb1: 0x2ce6cf4c1b3632c00148349a, limb2: 0xbada4d1f6a993be9de062086, - limb3: 0xada5cac6bb23308c389a1e7 + limb3: 0xada5cac6bb23308c389a1e7, }, u384 { limb0: 0x9fdca74bcf1900b3c1cf5750, limb1: 0x7e80ef397e2500f870e96fa7, limb2: 0xc476c94196f8c9fa680a7739, - limb3: 0x10516570bcb464cb9ea861bb + limb3: 0x10516570bcb464cb9ea861bb, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -19722,47 +19722,47 @@ mod msm_tests { limb0: 0x1d2fc9310c05cd43e77ee066, limb1: 0xe03b0efc162a88a45ed7fbef, limb2: 0xf205c9bbaffebe4205205d52, - limb3: 0xf2402d777620ae896b810fa + limb3: 0xf2402d777620ae896b810fa, }, u384 { limb0: 0xb16d047aa1ce10a42ee51202, limb1: 0xebba808d4e6a9b3cc3edecff, limb2: 0xf5601f2dcf87f5ce9e827b17, - limb3: 0x10d046d4104849dd4a667df7 + limb3: 0x10d046d4104849dd4a667df7, }, u384 { limb0: 0x7952b92af1458c5cb9f98bcf, limb1: 0xf78793f06c9f5ed9e448f6fb, limb2: 0x26d43316b5eb07a84e882d88, - limb3: 0x14ef5d4969fae2a21d9f9521 + limb3: 0x14ef5d4969fae2a21d9f9521, }, u384 { limb0: 0x59c4da2954e0dccb84df5a62, limb1: 0xc64dc872ae34200ecb0c5ebf, limb2: 0x663e81b159bab39f22e57084, - limb3: 0x16bc7b97198ab0868bddad07 + limb3: 0x16bc7b97198ab0868bddad07, }, u384 { limb0: 0x9c00ba565b04df7c3c0d53ff, limb1: 0x1afc453194f14814609f8621, limb2: 0x69fc51f5ab28e7e615a0184e, - limb3: 0x139aa3ea8740fdc21c7ed167 + limb3: 0x139aa3ea8740fdc21c7ed167, }, u384 { limb0: 0x8c1a1041a59e6d45b3aa23e0, limb1: 0x3277899bfb01614abf94edc9, limb2: 0x63be3ec1cc38ea40ba65ddbf, - limb3: 0xae8ed246ef457bd432e636a + limb3: 0xae8ed246ef457bd432e636a, }, u384 { limb0: 0x5c69599ae723d7f70fd515d1, limb1: 0x85afc9e86836518940a926b5, limb2: 0x6d61cde3dbbe4cf4c4c4779d, - limb3: 0x1d210db493c932dc29093e7 + limb3: 0x1d210db493c932dc29093e7, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -19770,52 +19770,52 @@ mod msm_tests { limb0: 0x477acea65610509c46004022, limb1: 0x7839932436d9a49c92a21f00, limb2: 0xfdd260e2a61abf45482b684a, - limb3: 0x331ad95cf8d5639ca311552 + limb3: 0x331ad95cf8d5639ca311552, }, u384 { limb0: 0xe6cb54c12e9bc09e0a8eaf33, limb1: 0x9151fc7b7c053842e0dd8e0b, limb2: 0x364d21c0daab69701c0ef2b0, - limb3: 0x55d317bbdc5634dc99be22 + limb3: 0x55d317bbdc5634dc99be22, }, u384 { limb0: 0x296dbb3ff8a25042cbecd572, limb1: 0xb215c492ba7a81f7ffd3a54c, limb2: 0x1b142d444debacdd55f99722, - limb3: 0x15e63eff3a9986d6a9f1e71f + limb3: 0x15e63eff3a9986d6a9f1e71f, }, u384 { limb0: 0xe833a4fde3dda6b02053c049, limb1: 0x948e6c1567d7898287cde0df, limb2: 0x789b99bc9f2603b5032335db, - limb3: 0xa9f53e870a9efd86d91d7a0 + limb3: 0xa9f53e870a9efd86d91d7a0, }, u384 { limb0: 0x299af001a4e9b926b2a9d1a8, limb1: 0xde15e909e818787f6a20efb6, limb2: 0x6f4f9f5142b5c7a254f5b07f, - limb3: 0x14966417492d3b5b563dd194 + limb3: 0x14966417492d3b5b563dd194, }, u384 { limb0: 0x350dd66e5cf212bd02a8f3ad, limb1: 0xbd6f884b5eb5257a62508f7d, limb2: 0x5ff7df2edcd5ea41c3d246b3, - limb3: 0x6b19403245dda2ab7c85417 + limb3: 0x6b19403245dda2ab7c85417, }, u384 { limb0: 0xb525472735f1b4d860dd7880, limb1: 0xed8719e21d84d3c86f67a988, limb2: 0x72e72d038b2dff9f3da41982, - limb3: 0x1950bf31af531e8d4164eefd + limb3: 0x1950bf31af531e8d4164eefd, }, u384 { limb0: 0xe58f2895c7fc72e5e6c9ec14, limb1: 0x775f5e7a66eec83cbb9c0674, limb2: 0xe56ff502c22b88905805005b, - limb3: 0x4222e281413f2ab3b419a69 + limb3: 0x4222e281413f2ab3b419a69, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -19823,67 +19823,67 @@ mod msm_tests { limb0: 0x121724c4bc19350f9dfc2c42, limb1: 0xb28a96ae6b4836493e07efbf, limb2: 0x417fcd3ff70c61fe2d774fcc, - limb3: 0x88de7896a885e6dc4a8f47f + limb3: 0x88de7896a885e6dc4a8f47f, }, u384 { limb0: 0x630c11eb133a4290bb94f2b2, limb1: 0xe0885cf34c4880aad25fb401, limb2: 0x4ee923087531403092ffc6e0, - limb3: 0xf3ef77bce215a409362a873 + limb3: 0xf3ef77bce215a409362a873, }, u384 { limb0: 0xd14ee4ac97193172e7e72f3b, limb1: 0xa88bd7dece6a98fb351fdbf1, limb2: 0xd16dc5d4aa463c125f917de5, - limb3: 0x5ba3f66fb6bd6b9952b5d61 + limb3: 0x5ba3f66fb6bd6b9952b5d61, }, u384 { limb0: 0xbef331d7778d4071fafd9f42, limb1: 0x5caee642f437304f105976f1, limb2: 0x7dd11d23850c5eaac2a1d468, - limb3: 0x211a98af78d329999c0263f + limb3: 0x211a98af78d329999c0263f, }, u384 { limb0: 0xd73edd4dfe48e951f1b61fd, limb1: 0x22191d70be1cd921ea68058a, limb2: 0xd36e607e4ec5b2d81a73a412, - limb3: 0x1137a0bf80cc8d16db0ecc72 + limb3: 0x1137a0bf80cc8d16db0ecc72, }, u384 { limb0: 0x4712fa3213c1417388a2c5f9, limb1: 0xf304151e6b42f7bca544ae24, limb2: 0x2f35d46f1de019a151157f06, - limb3: 0xc90ee06b2cc74629421d35e + limb3: 0xc90ee06b2cc74629421d35e, }, u384 { limb0: 0x1a16409537713ca7c43406fb, limb1: 0x75dc1d73585c700faf04f996, limb2: 0xd87a0c69643c9bed42723c3b, - limb3: 0x403ad1a04fd16a34b0454ee + limb3: 0x403ad1a04fd16a34b0454ee, }, u384 { limb0: 0x9c00ba565b04df7c3c0d5403, limb1: 0x1afc453194f14814609f8621, limb2: 0x69fc51f5ab28e7e615a0184e, - limb3: 0x139aa3ea8740fdc21c7ed167 + limb3: 0x139aa3ea8740fdc21c7ed167, }, u384 { limb0: 0x8c1a1041a59e6d45b3aa23e0, limb1: 0x3277899bfb01614abf94edc9, limb2: 0x63be3ec1cc38ea40ba65ddbf, - limb3: 0xae8ed246ef457bd432e636a + limb3: 0xae8ed246ef457bd432e636a, }, u384 { limb0: 0x5c69599ae723d7f70fd515d1, limb1: 0x85afc9e86836518940a926b5, limb2: 0x6d61cde3dbbe4cf4c4c4779d, - limb3: 0x1d210db493c932dc29093e7 + limb3: 0x1d210db493c932dc29093e7, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -19891,21 +19891,21 @@ mod msm_tests { limb0: 0x2196d08fa784febe35bf858e, limb1: 0x6b8e1255faf88bb6a3dc38fc, limb2: 0x22bf6584bb48c89d031f413, - limb3: 0x4b648709be7792a0a50a7f0 + limb3: 0x4b648709be7792a0a50a7f0, }, g_rhs_sqrt: array![ u384 { limb0: 0xc17a141a2254725c7f9baff7, limb1: 0x4ae9075e99c665f028cab476, limb2: 0xb2b56e9cb03a8c1621abe441, - limb3: 0x509a390a355c8157cc35737 + limb3: 0x509a390a355c8157cc35737, }, u384 { limb0: 0x74e8864f54b894a7ad5c5b34, limb1: 0x65522af759b58a99fc4ed942, limb2: 0xdf43903b418090e9c05d3cc, - limb3: 0x16efd3f30d1d5902aabf2bf - } + limb3: 0x16efd3f30d1d5902aabf2bf, + }, ] .span(), }; @@ -19915,99 +19915,99 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0xbf0551e03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -20015,15 +20015,15 @@ mod msm_tests { limb0: 0x4df8c4b32ca9b9a0fe767165, limb1: 0xa32c2218341be50febd262be, limb2: 0x3c88901870b5a8eccdb875c, - limb3: 0x112df93715ab5c5cee147a64 + limb3: 0x112df93715ab5c5cee147a64, }, y: u384 { limb0: 0x4b77664ac2592df4f1d8dfb7, limb1: 0xec77062b8d054bbe05716392, limb2: 0x27b166ea6b00c82815173820, - limb3: 0x16c305f0f6f1c2d8fd98b26a - } - } + limb3: 0x16c305f0f6f1c2d8fd98b26a, + }, + }, ); } @@ -20032,7 +20032,7 @@ mod msm_tests { fn test_msm_BLS12_381_7P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -20202,7 +20202,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -20373,7 +20373,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -20540,7 +20540,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -20707,7 +20707,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -20878,7 +20878,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -21047,10 +21047,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -21058,42 +21058,42 @@ mod msm_tests { limb0: 0x3b203ff23e856b59be310024, limb1: 0x9e68aaea2b60cb6e3d0146ac, limb2: 0xb3f3e4a02fbbb14adf974b06, - limb3: 0x7dda53cb96460557533d9d9 + limb3: 0x7dda53cb96460557533d9d9, }, y: u384 { limb0: 0x697932fd149d01a29e892e2a, limb1: 0x823f6b03bc0a1f3776dd5544, limb2: 0x4d9b3ff5b1d25954a2a28404, - limb3: 0xaf9d7bfacc340c1e14c5d06 - } + limb3: 0xaf9d7bfacc340c1e14c5d06, + }, }, Q_high: G1Point { x: u384 { limb0: 0xb13f4275115bee1ec5bc91dd, limb1: 0xe6c0886cecfa333814c5b1d9, limb2: 0x2242763b053b357b754e0eff, - limb3: 0x138189613b43c6e7f5b0ff5a + limb3: 0x138189613b43c6e7f5b0ff5a, }, y: u384 { limb0: 0x70ff0e1836ca36e61a89d135, limb1: 0x85c91dd9bfacac477a9614cd, limb2: 0x7e17115f2922f4de82b0b76f, - limb3: 0x1267ec75722022d4c9e907d2 - } + limb3: 0x1267ec75722022d4c9e907d2, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x6202f99c17387b0497ef2a6b, limb1: 0x779dee40845ebf0e432c3fff, limb2: 0xbf74ea372ebbad69d90b5fd1, - limb3: 0xda58b58bc0a45ec7c49d440 + limb3: 0xda58b58bc0a45ec7c49d440, }, y: u384 { limb0: 0x678317fdbde6e475c914f202, limb1: 0x210aab511f380e3581047d92, limb2: 0xc529541ad17fb1bfe5b1a593, - limb3: 0xb63d045b945224b516fd54c - } + limb3: 0xb63d045b945224b516fd54c, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -21101,52 +21101,52 @@ mod msm_tests { limb0: 0x6762e9c406a75975e8561e74, limb1: 0x75a8cf74731e4dc829f29575, limb2: 0x5ed6bf732f425e9e8e694643, - limb3: 0x10d69b8978eb51f66cba7af8 + limb3: 0x10d69b8978eb51f66cba7af8, }, u384 { limb0: 0x43b909aa066d799202ffd88f, limb1: 0x5bed136f8f56e48e7f4fc3a, limb2: 0x8090fcd1fca8bc0bdb3e4d8d, - limb3: 0x3a522d520dfa16c3f1e4d87 + limb3: 0x3a522d520dfa16c3f1e4d87, }, u384 { limb0: 0x7c580bfd72ed28efc73d27a8, limb1: 0x68b28f9c74304edfd9872872, limb2: 0xa6c9490968d24e0a9e2631ba, - limb3: 0xf6bfe080ba0554aec2a1050 + limb3: 0xf6bfe080ba0554aec2a1050, }, u384 { limb0: 0xaf9e614a4abe64052cbd1b9e, limb1: 0xace5c9d17e93a2f696360615, limb2: 0x732e2f38ed36db3819d176a5, - limb3: 0x16c08423aef301a6dc22c121 + limb3: 0x16c08423aef301a6dc22c121, }, u384 { limb0: 0xf9d44d7b605046d17910eb1c, limb1: 0x139c3914c2d77f3de0d926c9, limb2: 0xa9f10180aaa7e75e89693fc9, - limb3: 0x4b954fc00e74dba6cbaabbc + limb3: 0x4b954fc00e74dba6cbaabbc, }, u384 { limb0: 0x258a1d7d8516cf182bd64707, limb1: 0xa35d81167cb3e8d5f87b6f03, limb2: 0xf035fb4d138fa5c4be89c6f5, - limb3: 0x3e53f95411fa4881f4ead7c + limb3: 0x3e53f95411fa4881f4ead7c, }, u384 { limb0: 0xf5245a8f785a42144ef0eee4, limb1: 0x936e8fad5d37e513c1d28972, limb2: 0x4c052afe0a8e49abdb5ccf15, - limb3: 0x62d2c742215458d72891a7d + limb3: 0x62d2c742215458d72891a7d, }, u384 { limb0: 0x86512616f2f8da02b8d74d81, limb1: 0xfb0f6e246b4c43c532204312, limb2: 0x8a36df1b572ac316a72075c7, - limb3: 0x17eb4a53f5b6c43eb8ac34ce + limb3: 0x17eb4a53f5b6c43eb8ac34ce, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -21154,53 +21154,53 @@ mod msm_tests { limb0: 0x6fa9ae00ef70990ccf8550b2, limb1: 0x9277005927f237ceb3dbfca6, limb2: 0x50b31a3dd94d4360943087c9, - limb3: 0x1a00142127810567f902911d + limb3: 0x1a00142127810567f902911d, }, u384 { limb0: 0x977e181302bc786ef0e4b3df, limb1: 0x698918f0af59e0861504fd99, limb2: 0x8cc7fbe63191681e4cc406d2, - limb3: 0xd29aa1c043578606dd7158e + limb3: 0xd29aa1c043578606dd7158e, }, u384 { limb0: 0x550d90ed996f2895751d4e55, limb1: 0x546d321728417ebc39902e9c, limb2: 0x4503a1bd35541df1d62f0735, - limb3: 0x4d078f330f3d79720cfe18a + limb3: 0x4d078f330f3d79720cfe18a, }, u384 { limb0: 0x6b13ca5609b02c87f4c214da, limb1: 0x8624d488fbf53519b07b207a, limb2: 0xdbf17f646d0bc866bfcfb90e, - limb3: 0x116d0d375e3689a3d75acc17 + limb3: 0x116d0d375e3689a3d75acc17, }, u384 { limb0: 0xb1e927027059e281ccec2ea8, limb1: 0x6bf12b98b43b05f6fcbc3039, limb2: 0x94c1e5dc00212120f885eb35, - limb3: 0x1262775e05a0688dfebe3b37 + limb3: 0x1262775e05a0688dfebe3b37, }, u384 { limb0: 0x7c2924e812bd008a1c15d381, limb1: 0x8430672719081fc7b82f3f89, limb2: 0x1826d46a3c180f9352521dda, - limb3: 0xe282ee7c88a6d3c03a89b59 + limb3: 0xe282ee7c88a6d3c03a89b59, }, u384 { limb0: 0xc5d82e925e4c57ec65c7a160, limb1: 0x9ac8490f0001c58a1d11f956, limb2: 0xa1dd82ab01b2dc8d7f26f3b5, - limb3: 0x156752297f9c5a6990114533 + limb3: 0x156752297f9c5a6990114533, }, u384 { limb0: 0x20bd68bad66969ba14473989, limb1: 0x51e518142b3482bbf0e20b5f, limb2: 0x5f9fb56685ab7ac5e7ab591d, - limb3: 0x127bf0961f8f445e3ee21ca4 + limb3: 0x127bf0961f8f445e3ee21ca4, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -21208,58 +21208,58 @@ mod msm_tests { limb0: 0x37cf6424e30e8f7df8d150c1, limb1: 0xb6e0bad5bd6a81ae295ed1eb, limb2: 0x464ec63923c789ff7c8075a5, - limb3: 0x1293cc48b9193fd64c52745a + limb3: 0x1293cc48b9193fd64c52745a, }, u384 { limb0: 0xb278ab360c75b71c2c214698, limb1: 0xbad14f2533913707f8e31de7, limb2: 0x6ed6f1efe06cf9289910b377, - limb3: 0x156d2b2266eb3763e92ac3db + limb3: 0x156d2b2266eb3763e92ac3db, }, u384 { limb0: 0x1fbf31b6296bb5cda871b274, limb1: 0xd734d742a32ef3baa1fa5235, limb2: 0x73c214ad35ce6f5715eb3e4d, - limb3: 0x13ab24ec51c71cb4fd84a147 + limb3: 0x13ab24ec51c71cb4fd84a147, }, u384 { limb0: 0xd44ecce88df05f8c19230421, limb1: 0x34b310596f78adefe6b23545, limb2: 0x914bc7ef90c1a7dd0d631c5f, - limb3: 0xf9b82113c1e30e094f4e972 + limb3: 0xf9b82113c1e30e094f4e972, }, u384 { limb0: 0xaa7854bad20d845ca1cbf65b, limb1: 0x9c16864e7f03a5ca1c938c3d, limb2: 0x992a72975f4dd586a2671dab, - limb3: 0x65ead22a1a5757972fda834 + limb3: 0x65ead22a1a5757972fda834, }, u384 { limb0: 0xbdd9f042646b53c25938fe34, limb1: 0xff35d8412a1428001d4ebf81, limb2: 0x9db236f42da5139bee104a59, - limb3: 0x11b9fe1e71efe9d9807f64e5 + limb3: 0x11b9fe1e71efe9d9807f64e5, }, u384 { limb0: 0xbde3d10315e512444be9134a, limb1: 0x5cd87e9cb9eb86e52c8cc4a, limb2: 0x53225aa2d3d81dd458c99073, - limb3: 0xaadb90aeca96ece124d91ad + limb3: 0xaadb90aeca96ece124d91ad, }, u384 { limb0: 0x63dbcd3b89d40ca321251c53, limb1: 0x6acc71f8531c1142d223a968, limb2: 0xe9e36b5e2921304c4471f20d, - limb3: 0x10056a31dcebbd8284f1ab90 + limb3: 0x10056a31dcebbd8284f1ab90, }, u384 { limb0: 0xdddad289b3afc54321511b36, limb1: 0xa17360029310c82b0a488252, limb2: 0x291affb9797916074f7dc3cf, - limb3: 0x103499aa6321b93d4de9ef5a + limb3: 0x103499aa6321b93d4de9ef5a, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -21267,73 +21267,73 @@ mod msm_tests { limb0: 0xaaaab8048fc564333e1642c7, limb1: 0x14498981bbb5fcce736bf29d, limb2: 0x78e9627137cf2af37632e6e8, - limb3: 0x19fd1ac5f18461d102b74d52 + limb3: 0x19fd1ac5f18461d102b74d52, }, u384 { limb0: 0xfb50604c96f3e1bbc3937a26, limb1: 0xd7c2be80d00595d016bbf668, limb2: 0xac8895e9fd57096f4c05f5ca, - limb3: 0xa4849b9dd6144d212506cd + limb3: 0xa4849b9dd6144d212506cd, }, u384 { limb0: 0x543643b665bca255d4753954, limb1: 0x51b4c85ca105faf0e640ba71, limb2: 0x140e86f4d55077c758bc1cd5, - limb3: 0x1341e3ccc3cf5e5c833f8629 + limb3: 0x1341e3ccc3cf5e5c833f8629, }, u384 { limb0: 0x7fcd759e8344b2ca28ea419, limb1: 0x7577da9a33b429c919c47e94, limb2: 0xf69611496016826cb8e033c5, - limb3: 0x11b1133ff3db7828751aca59 + limb3: 0x11b1133ff3db7828751aca59, }, u384 { limb0: 0x4b26b41d9627027624966e7e, limb1: 0xe3bb4f709c3315f5abf1be84, limb2: 0x15ec8cd004b00a13544c7b69, - limb3: 0x8b051d56e3766c9877d0b4a + limb3: 0x8b051d56e3766c9877d0b4a, }, u384 { limb0: 0xe30a248e70652abde5754703, limb1: 0x96cd29719f001192dcf52cc4, limb2: 0x1f0799b75cc5c535386d5920, - limb3: 0x96f10bde01dbf52993aff82 + limb3: 0x96f10bde01dbf52993aff82, }, u384 { limb0: 0x6e7884a054e48c398be19a59, limb1: 0xbbb380e217e968d5c8bf05d9, limb2: 0x9984838a4671580de1dc4fa6, - limb3: 0x1907201eb0283f7b364ce9c3 + limb3: 0x1907201eb0283f7b364ce9c3, }, u384 { limb0: 0x20e2c9ee9c02896a1e0a14cb, limb1: 0x7df314067cfa2e7a64405dba, limb2: 0x495db4efe96929a9bca4176c, - limb3: 0xe4f03f7d75dc63818f3b6a6 + limb3: 0xe4f03f7d75dc63818f3b6a6, }, u384 { limb0: 0x7c2924e812bd008a1c15d385, limb1: 0x8430672719081fc7b82f3f89, limb2: 0x1826d46a3c180f9352521dda, - limb3: 0xe282ee7c88a6d3c03a89b59 + limb3: 0xe282ee7c88a6d3c03a89b59, }, u384 { limb0: 0xc5d82e925e4c57ec65c7a160, limb1: 0x9ac8490f0001c58a1d11f956, limb2: 0xa1dd82ab01b2dc8d7f26f3b5, - limb3: 0x156752297f9c5a6990114533 + limb3: 0x156752297f9c5a6990114533, }, u384 { limb0: 0x20bd68bad66969ba14473989, limb1: 0x51e518142b3482bbf0e20b5f, limb2: 0x5f9fb56685ab7ac5e7ab591d, - limb3: 0x127bf0961f8f445e3ee21ca4 + limb3: 0x127bf0961f8f445e3ee21ca4, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -21341,27 +21341,27 @@ mod msm_tests { limb0: 0x1b0d24eecffc4f18ac84a39b, limb1: 0xc53f57e46bff4b96990e4e5b, limb2: 0x8404e5bd130bb53b0abd31a3, - limb3: 0x3b717baa5e4515339f26dc4 + limb3: 0x3b717baa5e4515339f26dc4, }, g_rhs_sqrt: array![ u384 { limb0: 0xc5dd536e800faebbee41505c, limb1: 0xa1cd4206c082044166cc49c, limb2: 0xcc6428aa25497b563f532cbe, - limb3: 0xc7082d0195048f11acad80e + limb3: 0xc7082d0195048f11acad80e, }, u384 { limb0: 0xeb04c76364af76fa8570ed5a, limb1: 0x559e522fad99c0bafb6c6159, limb2: 0x994d3d7a66b4dd10439de67b, - limb3: 0xb12e23ae21d71d4a2fbef71 + limb3: 0xb12e23ae21d71d4a2fbef71, }, u384 { limb0: 0x81e9112039e762db829aa0b1, limb1: 0x20d429eb8edff1d87af353ce, limb2: 0xe97976efe65980265c74eb6e, - limb3: 0x6bbfbf7f3f0c1bf1ea28cbf - } + limb3: 0x6bbfbf7f3f0c1bf1ea28cbf, + }, ] .span(), }; @@ -21371,116 +21371,116 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0x5008b5f2ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -21488,15 +21488,15 @@ mod msm_tests { limb0: 0xd381d25339387aa82be8c6d8, limb1: 0x47fff58ffa2f41b08e8a34cf, limb2: 0xcd523d1db24c6523f00b5c4, - limb3: 0x8445ebce1efef4560d64866 + limb3: 0x8445ebce1efef4560d64866, }, y: u384 { limb0: 0xbe04c4b5f88aeac374e64776, limb1: 0xfe699481b6ff01e2e56b9a08, limb2: 0x4863825797b18b34d97a7405, - limb3: 0xe59b6a32eca979c1c4149ab - } - } + limb3: 0xe59b6a32eca979c1c4149ab, + }, + }, ); } @@ -21505,7 +21505,7 @@ mod msm_tests { fn test_msm_BLS12_381_8P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -21675,7 +21675,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -21842,7 +21842,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -22009,7 +22009,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -22180,7 +22180,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -22349,7 +22349,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -22518,7 +22518,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -22686,10 +22686,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -22697,42 +22697,42 @@ mod msm_tests { limb0: 0xa96e740c9e1b631293b4f0cd, limb1: 0x4bffe2f464e97e954148b338, limb2: 0x50f94e1d8bac1131c39a677a, - limb3: 0x1721e02330b4341822ef293 + limb3: 0x1721e02330b4341822ef293, }, y: u384 { limb0: 0xa52b140a2ace5442d5398f12, limb1: 0x53865ca7d2a31630a3245183, limb2: 0x6932d3ec0ac77dfbcdab85e7, - limb3: 0xed5ee0215f963ecb0f7fac2 - } + limb3: 0xed5ee0215f963ecb0f7fac2, + }, }, Q_high: G1Point { x: u384 { limb0: 0xad04fe59bb9a18bda747d203, limb1: 0x14d6fbbf752aabb52ea825aa, limb2: 0xf98b859affc1acf693028c9f, - limb3: 0x1425d78be28bfaf514d7656 + limb3: 0x1425d78be28bfaf514d7656, }, y: u384 { limb0: 0x97e4a43180e48f9dcf741bb1, limb1: 0x8bc316ea567d9405fbaf73f9, limb2: 0xcbce9153504baccc70e13c6b, - limb3: 0xbb3f94f1b30437e05b5bdde - } + limb3: 0xbb3f94f1b30437e05b5bdde, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xa7f96217fa51f7177f623685, limb1: 0x49e4e3606390671e7d630d5c, limb2: 0x4d9f44b8db22a948f91f3289, - limb3: 0x85066404121b353301dfc42 + limb3: 0x85066404121b353301dfc42, }, y: u384 { limb0: 0x63cfc67eee9c49e9513b78b7, limb1: 0x1b4e458ab6e1e352f8ab0e81, limb2: 0x5835a444428f1fff6331569d, - limb3: 0x12d3c7f1e393306530e08759 - } + limb3: 0x12d3c7f1e393306530e08759, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -22740,58 +22740,58 @@ mod msm_tests { limb0: 0x70f20dddb328b49df36473a0, limb1: 0x4cc1780e71d294ea14b0a77d, limb2: 0xcce88d49c3a78bb2fa7b67cb, - limb3: 0x1277da50fbb9dbd1904a6eb4 + limb3: 0x1277da50fbb9dbd1904a6eb4, }, u384 { limb0: 0xfdc541f3dbde262c041b1896, limb1: 0x625c396ad48c08b4e7c217af, limb2: 0xba15b5eb8dae6e3c99b77d58, - limb3: 0x17a1a1f33f8e6411e912ded9 + limb3: 0x17a1a1f33f8e6411e912ded9, }, u384 { limb0: 0xbf490538432e21fd8825599a, limb1: 0x14583e5042362444f5dbb871, limb2: 0x3bb2a9f11be94007d1340ef9, - limb3: 0x1241b71b78a7c28455503934 + limb3: 0x1241b71b78a7c28455503934, }, u384 { limb0: 0xc8a207cb2817c0e7c562804, limb1: 0x7f91481b73430ae5440a4fa2, limb2: 0x1888a37c1c056c13c6b3bc1e, - limb3: 0xf7cd07478331d52c0b6d972 + limb3: 0xf7cd07478331d52c0b6d972, }, u384 { limb0: 0x7604a8d303b9a93e4a799566, limb1: 0x59ad212536a60f7336d004de, limb2: 0x3e4a00e47f53ef71733d5c26, - limb3: 0x1128156e3e1fd85b7175ac5a + limb3: 0x1128156e3e1fd85b7175ac5a, }, u384 { limb0: 0x36096c6d78a4da70459c132a, limb1: 0xbe60b139d3a58e4a079e75fc, limb2: 0x2613b57d6169de8b889f7ca2, - limb3: 0xc6a18b6957d0904febab62a + limb3: 0xc6a18b6957d0904febab62a, }, u384 { limb0: 0xc7e80e2744286993a8022423, limb1: 0x771ee2658c91193389eb2410, limb2: 0xaee5de171659d471123004b5, - limb3: 0xa5182ba06811368517d9ed3 + limb3: 0xa5182ba06811368517d9ed3, }, u384 { limb0: 0xf70df07636c7b22c7e84e477, limb1: 0x140ae8d464696174dc6d5227, limb2: 0x874979ff13eca56bfec19c96, - limb3: 0x2830092292b3c3bd5a3fcf + limb3: 0x2830092292b3c3bd5a3fcf, }, u384 { limb0: 0x683b50c5b699b8c6437d894d, limb1: 0xe5ee73919f8b6b71a91e9a1f, limb2: 0xdc90dafec6b7d9b13611dd8e, - limb3: 0x10f0814bb3f2906a84f56bc6 + limb3: 0x10f0814bb3f2906a84f56bc6, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -22799,59 +22799,59 @@ mod msm_tests { limb0: 0x76aa8bb1508684b820d6d9ae, limb1: 0xf798476849fc0c209acba25f, limb2: 0x6b5cfbadbabc6e06cb0a15c5, - limb3: 0x9d15ce68e085ae34da69b65 + limb3: 0x9d15ce68e085ae34da69b65, }, u384 { limb0: 0x77ff3b357a06fbe3a85edb04, limb1: 0x5c51b7dfad04572205ec95a, limb2: 0x87b21e6971df518cbdb51276, - limb3: 0x15a52c6e6c74f50075666bc4 + limb3: 0x15a52c6e6c74f50075666bc4, }, u384 { limb0: 0x35ac7f31e34560c3981c502, limb1: 0x190b5c80ab809c81198b52cf, limb2: 0xa889c416f182bd4b5ea910ea, - limb3: 0x596fcf3186c833516ecf3c8 + limb3: 0x596fcf3186c833516ecf3c8, }, u384 { limb0: 0x33ff0e1644c5ebafaf71c779, limb1: 0xa44ffc1ed29b209cae355f9a, limb2: 0xef053581813d1fd8afd716c0, - limb3: 0x34c5e77055a9593fa7b40fb + limb3: 0x34c5e77055a9593fa7b40fb, }, u384 { limb0: 0x838477171dd266af4ea9747d, limb1: 0x343b585005e9f1086f20a6ff, limb2: 0xf41d5909023d260996c5f8f8, - limb3: 0x132c04d12a6fbd8e03f796c + limb3: 0x132c04d12a6fbd8e03f796c, }, u384 { limb0: 0xb83718be556258c6ab30c337, limb1: 0x36ee2e0f4027f3cdb8e67b73, limb2: 0x7a0b59bccc98d0213a3971, - limb3: 0x96be63ae7759ad7efc40248 + limb3: 0x96be63ae7759ad7efc40248, }, u384 { limb0: 0x1862214512e3a5f484cb8ba2, limb1: 0xfb6f7df953eb8778487d75e5, limb2: 0xfe238efef8ef0d97650d3ee, - limb3: 0x8e0ad6d5594aa5fdb7c2e98 + limb3: 0x8e0ad6d5594aa5fdb7c2e98, }, u384 { limb0: 0x7d21df63e7256b7793f78850, limb1: 0xc64547a26612f7f04363a1, limb2: 0xff9acaea569a934ef7b790, - limb3: 0xc01198c6f4bfff4c52f6f4d + limb3: 0xc01198c6f4bfff4c52f6f4d, }, u384 { limb0: 0x5f9fe6710f27613e13aaebbc, limb1: 0x5ce54978d48d967b57cc161e, limb2: 0xcfa02f91cc3b10fb8c7b42bd, - limb3: 0x16477d5ea1ab754ee6f8ef3a + limb3: 0x16477d5ea1ab754ee6f8ef3a, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -22859,64 +22859,64 @@ mod msm_tests { limb0: 0x4a2897be986ffc2f2f0c9301, limb1: 0x36b005afb15ce0a5a72eda24, limb2: 0xf8cebda178dd8cfc42dec645, - limb3: 0x18bd4a572ea840ec0027eda0 + limb3: 0x18bd4a572ea840ec0027eda0, }, u384 { limb0: 0xb582add1946c71ecea5af9c2, limb1: 0x6a04951f8aabab689b74dd62, limb2: 0xbcbfa699a94afba36c4913b3, - limb3: 0xe3dea130962e1c91df79794 + limb3: 0xe3dea130962e1c91df79794, }, u384 { limb0: 0x88660c6c2bb1a8345ee26d3d, limb1: 0xaa9fc85f8d1e04b1da664bdf, limb2: 0x5ec2fc722dca46ead4dee586, - limb3: 0xdce6af78dcd9762bb1ca5ea + limb3: 0xdce6af78dcd9762bb1ca5ea, }, u384 { limb0: 0x9ac9cbef03ef59015c5d02a3, limb1: 0xebaf55fdd907bbbe64ede3c1, limb2: 0x7c724c4835b3d66c7639a6d9, - limb3: 0x166defc24cf5e325b7144eb6 + limb3: 0x166defc24cf5e325b7144eb6, }, u384 { limb0: 0xb87fa32197b52c94bed7e518, limb1: 0xe1fe1dbf9309c9f5fc011d33, limb2: 0xf268ab1d33443aaa0140af19, - limb3: 0x19a3cdc2d7f287b237acfb6c + limb3: 0x19a3cdc2d7f287b237acfb6c, }, u384 { limb0: 0xff833240cb28922c42cae25d, limb1: 0xf29e9680955933f5966e57a4, limb2: 0x4c141f34119b176c84bbc7be, - limb3: 0x4f76c32178e9ad1e393e036 + limb3: 0x4f76c32178e9ad1e393e036, }, u384 { limb0: 0xddc01c42ecdd2311c7a7715f, limb1: 0xe980f769f648992480b41500, limb2: 0x724095e02fc08ac2546c9a55, - limb3: 0x4ad02e3a972a82cb5406a89 + limb3: 0x4ad02e3a972a82cb5406a89, }, u384 { limb0: 0x89dbfa9d2e166a97e306f684, limb1: 0xa96b3ca56e4ebca7ece760f6, limb2: 0xa678721d7d1e2e1836d83fa0, - limb3: 0x788db8fa433a0f3777aec5a + limb3: 0x788db8fa433a0f3777aec5a, }, u384 { limb0: 0x31657fffea8dbaf62a886d8a, limb1: 0x25232cd56701d755940775e8, limb2: 0x68cbf62e696a2a0260ac5e7e, - limb3: 0xdfdcf6d5e4d3a44133e14ad + limb3: 0xdfdcf6d5e4d3a44133e14ad, }, u384 { limb0: 0x32c3a25036d1a8374a1118e1, limb1: 0xf3afa8e1f4a74f10c8d4f8b4, limb2: 0xbaae57996ef310b37088e29e, - limb3: 0x15c21ed4353bfa6704ce5c69 + limb3: 0x15c21ed4353bfa6704ce5c69, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -22924,79 +22924,79 @@ mod msm_tests { limb0: 0x29562ec5881b12e0835bbc0d, limb1: 0x77304b00313f3a5e4c82897f, limb2: 0x6a2841df867a6c9638a34458, - limb3: 0xd4461affea184f2eb7ec5df + limb3: 0xd4461affea184f2eb7ec5df, }, u384 { limb0: 0xcc00ecd6ba1eef8ea17c6c0f, limb1: 0xe181f615072e335c2577256d, limb2: 0x54e5731f9a1763a41c451199, - limb3: 0x8917bfb05542032f446b7ef + limb3: 0x8917bfb05542032f446b7ef, }, u384 { limb0: 0xd6b1fcc78d15830e6071408, limb1: 0x642d7202ae027204662d4b3c, limb2: 0xa227105bc60af52d7aa443a8, - limb3: 0x165bf3cc61b20cd45bb3cf22 + limb3: 0x165bf3cc61b20cd45bb3cf22, }, u384 { limb0: 0x46a6c40a639e3376de9df792, limb1: 0x88d837e394688e9353a120c8, limb2: 0x2771d1b3bfb0ed698a6670c8, - limb3: 0x1702d6c2a372b13337939f55 + limb3: 0x1702d6c2a372b13337939f55, }, u384 { limb0: 0xd4bd1792375196a0e305024d, limb1: 0x6f81aa1d1bc7136fbe356559, limb2: 0x14dbd5b6165c9e2e2547e397, - limb3: 0x6f1bb87d90fdc9ab48a9c2 + limb3: 0x6f1bb87d90fdc9ab48a9c2, }, u384 { limb0: 0x32e32aecb9beb926e6452733, limb1: 0x8d93421cb56f7593de79409f, limb2: 0x672644a6803dd506f00ce3ef, - limb3: 0x114583f47cc307fa8ae15532 + limb3: 0x114583f47cc307fa8ae15532, }, u384 { limb0: 0xe433932ad6558381c2a04b56, limb1: 0x2add21632b984859b17f372f, limb2: 0xeb426c69db0197b9959553bd, - limb3: 0xcce0242222d58791d5053a5 + limb3: 0xcce0242222d58791d5053a5, }, u384 { limb0: 0xc6b7f4a70069148d9e87eb12, limb1: 0xd0239acd98d146c411823586, limb2: 0xb4d0175d472044d1df1fc478, - limb3: 0x1736149496571511a9e18eea + limb3: 0x1736149496571511a9e18eea, }, u384 { limb0: 0x22bab2836402ddbef9dd7226, limb1: 0x74f0dc0fae4b6b4ebc12d3f1, limb2: 0x7517c31ac052fa2f78980c28, - limb3: 0x1486a5f6c1a3bc44aa54c810 + limb3: 0x1486a5f6c1a3bc44aa54c810, }, u384 { limb0: 0x1862214512e3a5f484cb8ba6, limb1: 0xfb6f7df953eb8778487d75e5, limb2: 0xfe238efef8ef0d97650d3ee, - limb3: 0x8e0ad6d5594aa5fdb7c2e98 + limb3: 0x8e0ad6d5594aa5fdb7c2e98, }, u384 { limb0: 0x7d21df63e7256b7793f78850, limb1: 0xc64547a26612f7f04363a1, limb2: 0xff9acaea569a934ef7b790, - limb3: 0xc01198c6f4bfff4c52f6f4d + limb3: 0xc01198c6f4bfff4c52f6f4d, }, u384 { limb0: 0x5f9fe6710f27613e13aaebbc, limb1: 0x5ce54978d48d967b57cc161e, limb2: 0xcfa02f91cc3b10fb8c7b42bd, - limb3: 0x16477d5ea1ab754ee6f8ef3a + limb3: 0x16477d5ea1ab754ee6f8ef3a, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -23004,15 +23004,15 @@ mod msm_tests { limb0: 0x82c719ed860ac16a23d06654, limb1: 0xbeb3d0d14590456d5e9c72e9, limb2: 0x6760564e6b53bc0d0230204d, - limb3: 0x7375167ff8421ef85190851 + limb3: 0x7375167ff8421ef85190851, }, g_rhs_sqrt: array![ u384 { limb0: 0x632c74d6c63c06569bb29b39, limb1: 0x6e8b6a6b8947fb16b2b1f8e, limb2: 0xfa58d6af1a9f3e3e9e535d3b, - limb3: 0x735894ddb58924467513e7a - } + limb3: 0x735894ddb58924467513e7a, + }, ] .span(), }; @@ -23022,133 +23022,133 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x5fbf29cf20556a11621a6639, limb1: 0xdfda5b7dbf0b226822094787, limb2: 0x4a3b059e521b4b0445df96d5, - limb3: 0x333988c2c09f5af061cdfb + limb3: 0x333988c2c09f5af061cdfb, }, y: u384 { limb0: 0x13d3570be6d27d1d588b22fc, limb1: 0x20c763e58d4df3e4990cdae9, limb2: 0x2c3301367f400c31f4bded26, - limb3: 0x16a6c25d133fba74b4c55972 - } + limb3: 0x16a6c25d133fba74b4c55972, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0x5d79c4bd3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -23156,15 +23156,15 @@ mod msm_tests { limb0: 0xfa1298b93ad8fbd218e7a8d2, limb1: 0x327456da8b52f32796aacc4e, limb2: 0xbcfaa07f75f14df342d6a0a5, - limb3: 0x79b2425a1f8fd290f4df1f4 + limb3: 0x79b2425a1f8fd290f4df1f4, }, y: u384 { limb0: 0x8ddf19c261b1cc5d95bcf848, limb1: 0xc23c1fc4b357df7fe96dc032, limb2: 0xa6cf5de50e4ea0c3d70d9dc7, - limb3: 0x5f876f91dd355f7d5b84c3e - } - } + limb3: 0x5f876f91dd355f7d5b84c3e, + }, + }, ); } @@ -23173,7 +23173,7 @@ mod msm_tests { fn test_msm_BLS12_381_9P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -23339,7 +23339,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -23506,7 +23506,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -23677,7 +23677,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -23846,7 +23846,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -24015,7 +24015,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -24183,7 +24183,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -24349,7 +24349,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -24519,10 +24519,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -24530,42 +24530,42 @@ mod msm_tests { limb0: 0x7346ae721cbc817fae4ed37e, limb1: 0x278ae15181b08d252f07c918, limb2: 0x70de67a5dda860147869d6c2, - limb3: 0x9ace901a0ef54bb7396253c + limb3: 0x9ace901a0ef54bb7396253c, }, y: u384 { limb0: 0x87d3d23aefb249ec2397cd62, limb1: 0x60cf26a4ddc3e2937c6a0fee, limb2: 0xab02ef4edb02fb817fbf811a, - limb3: 0x1334d85431079e9e45e5f998 - } + limb3: 0x1334d85431079e9e45e5f998, + }, }, Q_high: G1Point { x: u384 { limb0: 0x280e0ed2c117d0f8ffa2f53c, limb1: 0x2179f35bdb1722397c1d7f40, limb2: 0x3512669bf911ac3e6f870439, - limb3: 0x24bd2cd7e204425a57baf28 + limb3: 0x24bd2cd7e204425a57baf28, }, y: u384 { limb0: 0x82abe18198982bdabf14e661, limb1: 0x39bc64dd8e851ab864d0fb3a, limb2: 0xfed652c14a18cb2bbe8ea8cd, - limb3: 0xa1cb9be58702cd996ce2b00 - } + limb3: 0xa1cb9be58702cd996ce2b00, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xdee5198e9c609883ba2e260, limb1: 0x7bdc190ea8e0095979815f5f, limb2: 0xa0dd0a7e09b69284ad43ef43, - limb3: 0xf0b8fbf01be81065f0311dd + limb3: 0xf0b8fbf01be81065f0311dd, }, y: u384 { limb0: 0xe2af613d94ee1a2afc352a86, limb1: 0x76b0de9cd8cb60ebd1be9de3, limb2: 0x292dc7486e1a825bb2ecf091, - limb3: 0xf39a76c2219f17c75bfcca2 - } + limb3: 0xf39a76c2219f17c75bfcca2, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -24573,64 +24573,64 @@ mod msm_tests { limb0: 0x2dd818d682930d53d446d8e4, limb1: 0xebc00c9658458501664b8296, limb2: 0x72ecc7baf6c7c4aab795b7cb, - limb3: 0x16f2a2f344e6187de4da6184 + limb3: 0x16f2a2f344e6187de4da6184, }, u384 { limb0: 0xadced937c31468b01a7486fd, limb1: 0x8244389282a4b13144614658, limb2: 0xa8c610e8b084e95f9d20ab84, - limb3: 0x419feae3306d5fd201a6721 + limb3: 0x419feae3306d5fd201a6721, }, u384 { limb0: 0xe58a6a776766a77b21b83290, limb1: 0x979c6de939bafde414180cd4, limb2: 0xc1658ecef54156c4a8ee076a, - limb3: 0xb94a54feaab927dea31f82a + limb3: 0xb94a54feaab927dea31f82a, }, u384 { limb0: 0x9ba4a2cf003f99b4acf6f8a2, limb1: 0x1d1545105174dedd950710b0, limb2: 0x8b3a997a944b7923478bf354, - limb3: 0x1186696f23a8aad7fb847af9 + limb3: 0x1186696f23a8aad7fb847af9, }, u384 { limb0: 0x2ca9185856668432cec93427, limb1: 0x7f0461d18797a2f37ded8f1a, limb2: 0x2505feddc28eb2ba7845235, - limb3: 0x18374ecacffae48baa14b33c + limb3: 0x18374ecacffae48baa14b33c, }, u384 { limb0: 0x171e826a40f3d078e41e0f73, limb1: 0xa1f6b924c858e4b95c277308, limb2: 0x13df7d958ff255f54b9e05ad, - limb3: 0x5605ad9e4b18fc529716e83 + limb3: 0x5605ad9e4b18fc529716e83, }, u384 { limb0: 0xfe9e5e02916253a4b9e7167c, limb1: 0xa1a14a0c4c6ff9badb8e6ccf, limb2: 0x6ea2ff2d751ed170ac90efd6, - limb3: 0x14e6baf0b6e5ebc79fdc951b + limb3: 0x14e6baf0b6e5ebc79fdc951b, }, u384 { limb0: 0x464a5df8748577b3468d5856, limb1: 0xb62cbe60ea87ea7fddce0749, limb2: 0x9078f4f6927017226f7d26ab, - limb3: 0x110d6faedb93d5967f73cc43 + limb3: 0x110d6faedb93d5967f73cc43, }, u384 { limb0: 0x9fafa8b204ccd526d104be15, limb1: 0x47f1cdc09d98369e8a544347, limb2: 0x45e836ed83da5825e784ff71, - limb3: 0x116fe8ca5591abee706d8508 + limb3: 0x116fe8ca5591abee706d8508, }, u384 { limb0: 0xd46e17241fe4309bfbc87395, limb1: 0x949a6f479ea609ad594d2b31, limb2: 0x89d6ced7ca0e8d1d4f9d039c, - limb3: 0x19d27a4a8622968bcbde5db1 + limb3: 0x19d27a4a8622968bcbde5db1, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -24638,65 +24638,65 @@ mod msm_tests { limb0: 0x534c2b7ed0d793913b358027, limb1: 0xaffe2ea4f4f89b9bcec41989, limb2: 0x89608ae88dec41013afc631c, - limb3: 0xb64c96824715f26498d7bfe + limb3: 0xb64c96824715f26498d7bfe, }, u384 { limb0: 0xda5069b64cc524919e162aa4, limb1: 0x8250ffcb0b65e1453ea2bf8c, limb2: 0xf793edaf041a4f01aa23fcfd, - limb3: 0xfdb35af1759050f4d5aa2b8 + limb3: 0xfdb35af1759050f4d5aa2b8, }, u384 { limb0: 0x9231bed714afcb7f8a34363f, limb1: 0xd39f07480bb83fe3e835252b, limb2: 0x52c6426bddf3a0b7a27c1ae6, - limb3: 0xfe256acdce31a4039b6b4c0 + limb3: 0xfe256acdce31a4039b6b4c0, }, u384 { limb0: 0x886fc4a043b1aff7390ee987, limb1: 0x5f6d89203101025d8f9b89aa, limb2: 0x12e0cc3bd0571ca98717da4e, - limb3: 0x7ac2a9cfb88b3634d05d951 + limb3: 0x7ac2a9cfb88b3634d05d951, }, u384 { limb0: 0x8b90bb3510840e0d126aebc7, limb1: 0x1a427d88c05d6832165c4258, limb2: 0xbf26173e214d683c1df5f992, - limb3: 0x5587190f0036302cd572157 + limb3: 0x5587190f0036302cd572157, }, u384 { limb0: 0xdd8b74c2a6991bb58b666f42, limb1: 0x80e55839b9ae21bfed74424d, limb2: 0xd36dc9354cb0182db19d1050, - limb3: 0x112c47903141f78efef7bdca + limb3: 0x112c47903141f78efef7bdca, }, u384 { limb0: 0xfb187c5bd3903a5670332cf6, limb1: 0x93da22a1c6243ea0a2b82f11, limb2: 0xef01d4b20d0526694c26ec0f, - limb3: 0x5a257d64e0a4f672974f484 + limb3: 0x5a257d64e0a4f672974f484, }, u384 { limb0: 0x586050efe64949e187367771, limb1: 0x79649d89fc01f39b03cabf4d, limb2: 0x36ca94fac82dc6bf9fd2ab1f, - limb3: 0x691975e92b90e72b13bdcf0 + limb3: 0x691975e92b90e72b13bdcf0, }, u384 { limb0: 0xb4ce182cacbd183e023e57ee, limb1: 0x540481a5357d9d4d3fb9edfb, limb2: 0x86a804f0b641646456eef7d0, - limb3: 0xe9883f9993d1ce1155a7160 + limb3: 0xe9883f9993d1ce1155a7160, }, u384 { limb0: 0x9af8daed1d3e01eaef46eea5, limb1: 0x5f86a9731752bcc5bec29796, limb2: 0xfe51da0907870e8f1c623963, - limb3: 0x8b5c8069d0d82d170f5a665 + limb3: 0x8b5c8069d0d82d170f5a665, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -24704,70 +24704,70 @@ mod msm_tests { limb0: 0x2908bacf10b5d87d8f845933, limb1: 0x43418bcb0f4d01f0e6fb6cb7, limb2: 0x2b6b5a1735933c0f0dbf946b, - limb3: 0x151a2859359eec76de0fde21 + limb3: 0x151a2859359eec76de0fde21, }, u384 { limb0: 0x3aaffed8739a2e2003442e3, limb1: 0x84f46755ec73cfddc45be147, limb2: 0xd72405f0ad7f944be2290a71, - limb3: 0xdf78ed0e3e66b9e0167fb9 + limb3: 0xdf78ed0e3e66b9e0167fb9, }, u384 { limb0: 0x52b570e60f7f04da30782815, limb1: 0xf853ebba8dd346632c7e2979, limb2: 0xbd660b42358065ae78b93aa5, - limb3: 0x185a6fbd5a9aa3a3822e7816 + limb3: 0x185a6fbd5a9aa3a3822e7816, }, u384 { limb0: 0xfb81ceb40571b4172a9550bb, limb1: 0xd2a276b81e4615cfb95158d0, limb2: 0x228685bfb23995b950c99039, - limb3: 0x345b8c3dd51c5f4962069d7 + limb3: 0x345b8c3dd51c5f4962069d7, }, u384 { limb0: 0x8a7fa274d0f70646902a9584, limb1: 0x9514758715b30a1e1d3e3847, limb2: 0x5c16aa0222e28cd040d69fcc, - limb3: 0x11f5cd168026e8d7438113ab + limb3: 0x11f5cd168026e8d7438113ab, }, u384 { limb0: 0x5f0293df9ec41bf5c7ef5d03, limb1: 0xf319d4a82a464470671409b8, limb2: 0x368a6bc055c3e3e7b95ebf57, - limb3: 0x15c6f4332f5b0b0309299bd1 + limb3: 0x15c6f4332f5b0b0309299bd1, }, u384 { limb0: 0x7e076d2d7700ca27e5323426, limb1: 0x97af1149841d8b3ddb6aaf12, limb2: 0x87de757762a9af72cf5b1029, - limb3: 0x6812f1f26db11c8bf198048 + limb3: 0x6812f1f26db11c8bf198048, }, u384 { limb0: 0x28cb666efaf82381eaf45457, limb1: 0xaf48a14a6a85358e057bcf36, limb2: 0xabb3890cc6045004bee1419f, - limb3: 0x98852fc68c4f0be306e55e7 + limb3: 0x98852fc68c4f0be306e55e7, }, u384 { limb0: 0x19f4bb91c85bd978930577d2, limb1: 0xeafe41583ca9a5a46bcdd954, limb2: 0x83854345c16d3056b8f42040, - limb3: 0x11cd7843396ab365533dfb95 + limb3: 0x11cd7843396ab365533dfb95, }, u384 { limb0: 0x21b2d10a5dbebdd153eca087, limb1: 0x1db027072594021bf70ffca5, limb2: 0x6efd4e6004c7ed6370ae7bad, - limb3: 0x5f79e70c1f77390aec3660f + limb3: 0x5f79e70c1f77390aec3660f, }, u384 { limb0: 0xfc1167c45d6c50829d787230, limb1: 0x8d2f7e2e35b07e74ff54d883, limb2: 0xf3d42bc8e5a3dcfdb91eaac4, - limb3: 0x173c2261ee701c7689a18619 + limb3: 0x173c2261ee701c7689a18619, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -24775,85 +24775,85 @@ mod msm_tests { limb0: 0x9bdcadfb895f4e44ecd655f1, limb1: 0x58c7e7f2dd31784b1c646626, limb2: 0xe2367ecad339b87ff86c79b3, - limb3: 0x139213b6584595fedb1a4843 + limb3: 0x139213b6584595fedb1a4843, }, u384 { limb0: 0x699a6d9bf1692467859553a, limb1: 0x3ae259ea403598ccbd32fe36, limb2: 0x57b85d0d477aa4fcc185ce77, - limb3: 0xb6ab2e7ea6447089f333b77 + limb3: 0xb6ab2e7ea6447089f333b77, }, u384 { limb0: 0xe61efb5cdec12dfe28d183a6, limb1: 0x801a77de417f1347637c94b0, limb2: 0xc481b000aedfebd4a2e6461c, - limb3: 0xb8736df008c9bcc50a38394 + limb3: 0xb8736df008c9bcc50a38394, }, u384 { limb0: 0xc3b73e00259f536e1f717b98, limb1: 0xc6838084c24baeedee864034, limb2: 0x91980f006ad1682263d6b996, - limb3: 0x101461f1d91446193289398c + limb3: 0x101461f1d91446193289398c, }, u384 { limb0: 0x573f568ad4d65cc5e7c22f15, limb1: 0x842a234d162a8be97967c8f0, limb2: 0xb0e09dd024d8a46d2e76d086, - limb3: 0xb3bea089de6aa80379b8061 + limb3: 0xb3bea089de6aa80379b8061, }, u384 { limb0: 0xf46391e281173a55b7cef346, limb1: 0xa1a1f04c0e5de47742022e66, limb2: 0xd69a60bae34e1edf8e6123ea, - limb3: 0x6903f2ef56b44ad5442b4c8 + limb3: 0x6903f2ef56b44ad5442b4c8, }, u384 { limb0: 0xc37db60fd7f39950f9dbf2b4, limb1: 0x47a5410652e106bbfbd045f3, limb2: 0x8b9c722c9ff46ac9c42e77cd, - limb3: 0x434780bfa320a65a7be03ae + limb3: 0x434780bfa320a65a7be03ae, }, u384 { limb0: 0x3bbdfef4efaa35932f451ee0, limb1: 0x98a4210fb9b4407a06db3f8f, limb2: 0x5704be51dd8d37b5a9bb9350, - limb3: 0x59dbd210167b633472aed62 + limb3: 0x59dbd210167b633472aed62, }, u384 { limb0: 0x4e1bd575e58f7cad946079a4, limb1: 0x295b98ca242aaacaf03fa3f, limb2: 0x677683495cc712b5264eca13, - limb3: 0x178c33a223369ddebe2a33e0 + limb3: 0x178c33a223369ddebe2a33e0, }, u384 { limb0: 0xb5a7e8108e8942022d4f3cdf, limb1: 0xaac3f5cd2cbe3b937f168d6d, limb2: 0xa4fd8ffec6aa1520ca2abedd, - limb3: 0xe78660688c07412a22fe666 + limb3: 0xe78660688c07412a22fe666, }, u384 { limb0: 0x586050efe64949e187367775, limb1: 0x79649d89fc01f39b03cabf4d, limb2: 0x36ca94fac82dc6bf9fd2ab1f, - limb3: 0x691975e92b90e72b13bdcf0 + limb3: 0x691975e92b90e72b13bdcf0, }, u384 { limb0: 0xb4ce182cacbd183e023e57ee, limb1: 0x540481a5357d9d4d3fb9edfb, limb2: 0x86a804f0b641646456eef7d0, - limb3: 0xe9883f9993d1ce1155a7160 + limb3: 0xe9883f9993d1ce1155a7160, }, u384 { limb0: 0x9af8daed1d3e01eaef46eea5, limb1: 0x5f86a9731752bcc5bec29796, limb2: 0xfe51da0907870e8f1c623963, - limb3: 0x8b5c8069d0d82d170f5a665 + limb3: 0x8b5c8069d0d82d170f5a665, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -24861,15 +24861,15 @@ mod msm_tests { limb0: 0xea9556c8276bf39d95901429, limb1: 0x10f5f022b704bd75e7802f33, limb2: 0x9e8110f0fed395f9bb30bfe8, - limb3: 0x4da6fa47d8a0af4fe8ff060 + limb3: 0x4da6fa47d8a0af4fe8ff060, }, g_rhs_sqrt: array![ u384 { limb0: 0xcb1a934150aa02e436834bbf, limb1: 0x36c30e7a92ad39349b8bff31, limb2: 0x34f73aaf33075e8db6f6c0a5, - limb3: 0x307479c8009825a74e56d5d - } + limb3: 0x307479c8009825a74e56d5d, + }, ] .span(), }; @@ -24879,150 +24879,150 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x5fbf29cf20556a11621a6639, limb1: 0xdfda5b7dbf0b226822094787, limb2: 0x4a3b059e521b4b0445df96d5, - limb3: 0x333988c2c09f5af061cdfb + limb3: 0x333988c2c09f5af061cdfb, }, y: u384 { limb0: 0x13d3570be6d27d1d588b22fc, limb1: 0x20c763e58d4df3e4990cdae9, limb2: 0x2c3301367f400c31f4bded26, - limb3: 0x16a6c25d133fba74b4c55972 - } + limb3: 0x16a6c25d133fba74b4c55972, + }, }, G1Point { x: u384 { limb0: 0xcb24d12438557639f52df5fd, limb1: 0x4a6a46feebe8a88a8062bd0e, limb2: 0x65f04211af4b168b1e25787d, - limb3: 0x17935d6f4fa575744ca46f75 + limb3: 0x17935d6f4fa575744ca46f75, }, y: u384 { limb0: 0x644f324be8a5c152625a5b8a, limb1: 0x501e52e8c5707d7a3a77ee18, limb2: 0x9636c463c14c5b85c2e6d3b1, - limb3: 0x1939b6f297f7b5b7fd0ac458 - } + limb3: 0x1939b6f297f7b5b7fd0ac458, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x1c60cb179148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -25030,15 +25030,15 @@ mod msm_tests { limb0: 0xb31592487d7e22876426e839, limb1: 0x4a524fdd81aca5f8622f904c, limb2: 0x8ae3eb4689f0f5e1d055233b, - limb3: 0x62cbd3128b48530dfdc285e + limb3: 0x62cbd3128b48530dfdc285e, }, y: u384 { limb0: 0xdcc4cdbef28e8119adb680cf, limb1: 0x843c323487a93e727a2dfca8, limb2: 0x7fba9c48ced229fcab925323, - limb3: 0x95bd645f0bb95a498173e3b - } - } + limb3: 0x95bd645f0bb95a498173e3b, + }, + }, ); } @@ -25047,7 +25047,7 @@ mod msm_tests { fn test_msm_BLS12_381_10P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -25213,7 +25213,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -25384,7 +25384,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -25553,7 +25553,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -25722,7 +25722,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -25890,7 +25890,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -26056,7 +26056,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -26226,7 +26226,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -26393,7 +26393,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -26564,10 +26564,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -26575,42 +26575,42 @@ mod msm_tests { limb0: 0x625c53bcdd3dedd0838beff1, limb1: 0xcb07e15a10d4575bc015205c, limb2: 0x2d427eeeb94d8dc9f8735c62, - limb3: 0x172bcbe199c9d8a12b9389c7 + limb3: 0x172bcbe199c9d8a12b9389c7, }, y: u384 { limb0: 0xeafcb601f648817e1959e01c, limb1: 0x6bd0b06d7fd2c766caf6ec5b, limb2: 0xe1bfd50ac038928b2571d10e, - limb3: 0x11d9e1ad8577f4db1ef6b668 - } + limb3: 0x11d9e1ad8577f4db1ef6b668, + }, }, Q_high: G1Point { x: u384 { limb0: 0xedb9846df215a6a54b23692b, limb1: 0x5f8b753d0b0f6a923b86bd3, limb2: 0xf6b0c0878664ed75179fa99c, - limb3: 0x1172f8ba63ad84e04422505a + limb3: 0x1172f8ba63ad84e04422505a, }, y: u384 { limb0: 0x79199cd6ac1258b0434b39ec, limb1: 0x8d390ace52602684311b314, limb2: 0x4e38c74bd0ff18deeac5f3b0, - limb3: 0xa3e7183ee7f841987aebb01 - } + limb3: 0xa3e7183ee7f841987aebb01, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x761b1eefd28e95ed15b39509, limb1: 0xcb46c3daf5eb3a2666d9c59e, limb2: 0xd5af01e7fbf829a132533307, - limb3: 0x1928ae276500d4c516350a1d + limb3: 0x1928ae276500d4c516350a1d, }, y: u384 { limb0: 0xa5a5bb48ca9892a49b6ac9fa, limb1: 0x846dfec893cc4c8bdb0e834b, limb2: 0x3bd7ed60d4c4f329754c8a4e, - limb3: 0x802baf75f1ba64c907b58be - } + limb3: 0x802baf75f1ba64c907b58be, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -26618,70 +26618,70 @@ mod msm_tests { limb0: 0x8ab1cf70b5e29614ef9b84ca, limb1: 0x3cd1a085277eac3827732f84, limb2: 0x71346fb4a85ee6d0b4603a7d, - limb3: 0x16d0ea724e2ae2e53c73fe7d + limb3: 0x16d0ea724e2ae2e53c73fe7d, }, u384 { limb0: 0x69d199dca01ef0118d1dcdf, limb1: 0x3a4b1ca9c39babc0f5797ad4, limb2: 0x69514497620d13e636dba78c, - limb3: 0x878dd33920dcdb0d599fc56 + limb3: 0x878dd33920dcdb0d599fc56, }, u384 { limb0: 0x201d6a04f8269990f37f7eb5, limb1: 0xed85433dbaa9cb18881938ac, limb2: 0xfdb55248f94f601f2f101af7, - limb3: 0x191b3586c4b8f4b9734b0aa5 + limb3: 0x191b3586c4b8f4b9734b0aa5, }, u384 { limb0: 0x1996b6a634b398f3758c43dd, limb1: 0x64cfe52d2bcc5ed53ccf19e0, limb2: 0x624a49f44a0e0591d3978fbd, - limb3: 0xdf6528087b815a43c82248 + limb3: 0xdf6528087b815a43c82248, }, u384 { limb0: 0x172bd1b76a05538a6e252432, limb1: 0x47138bff2a3e8807923d0664, limb2: 0x771f433dda70518e0e798c91, - limb3: 0x171b0203a2fcc50e74654c54 + limb3: 0x171b0203a2fcc50e74654c54, }, u384 { limb0: 0xbb519c77ca4671e47f3cb302, limb1: 0x613337c9ff525866bd0fc521, limb2: 0x46e48af3a92946d00eca0700, - limb3: 0xf33efe3eec79a0edc8bc9eb + limb3: 0xf33efe3eec79a0edc8bc9eb, }, u384 { limb0: 0xa9a0094345f13c9387f2fa64, limb1: 0x4bc863850d2bc539c734914c, limb2: 0xd845cd5c81f19abc1932c4a7, - limb3: 0x19691e5d70a8f9796d7c2256 + limb3: 0x19691e5d70a8f9796d7c2256, }, u384 { limb0: 0x22e425a247e7621705b1f68a, limb1: 0xc7ba16ba72f2b3623eff2cde, limb2: 0xf373d63621a96d47fe26d943, - limb3: 0x184ac35f8d8518289e158911 + limb3: 0x184ac35f8d8518289e158911, }, u384 { limb0: 0x9e0c7385c2f6fb0e8fcf5550, limb1: 0x620b7502f7aa1ccb5df6d9cb, limb2: 0x60b3001bf5178198f73304ef, - limb3: 0x139b6612cf08581fc98293bc + limb3: 0x139b6612cf08581fc98293bc, }, u384 { limb0: 0xebc1f38e0dfe03419a64637b, limb1: 0x30ee469cba4e02a0c46d24f2, limb2: 0xf316d00c2a85a4b30e1d0cb9, - limb3: 0x8a60743c4a10f659bae5ed6 + limb3: 0x8a60743c4a10f659bae5ed6, }, u384 { limb0: 0x81ffbf396e187da10cb114f2, limb1: 0xa692b8772574cb0de39ac128, limb2: 0xe509f2f1c05665c720e81c29, - limb3: 0x3fea10d9e17e73241990525 + limb3: 0x3fea10d9e17e73241990525, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -26689,71 +26689,71 @@ mod msm_tests { limb0: 0xd186dcd427ebe6f00297a15a, limb1: 0x27fb9c2c9a28eae521f7af75, limb2: 0x63f0ee96d7340dc10924a1a3, - limb3: 0x160ea91d1d7cefa621595a77 + limb3: 0x160ea91d1d7cefa621595a77, }, u384 { limb0: 0xeefe8b2b9b14ff5baa85b499, limb1: 0x93fa6ad7f7c2610447e933f5, limb2: 0x164ad6925c851087fa40b287, - limb3: 0x5d7c13c5ba5e89674056428 + limb3: 0x5d7c13c5ba5e89674056428, }, u384 { limb0: 0x96c452392a0704f66b616b91, limb1: 0xf8abbd34e634b6d471658a51, limb2: 0xffa725a34255fd860665add1, - limb3: 0x1620cfcd602bd62512f59cee + limb3: 0x1620cfcd602bd62512f59cee, }, u384 { limb0: 0x3a4e8d0b919aac9a857a14b3, limb1: 0xc6e0b44f8fff20ed3843ed53, limb2: 0x9724c5b64f35f2299a19c522, - limb3: 0x97a2a53bd9ae392c8522e0b + limb3: 0x97a2a53bd9ae392c8522e0b, }, u384 { limb0: 0xe5bfbd8b17b1d62eb1202094, limb1: 0x51f1a48e0a485cbb4e911b42, limb2: 0x13349ddace1ae9924a83d07c, - limb3: 0x143b26dc1731e7fa75f76e48 + limb3: 0x143b26dc1731e7fa75f76e48, }, u384 { limb0: 0xfb34269230379fc03a9dcb56, limb1: 0x6d3408de9ea4ff4ae2a34539, limb2: 0x1c6707f081e5d0f9953ded2b, - limb3: 0xb1e600bdb7f72ca91777301 + limb3: 0xb1e600bdb7f72ca91777301, }, u384 { limb0: 0x9c21d885fa8c568659065b24, limb1: 0xd0e1b8bfb0cbec3a483a5c96, limb2: 0x9dc95e7cb3a9a161ddbeb53a, - limb3: 0x68e1798fe700920f6f5ef04 + limb3: 0x68e1798fe700920f6f5ef04, }, u384 { limb0: 0x160706cd5dbe4f2db69bf1c0, limb1: 0x672c16258eda4f3836b14bef, limb2: 0x170d05309f7bf9c526847711, - limb3: 0x14acc91d9913de2bcaff15a + limb3: 0x14acc91d9913de2bcaff15a, }, u384 { limb0: 0x94f7676badbe63cf9305494a, limb1: 0xfb574eb82a38560aafcf445a, limb2: 0xfb0ac03457d113c9bdefc8fc, - limb3: 0x1434ccd56b75015e32c82e4 + limb3: 0x1434ccd56b75015e32c82e4, }, u384 { limb0: 0xf1c6e9211b48344f132d339, limb1: 0xf97aeccb5581c7cb73cdcb0d, limb2: 0x69976546f0460586790971c, - limb3: 0x6005db9e2f7924e4987641c + limb3: 0x6005db9e2f7924e4987641c, }, u384 { limb0: 0x295648946a104c338d1f612, limb1: 0x452ceae1e36e06147f21f551, limb2: 0x85604960283cf1286d4c90e, - limb3: 0x15c367b8cdb02274df9b23a4 + limb3: 0x15c367b8cdb02274df9b23a4, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -26761,76 +26761,76 @@ mod msm_tests { limb0: 0xa7da4c70a1b9f31d169dec38, limb1: 0xda917ca73530c04e211d9ca3, limb2: 0x2b02374392fe2d98fb0e78fe, - limb3: 0xb7a58eac59d9da9671140e2 + limb3: 0xb7a58eac59d9da9671140e2, }, u384 { limb0: 0x84b22c5af9a9e3e157ccae50, limb1: 0x12895c43cc8b3d54c4bc8165, limb2: 0x3c35dc714160a33ed6609440, - limb3: 0x11fa82e6d6f20786ac9dad1 + limb3: 0x11fa82e6d6f20786ac9dad1, }, u384 { limb0: 0xecea39c95e382b53560f7fa1, limb1: 0x756729d4ab92391969340ac2, limb2: 0xe74182fd817492bbf2dcf0c3, - limb3: 0xdbef1f88d401500673a12db + limb3: 0xdbef1f88d401500673a12db, }, u384 { limb0: 0x3ca989a7b56b2c7f75a4d9bb, limb1: 0xb02cf9ec98af1017311331d, limb2: 0xeb59530380f1a63e621f498c, - limb3: 0x92ce7be9bd021b8717378f2 + limb3: 0x92ce7be9bd021b8717378f2, }, u384 { limb0: 0xadce7fed71c794347fae057e, limb1: 0x571cd70fd4b7e21376053d8c, limb2: 0x2d7bd027a3760fa4f8196066, - limb3: 0x54c03b338ee928dae63fba4 + limb3: 0x54c03b338ee928dae63fba4, }, u384 { limb0: 0xddadc8e7d517eb12fa85aa1b, limb1: 0x1cf051aff9ff7acc545847e7, limb2: 0xe1a530a0d04e7b50337ddc66, - limb3: 0x1506607336c0e2cf0c9b323e + limb3: 0x1506607336c0e2cf0c9b323e, }, u384 { limb0: 0xb8386ed7968db3e348aa451e, limb1: 0xbeaf14353dad9f07bcf8f066, limb2: 0x5fd1d550543702fbf4940b3a, - limb3: 0x248fcce7d952c72b4f7c2d2 + limb3: 0x248fcce7d952c72b4f7c2d2, }, u384 { limb0: 0x766876e1358bcc5655504501, limb1: 0x93f0ba80107a39792bc32769, limb2: 0x263a7a1e7dba4b5c2821f315, - limb3: 0x16593ad95a3a398271ee58e8 + limb3: 0x16593ad95a3a398271ee58e8, }, u384 { limb0: 0xd9611049bdb20dc7a273a9c9, limb1: 0x25bd15916eb3ebf61ce88ffd, limb2: 0x6a08fff8bbff6b1af40cf8c4, - limb3: 0x145841a44f8eb6456ce7efd7 + limb3: 0x145841a44f8eb6456ce7efd7, }, u384 { limb0: 0x156c8fe29205764463145cd5, limb1: 0x50eed5270a5ffc8ea0a43307, limb2: 0x257d95b1ffdba8b09f116af6, - limb3: 0x67bb7f215c7fe4b2d9d8c7e + limb3: 0x67bb7f215c7fe4b2d9d8c7e, }, u384 { limb0: 0x1b53ecca59368e3873fec13c, limb1: 0xc5e7a5240562018fc56aa4f0, limb2: 0xa713556ec8f3a00460ef75ec, - limb3: 0xe0aba43427f653ba472cea1 + limb3: 0xe0aba43427f653ba472cea1, }, u384 { limb0: 0x94e9adbdaa2a84e894a2281b, limb1: 0xe9458eaa3dc58d3838ee6ba2, limb2: 0x62ca42f023be5c9421f3a0b8, - limb3: 0x17991ca4164d969b413e7747 + limb3: 0x17991ca4164d969b413e7747, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -26838,91 +26838,91 @@ mod msm_tests { limb0: 0x321f735171b29bc00a5f8567, limb1: 0x6a5bf8cf8490c9282bdabddb, limb2: 0xc5e0b3d52f6a54754a034e4e, - limb3: 0xa376eb5c9740ac9a41272ba + limb3: 0xa376eb5c9740ac9a41272ba, }, u384 { limb0: 0xbbfa2cae6c53fd6eaa16d264, limb1: 0x4fe9ab5fdf0984111fa4cfd7, limb2: 0x592b5a497214421fe902ca1e, - limb3: 0x175f04f16e97a259d01590a0 + limb3: 0x175f04f16e97a259d01590a0, }, u384 { limb0: 0x471548e57a1f13d9ad86ae43, limb1: 0xad1c7cf0b4bff8e56992294a, limb2: 0x34b99006dbf213893f077f09, - limb3: 0xa800976d42fa4c56a837c99 + limb3: 0xa800976d42fa4c56a837c99, }, u384 { limb0: 0x58191102fa58995a18809ed0, limb1: 0x751cc828ecc38251c5af64c5, limb2: 0x39ecabc14b1d3f5d8a8190af, - limb3: 0x7f52e97a0e8b0bcac6ac339 + limb3: 0x7f52e97a0e8b0bcac6ac339, }, u384 { limb0: 0x72018158cbdf58166f0736e8, limb1: 0xa62e852d3cd0f1852629a105, limb2: 0x993a4777678ad44249c0bc3a, - limb3: 0x8c126ee0bedd4b16a902625 + limb3: 0x8c126ee0bedd4b16a902625, }, u384 { limb0: 0x20ecec8276e783f755d94393, limb1: 0xdf1a3b6d7366c7b7be9a9f3c, limb2: 0xeaabebb680feaa6274533d00, - limb3: 0xe982c285b29d41ac29c1986 + limb3: 0xe982c285b29d41ac29c1986, }, u384 { limb0: 0xf981ef23c1cd06b3e993d698, limb1: 0xa336c4ad5c7ddbb23a815fae, limb2: 0xcafe92d1b9652c2c1d8f874e, - limb3: 0x9b176cd7ddb217c590e4267 + limb3: 0x9b176cd7ddb217c590e4267, }, u384 { limb0: 0x3ddbd8c08eab12e58b8fe794, limb1: 0xeea1fd2445b1999c29564aff, limb2: 0x6f68b29d4c0ad0a6e495acc1, - limb3: 0x196659237d76df8568b733b0 + limb3: 0x196659237d76df8568b733b0, }, u384 { limb0: 0x4f11c440e7312efe86b2f07e, limb1: 0x5a9143bf47865775a1e056a4, limb2: 0x89208c1e12a20208cfd111f, - limb3: 0x102b9341365cb3221e297e95 + limb3: 0x102b9341365cb3221e297e95, }, u384 { limb0: 0x273f92ce875f639a1dd1fd5d, limb1: 0x4f9c994c10221543f8c588cc, limb2: 0x74e38af70b43d73e887bfeef, - limb3: 0x48e7c9650ce6bbfd1f7d7be + limb3: 0x48e7c9650ce6bbfd1f7d7be, }, u384 { limb0: 0xc6098f34a45623a99e4ca07, limb1: 0x464d49ca387f851dd7352137, limb2: 0x6e8211027c2553806748630c, - limb3: 0xa5535b663d213e759c988c7 + limb3: 0xa5535b663d213e759c988c7, }, u384 { limb0: 0x94f7676badbe63cf9305494e, limb1: 0xfb574eb82a38560aafcf445a, limb2: 0xfb0ac03457d113c9bdefc8fc, - limb3: 0x1434ccd56b75015e32c82e4 + limb3: 0x1434ccd56b75015e32c82e4, }, u384 { limb0: 0xf1c6e9211b48344f132d339, limb1: 0xf97aeccb5581c7cb73cdcb0d, limb2: 0x69976546f0460586790971c, - limb3: 0x6005db9e2f7924e4987641c + limb3: 0x6005db9e2f7924e4987641c, }, u384 { limb0: 0x295648946a104c338d1f612, limb1: 0x452ceae1e36e06147f21f551, limb2: 0x85604960283cf1286d4c90e, - limb3: 0x15c367b8cdb02274df9b23a4 + limb3: 0x15c367b8cdb02274df9b23a4, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -26930,7 +26930,7 @@ mod msm_tests { limb0: 0x27301d1d2721a53329d1df5, limb1: 0x2467201387763c5c75a93064, limb2: 0xbb35ba06d1626d6fd0e984b, - limb3: 0xabac5a5d470a027cad4fd71 + limb3: 0xabac5a5d470a027cad4fd71, }, g_rhs_sqrt: array![].span(), }; @@ -26940,167 +26940,167 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x5fbf29cf20556a11621a6639, limb1: 0xdfda5b7dbf0b226822094787, limb2: 0x4a3b059e521b4b0445df96d5, - limb3: 0x333988c2c09f5af061cdfb + limb3: 0x333988c2c09f5af061cdfb, }, y: u384 { limb0: 0x13d3570be6d27d1d588b22fc, limb1: 0x20c763e58d4df3e4990cdae9, limb2: 0x2c3301367f400c31f4bded26, - limb3: 0x16a6c25d133fba74b4c55972 - } + limb3: 0x16a6c25d133fba74b4c55972, + }, }, G1Point { x: u384 { limb0: 0xcb24d12438557639f52df5fd, limb1: 0x4a6a46feebe8a88a8062bd0e, limb2: 0x65f04211af4b168b1e25787d, - limb3: 0x17935d6f4fa575744ca46f75 + limb3: 0x17935d6f4fa575744ca46f75, }, y: u384 { limb0: 0x644f324be8a5c152625a5b8a, limb1: 0x501e52e8c5707d7a3a77ee18, limb2: 0x9636c463c14c5b85c2e6d3b1, - limb3: 0x1939b6f297f7b5b7fd0ac458 - } + limb3: 0x1939b6f297f7b5b7fd0ac458, + }, }, G1Point { x: u384 { limb0: 0xde1d8e2670532ec5bba60ade, limb1: 0x1154f5064f7dd38656f7f82b, limb2: 0xc9bec68372b7d07dcf66270c, - limb3: 0x315ced00b3153219bbd430 + limb3: 0x315ced00b3153219bbd430, }, y: u384 { limb0: 0xc48b3bc110e208d827b13f4d, limb1: 0x87d82592699bca3dbf847c2b, limb2: 0xff04f0f2c8be12365aa73443, - limb3: 0x1739c8c450ac994a5326c809 - } + limb3: 0x1739c8c450ac994a5326c809, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0xbacf6e172ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8, }, u256 { - low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9 + low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -27108,15 +27108,15 @@ mod msm_tests { limb0: 0x75b33668139cf598c76976ae, limb1: 0xb57555c5f811f5932d2d664f, limb2: 0x3dc0a463f21f628f6dd61035, - limb3: 0x13a7f85cd448414d544b7ba9 + limb3: 0x13a7f85cd448414d544b7ba9, }, y: u384 { limb0: 0xedc098375876a9807b6eda05, limb1: 0x650b70683fc239e28e6697c5, limb2: 0x368e2ab0d50c091cf0be6938, - limb3: 0xcd0881f2458dd277af780b3 - } - } + limb3: 0xcd0881f2458dd277af780b3, + }, + }, ); } @@ -27125,7 +27125,7 @@ mod msm_tests { fn test_msm_BLS12_381_11P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -27295,7 +27295,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -27464,7 +27464,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -27633,7 +27633,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -27801,7 +27801,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -27967,7 +27967,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -28137,7 +28137,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -28304,7 +28304,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -28475,7 +28475,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -28644,7 +28644,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -28814,10 +28814,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -28825,42 +28825,42 @@ mod msm_tests { limb0: 0xda9cdde4e5c188233d85ff60, limb1: 0x94bff3ad03f3cd34b48043c2, limb2: 0x25a858c0f2c2ce6d9c1bcf02, - limb3: 0x1832d91c2c3f9a6f969b267e + limb3: 0x1832d91c2c3f9a6f969b267e, }, y: u384 { limb0: 0x96f189a68bc1acf589e8ee8, limb1: 0x4a1949d57a1cd60710138159, limb2: 0x10f87bc3adcbbcafeb091948, - limb3: 0x1519173fd0ddb592b2a9438f - } + limb3: 0x1519173fd0ddb592b2a9438f, + }, }, Q_high: G1Point { x: u384 { limb0: 0xe28783905041626972027b5d, limb1: 0x209a7185e3d7dcf824cd318, limb2: 0xedea887527ba8825337cc658, - limb3: 0xa097cd7b1cf6b4244b0d234 + limb3: 0xa097cd7b1cf6b4244b0d234, }, y: u384 { limb0: 0x8a8dfb95bbd5a3372759b0de, limb1: 0x59df5374722393631e53b53, limb2: 0x96fc6de10523745e115d47e4, - limb3: 0x399551a8a5d335850b49e6a - } + limb3: 0x399551a8a5d335850b49e6a, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x28f1d7db996ba62dbf84ef85, limb1: 0xdd4f6c28e044fec88359238c, limb2: 0x3dc00b6d0c79ca704e025684, - limb3: 0x18cd5498819252b01053293c + limb3: 0x18cd5498819252b01053293c, }, y: u384 { limb0: 0x78e32d74881ba0a29e12561, limb1: 0x6587f89c3b6e577301996b36, limb2: 0x84c0912c12022d68336ec3d5, - limb3: 0x18587691602430b0d4f1defe - } + limb3: 0x18587691602430b0d4f1defe, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -28868,76 +28868,76 @@ mod msm_tests { limb0: 0xa0de26ff3ae146fc47f83584, limb1: 0x66c358a7e7f26cc7fdcf7132, limb2: 0x5360dcccc62402b4b04905b, - limb3: 0x6843a1421bc106828db9abc + limb3: 0x6843a1421bc106828db9abc, }, u384 { limb0: 0x3da5c8b5f504f4615c5fffc7, limb1: 0x8ee50683716614477c06f07c, limb2: 0x244794c48ed63afbc5718469, - limb3: 0x121495b4d959bda9a0b070d3 + limb3: 0x121495b4d959bda9a0b070d3, }, u384 { limb0: 0xca5b3523df67af59d1deea9d, limb1: 0x3125b2a9b3d3e9cb1052672a, limb2: 0xa7178caa89eb8a42c47af224, - limb3: 0x19323af8da8195ead57ceae0 + limb3: 0x19323af8da8195ead57ceae0, }, u384 { limb0: 0xe8a2665119e069c59b355589, limb1: 0x54ee3e285f612bc6f98f2d74, limb2: 0x7842f877114cb228214eb801, - limb3: 0x1785e840369f9334cec71eb4 + limb3: 0x1785e840369f9334cec71eb4, }, u384 { limb0: 0xf5adae6dbf861782fe58e737, limb1: 0x82fc0fce43bb596809599942, limb2: 0xb7643672e7df1bf21f062fea, - limb3: 0x1073daa278cf27984e4717c2 + limb3: 0x1073daa278cf27984e4717c2, }, u384 { limb0: 0x67ea56bd43e2f893a6f7731d, limb1: 0x241c71d2f6f771deecfb1832, limb2: 0xeed4c7464710128c06093c75, - limb3: 0x377b5d86720e49cdd9838ec + limb3: 0x377b5d86720e49cdd9838ec, }, u384 { limb0: 0xc0b0ab6915cf0301a1c84bfc, limb1: 0xd59d28f7f4ba9166b5930c4e, limb2: 0x3ee95d9a38e14da969e37aa, - limb3: 0xfdf955dd6483888954894bd + limb3: 0xfdf955dd6483888954894bd, }, u384 { limb0: 0x7c4ccca1918ccac71abc8c39, limb1: 0x24091a5c272863907fbcf935, limb2: 0xd992be27ca37a93856126f99, - limb3: 0x2c3e32bc4fa36bbd3dc5b2 + limb3: 0x2c3e32bc4fa36bbd3dc5b2, }, u384 { limb0: 0x30f87dd5f990ecb57c81849, limb1: 0xd3b8b99264298a42e954f2e4, limb2: 0xa9f8a4151ec0ae3c84ca5c43, - limb3: 0x7d996bbe558835277196984 + limb3: 0x7d996bbe558835277196984, }, u384 { limb0: 0xd2dd52b5c9c166d2d4721b4f, limb1: 0x96c097b9e4114a18a682a61a, limb2: 0x1fba06be2b9b7153b1712d21, - limb3: 0x10de0cdca0acf11ab3f243f3 + limb3: 0x10de0cdca0acf11ab3f243f3, }, u384 { limb0: 0x595f0e14beadf504e2c268e7, limb1: 0x7df2941a0bd66bf652eeb509, limb2: 0xe5e8b6910404cbfef716ef66, - limb3: 0x148ee8e638b3da1ada5e126a + limb3: 0x148ee8e638b3da1ada5e126a, }, u384 { limb0: 0x5fbed78121bb281f9e06ee57, limb1: 0xaa584b71beaeb2747ca28652, limb2: 0x94f74cab2c96fb8f98432256, - limb3: 0x2d47f20f9a4fb46578b2270 + limb3: 0x2d47f20f9a4fb46578b2270, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -28945,77 +28945,77 @@ mod msm_tests { limb0: 0xc54379d1d4882196b227013a, limb1: 0xe3ea061981f3320f30f18572, limb2: 0xd3324f96a5bc30b2c374c8f, - limb3: 0x7edcb8dc454c462c9b0d620 + limb3: 0x7edcb8dc454c462c9b0d620, }, u384 { limb0: 0x449e39141a6f6292d38e5ac5, limb1: 0xefee812a94942f15997e3e3f, limb2: 0x3de66730439f12804ec6b70b, - limb3: 0x7f73f2e7ac14bf40d65f33e + limb3: 0x7f73f2e7ac14bf40d65f33e, }, u384 { limb0: 0x9e49a7773b9e93676619e71b, limb1: 0x812d1d28111e84ef2a01435e, limb2: 0x24412b589e48d3d4ab781243, - limb3: 0x3b5ccd5ad908dfc5382e727 + limb3: 0x3b5ccd5ad908dfc5382e727, }, u384 { limb0: 0x653289348e6d2f0c6134b191, limb1: 0xda84d117951e9a09d3ead25, limb2: 0x1fd934065ca3ec46aa7f68d9, - limb3: 0x684e417efc9e14735a2624e + limb3: 0x684e417efc9e14735a2624e, }, u384 { limb0: 0xbafe62692435da9ce3ae9bff, limb1: 0xc245d834a417cad9e6fb7a93, limb2: 0x3e48a5636389aee58d5f905d, - limb3: 0x11c3b4382904a87f48de3d26 + limb3: 0x11c3b4382904a87f48de3d26, }, u384 { limb0: 0xce255687ee36849660d4b4cc, limb1: 0xc0e2bbf1bf3af13b03fa72d5, limb2: 0xd4ec0b7897faf9efe73fcb1d, - limb3: 0x125a3d63361fb72c2b23f45a + limb3: 0x125a3d63361fb72c2b23f45a, }, u384 { limb0: 0x3a6075a0fd00fadb4a8cc34e, limb1: 0x74c672e0e7b0a6daf6c3ca95, limb2: 0xff58e474183a41553d3c342a, - limb3: 0x1235933aeb4f7e80fe25e9b5 + limb3: 0x1235933aeb4f7e80fe25e9b5, }, u384 { limb0: 0x37bf28feafffbe9afdafbaf7, limb1: 0xee92ebaeb68122b615ed9a96, limb2: 0x6f50a38969d02e06b084b868, - limb3: 0x1458fa0962c7da337405c77d + limb3: 0x1458fa0962c7da337405c77d, }, u384 { limb0: 0xcf70e4382bb71c56eab0350d, limb1: 0xabe42464b4b2621e3ed747bf, limb2: 0x691b22e793a9f6c3d02342a0, - limb3: 0x12332dcf9adf1b88db5a335 + limb3: 0x12332dcf9adf1b88db5a335, }, u384 { limb0: 0xf5dfff3c9a9cef0aaae0b2ea, limb1: 0xc35a3adaaa4f24dd045bd647, limb2: 0x6bbd54791dcb5234fab435ee, - limb3: 0xfe15ecd270510b56db93cc7 + limb3: 0xfe15ecd270510b56db93cc7, }, u384 { limb0: 0xaf7d73d2e42fdf4bbeffa923, limb1: 0xf60ba815c146aab2e50d64de, limb2: 0xc60ec2a5401909dbaf49170e, - limb3: 0x13d85386b3c411d2c960c91a + limb3: 0x13d85386b3c411d2c960c91a, }, u384 { limb0: 0x59ab6b05bc03531797486b1f, limb1: 0x25bc5f3e2e9a640b9b76e662, limb2: 0x6aec23b51d03c51b78d57644, - limb3: 0x9c1cb8ee8e2d316bb7acf54 + limb3: 0x9c1cb8ee8e2d316bb7acf54, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -29023,82 +29023,82 @@ mod msm_tests { limb0: 0xda8a2f0d428647f8e27c9b98, limb1: 0x26f53596e709fc6a01ed5b20, limb2: 0xa08ca78af7fb58d25da0eb77, - limb3: 0xf66483819faebf98f918d30 + limb3: 0xf66483819faebf98f918d30, }, u384 { limb0: 0xa0f94bd44355f022b0457c6c, limb1: 0x3422f352b5469aec68b52391, limb2: 0xebd8b22fb4513f07fc58263, - limb3: 0xaf0770c6154b5ed034c3b52 + limb3: 0xaf0770c6154b5ed034c3b52, }, u384 { limb0: 0x4423ff15f439dc9f1fce82c1, limb1: 0x38fabcb8bead5afbe00fbb60, limb2: 0xacbb14806994a7272b40a8a0, - limb3: 0x1bb5bb3169c4b3c117c0b7e + limb3: 0x1bb5bb3169c4b3c117c0b7e, }, u384 { limb0: 0xac336ad029466aff2981dbd, limb1: 0x121a2563932f4e81a708df34, limb2: 0x65b1a653fcebfc6d66dbe951, - limb3: 0x11c6e82bababdd5cdd0c6b50 + limb3: 0x11c6e82bababdd5cdd0c6b50, }, u384 { limb0: 0x3ab916386071436ea1f5a076, limb1: 0xbd886a792fccec6cc7dc8bb6, limb2: 0xbfde16f7c76678af04b792d3, - limb3: 0x1210820e6e5db64ff248f6b7 + limb3: 0x1210820e6e5db64ff248f6b7, }, u384 { limb0: 0x7ab5e102a7a6e02691d366a2, limb1: 0x7f178772c86e2fc943868f23, limb2: 0xe6949991ad106a8409ae2ab6, - limb3: 0x1907390fff3003f73e455c87 + limb3: 0x1907390fff3003f73e455c87, }, u384 { limb0: 0xa5615b0d8f3f950b34fdd036, limb1: 0x4e6831abe02b7d4ae76d1a8, limb2: 0x86280cc4bed22db5bf171e7c, - limb3: 0xffa4877c036843e46cb4b5c + limb3: 0xffa4877c036843e46cb4b5c, }, u384 { limb0: 0x75904650a2d4f765d603a75, limb1: 0xccb8ee0710d5187cf94a1e36, limb2: 0x3190b86ad254d60045859368, - limb3: 0x164c5823e26a9806160fc80c + limb3: 0x164c5823e26a9806160fc80c, }, u384 { limb0: 0xf5f2515df61a97a8e6d726b5, limb1: 0x89da2f47383a89e10ffb0afb, limb2: 0xf69e07c295600a5b63489a38, - limb3: 0x18e4c716a2edf9f2ca859b1c + limb3: 0x18e4c716a2edf9f2ca859b1c, }, u384 { limb0: 0xf93eb8d83a9f22c93acfefc0, limb1: 0xcf83f9586c260c6d5eb52c99, limb2: 0xc80a14e9023debdb3b01a38, - limb3: 0xe2e084e135811e5c34acd25 + limb3: 0xe2e084e135811e5c34acd25, }, u384 { limb0: 0xf0f1efcff2d0554435715bef, limb1: 0x485982a09c996bde1716f56, limb2: 0xc152b050340d67419cc59ef6, - limb3: 0x18298f7e03dc105b681ed6fe + limb3: 0x18298f7e03dc105b681ed6fe, }, u384 { limb0: 0xbbf3bf6a13f08745301578ff, limb1: 0xb4147b839403505f27096d89, limb2: 0x719b76f5befba08abe905253, - limb3: 0x13926f3403adfc34236de708 + limb3: 0x13926f3403adfc34236de708, }, u384 { limb0: 0x6a0ec684ba298f1f3b41f681, limb1: 0xa0682761fb58506aac226df4, limb2: 0x51b4bce7c8fba8c44bed59f4, - limb3: 0xb4aafde248fb3b9baaaa7da + limb3: 0xb4aafde248fb3b9baaaa7da, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -29106,97 +29106,97 @@ mod msm_tests { limb0: 0x63b9e7479821865ac89c5a3d, limb1: 0x287745c5111bd218a51a15cc, limb2: 0xf180e70e44f7c0a7bd581f80, - limb3: 0x5b61c4cd7d32af0dba7b0c9 + limb3: 0x5b61c4cd7d32af0dba7b0c9, }, u384 { limb0: 0x6124e450afbe8a4b4e39c069, limb1: 0x588932095b9fc632474cf8fe, limb2: 0xb44defe9aa04fe7c4795c970, - limb3: 0x5dbeacfb1854935ea7c2542 + limb3: 0x5dbeacfb1854935ea7c2542, }, u384 { limb0: 0x79269ddcee7a4d9d98679c6c, limb1: 0x4b474a0447a13bca8050d7a, limb2: 0x9104ad6279234f52ade0490e, - limb3: 0xed73356b64237f14e0b9c9c + limb3: 0xed73356b64237f14e0b9c9c, }, u384 { limb0: 0xa8b99ea4543dddc836fa1cd3, limb1: 0xb35a67be7089e26d87403a09, limb2: 0x494c483b787428a0e2afdd34, - limb3: 0x8004a0349fc62e5551eb7a2 + limb3: 0x8004a0349fc62e5551eb7a2, }, u384 { limb0: 0x1c9bc2b97d49cd066249cac0, limb1: 0xc3736a1a40e07810d9682892, limb2: 0x6d25f637a45feb87a9b5c044, - limb3: 0x102da5072543a224f8bf0b4 + limb3: 0x102da5072543a224f8bf0b4, }, u384 { limb0: 0x74370197807aa5c0e96d64f5, limb1: 0xb65667ad20a85d92fc930eb8, limb2: 0xf159ff8c3546248a616d193b, - limb3: 0x191c9e8e130f9d7869db6925 + limb3: 0x191c9e8e130f9d7869db6925, }, u384 { limb0: 0x3ab85fb954741a798b68bec8, limb1: 0xab2fa0b23401a2a01c49d77e, limb2: 0x5359bf5090270f0cc4e10144, - limb3: 0x157fb44f088277c4ce71203 + limb3: 0x157fb44f088277c4ce71203, }, u384 { limb0: 0x85ff0664b637d508da6e87da, limb1: 0x46ff0f0c9a097345e2ade4f0, limb2: 0x31a82d02dd64847174e339c3, - limb3: 0x1524669f07a45d7e37a263f9 + limb3: 0x1524669f07a45d7e37a263f9, }, u384 { limb0: 0xbe8e7689d12f5f20b958900, limb1: 0x70734d84920479b3ff5791d5, limb2: 0x79589716e6a2d4ff27ccd5a0, - limb3: 0x16e708d71cd77e0e61fa8130 + limb3: 0x16e708d71cd77e0e61fa8130, }, u384 { limb0: 0xfde472943977b705f6108ef5, limb1: 0x4c9ce668acda57e2ac2f23b8, limb2: 0xe46b2fd26201a79a4d7dd3a7, - limb3: 0x3b7d8b0dae40d87d3b7e5b0 + limb3: 0x3b7d8b0dae40d87d3b7e5b0, }, u384 { limb0: 0xe1b8f84b12c23bc9f9af5f82, limb1: 0x912f1422d788eb154e1f2e14, limb2: 0xbda8a7983cce72e69319dc66, - limb3: 0x15b7126585586dafb835f4c5 + limb3: 0x15b7126585586dafb835f4c5, }, u384 { limb0: 0x84ca904f61c568b547d236de, limb1: 0xdba4cebc786afc288e06e14a, limb2: 0xd18004e4a341bfacbff408f1, - limb3: 0xe294f2e63b95779308538d0 + limb3: 0xe294f2e63b95779308538d0, }, u384 { limb0: 0xf5dfff3c9a9cef0aaae0b2ee, limb1: 0xc35a3adaaa4f24dd045bd647, limb2: 0x6bbd54791dcb5234fab435ee, - limb3: 0xfe15ecd270510b56db93cc7 + limb3: 0xfe15ecd270510b56db93cc7, }, u384 { limb0: 0xaf7d73d2e42fdf4bbeffa923, limb1: 0xf60ba815c146aab2e50d64de, limb2: 0xc60ec2a5401909dbaf49170e, - limb3: 0x13d85386b3c411d2c960c91a + limb3: 0x13d85386b3c411d2c960c91a, }, u384 { limb0: 0x59ab6b05bc03531797486b1f, limb1: 0x25bc5f3e2e9a640b9b76e662, limb2: 0x6aec23b51d03c51b78d57644, - limb3: 0x9c1cb8ee8e2d316bb7acf54 + limb3: 0x9c1cb8ee8e2d316bb7acf54, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -29204,7 +29204,7 @@ mod msm_tests { limb0: 0x9243454eb54346e6236cf51b, limb1: 0xa1644de81217068da9794eb9, limb2: 0x76794330d97c2f5e56337a24, - limb3: 0x31f72ef661df842d9ebbd0 + limb3: 0x31f72ef661df842d9ebbd0, }, g_rhs_sqrt: array![].span(), }; @@ -29214,184 +29214,184 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x5fbf29cf20556a11621a6639, limb1: 0xdfda5b7dbf0b226822094787, limb2: 0x4a3b059e521b4b0445df96d5, - limb3: 0x333988c2c09f5af061cdfb + limb3: 0x333988c2c09f5af061cdfb, }, y: u384 { limb0: 0x13d3570be6d27d1d588b22fc, limb1: 0x20c763e58d4df3e4990cdae9, limb2: 0x2c3301367f400c31f4bded26, - limb3: 0x16a6c25d133fba74b4c55972 - } + limb3: 0x16a6c25d133fba74b4c55972, + }, }, G1Point { x: u384 { limb0: 0xcb24d12438557639f52df5fd, limb1: 0x4a6a46feebe8a88a8062bd0e, limb2: 0x65f04211af4b168b1e25787d, - limb3: 0x17935d6f4fa575744ca46f75 + limb3: 0x17935d6f4fa575744ca46f75, }, y: u384 { limb0: 0x644f324be8a5c152625a5b8a, limb1: 0x501e52e8c5707d7a3a77ee18, limb2: 0x9636c463c14c5b85c2e6d3b1, - limb3: 0x1939b6f297f7b5b7fd0ac458 - } + limb3: 0x1939b6f297f7b5b7fd0ac458, + }, }, G1Point { x: u384 { limb0: 0xde1d8e2670532ec5bba60ade, limb1: 0x1154f5064f7dd38656f7f82b, limb2: 0xc9bec68372b7d07dcf66270c, - limb3: 0x315ced00b3153219bbd430 + limb3: 0x315ced00b3153219bbd430, }, y: u384 { limb0: 0xc48b3bc110e208d827b13f4d, limb1: 0x87d82592699bca3dbf847c2b, limb2: 0xff04f0f2c8be12365aa73443, - limb3: 0x1739c8c450ac994a5326c809 - } + limb3: 0x1739c8c450ac994a5326c809, + }, }, G1Point { x: u384 { limb0: 0x8904b74d5d114b5416df0ed6, limb1: 0x479ee13e49cde067742c2655, limb2: 0x45b9359bfa338dd432ca9ff1, - limb3: 0x12bf6460e7a42942be6c16a0 + limb3: 0x12bf6460e7a42942be6c16a0, }, y: u384 { limb0: 0x3a8b37aacb2f620bc41c6109, limb1: 0x91f68edf90b5947273b0aadf, limb2: 0x265d48695a73800b7404124c, - limb3: 0x141e3d99b3ab683bdb0ce70f - } + limb3: 0x141e3d99b3ab683bdb0ce70f, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x3ea0f301eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8, }, u256 { - low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9 + low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x1b8bb742d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x1b8bb742d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x233a1ba09466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x233a1ba09466e4726b5f5241f323ca74, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -29399,15 +29399,15 @@ mod msm_tests { limb0: 0x9ec142be39a5f52851d40011, limb1: 0xa2c6a9a59c2e5cc721418300, limb2: 0xf1b002b6ff0a802aa11d79f1, - limb3: 0x4ef0f37cba80a70d0645e6d + limb3: 0x4ef0f37cba80a70d0645e6d, }, y: u384 { limb0: 0xb7eadd19764cdf407fce674a, limb1: 0xcd0f0fe2c23c44035093a0e2, limb2: 0xb99254d6476ffdbaf7f749d0, - limb3: 0xd20d67685607fa1d8542a6 - } - } + limb3: 0xd20d67685607fa1d8542a6, + }, + }, ); } @@ -29416,7 +29416,7 @@ mod msm_tests { fn test_msm_BLS12_381_12P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -29584,7 +29584,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -29753,7 +29753,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -29921,7 +29921,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -30087,7 +30087,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -30257,7 +30257,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -30424,7 +30424,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -30595,7 +30595,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -30764,7 +30764,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -30934,7 +30934,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -31104,7 +31104,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -31272,10 +31272,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -31283,42 +31283,42 @@ mod msm_tests { limb0: 0x3e97d2180b8d9becdeecbc4, limb1: 0x22464786b5e8678d30ea566d, limb2: 0x460842529ef02457631e7075, - limb3: 0x9d08075235f7e786a2c8610 + limb3: 0x9d08075235f7e786a2c8610, }, y: u384 { limb0: 0xad8b261cae9ca9c1ce60a5ad, limb1: 0x49ed6d249b5433c2925f4a11, limb2: 0xd21d53fd1765d52afd70bf35, - limb3: 0x19de584d836f54db00d356c4 - } + limb3: 0x19de584d836f54db00d356c4, + }, }, Q_high: G1Point { x: u384 { limb0: 0xdaebc752ad2b8ffff7549f07, limb1: 0xd413863791b7a8f0c34eb3c6, limb2: 0x9c92f45c88f9f47f20f4f8fc, - limb3: 0x145230516d9fe61cff157933 + limb3: 0x145230516d9fe61cff157933, }, y: u384 { limb0: 0xe31cca49cb02ec5099286e72, limb1: 0x299af97f18ac81739c305e01, limb2: 0xc5d74563760466c83734d9d6, - limb3: 0xd65e4b6d9b871273837279d - } + limb3: 0xd65e4b6d9b871273837279d, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xf247311021189eaad71dc07a, limb1: 0x95ea7c5761ce3305b72b3d27, limb2: 0x4ed7e368cc21a3e659c373bb, - limb3: 0xa8a70d7ede8f711ca032c1a + limb3: 0xa8a70d7ede8f711ca032c1a, }, y: u384 { limb0: 0x45f584bb123ee417f69a22ba, limb1: 0xdf04ffc9dc515c574699e709, limb2: 0x619bd5d8e446e7653d287f52, - limb3: 0xebda39b41cb789b69e9d1c1 - } + limb3: 0xebda39b41cb789b69e9d1c1, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -31326,82 +31326,82 @@ mod msm_tests { limb0: 0x437e8fc534671071816399e9, limb1: 0xaf08f39b342539198cd7ed85, limb2: 0x6449e42f325a8652ffe36766, - limb3: 0x196cbb2f666f2c0db7e43575 + limb3: 0x196cbb2f666f2c0db7e43575, }, u384 { limb0: 0x7b7a202aa51f1d63a061f8b6, limb1: 0x9213e6c007f1f28fe4e4fe35, limb2: 0x2cc4e67ea6d8a596a37ae06d, - limb3: 0xef3d3b58dd930951d80b7c7 + limb3: 0xef3d3b58dd930951d80b7c7, }, u384 { limb0: 0xb039ec0e9d5bdf7c2cac1e4e, limb1: 0x74b5a0eecb682030e217c2db, limb2: 0x810eff782a27e15a87e40481, - limb3: 0xf0e85fb407ad7e125964809 + limb3: 0xf0e85fb407ad7e125964809, }, u384 { limb0: 0x8e60db19bf58f84c816c081b, limb1: 0x94272ace538d766961dbdcdd, limb2: 0x6b987a601725f1169b67a86e, - limb3: 0x170dbf89e85757541b1a8704 + limb3: 0x170dbf89e85757541b1a8704, }, u384 { limb0: 0x3e50ec154708a45f4194dc00, limb1: 0x4a0b0ff233b8b958650d831a, limb2: 0xa2eeb1118d8425e41af41341, - limb3: 0x697b189c8717b2010040028 + limb3: 0x697b189c8717b2010040028, }, u384 { limb0: 0xca671dc0bc05bee59e6909e5, limb1: 0xaae4bc6fc052c2507e721591, limb2: 0x1f5ca76c84a80e82e7e94e89, - limb3: 0x11646a39ca1488f00c7ecffd + limb3: 0x11646a39ca1488f00c7ecffd, }, u384 { limb0: 0xc7c665fa374c37794a4ee7d0, limb1: 0xc06cb2edc1297f99ccc9a21d, limb2: 0x3b5d4e4906c847120de714c3, - limb3: 0x6e7b6da1dfd75c7b7d4df45 + limb3: 0x6e7b6da1dfd75c7b7d4df45, }, u384 { limb0: 0x70c6bb8ed397ace30662f7d1, limb1: 0x7199e517f1f7f8921021c69, limb2: 0x4e5154d03f3f14ecc28b1864, - limb3: 0x41dd293168c90092a2c52a9 + limb3: 0x41dd293168c90092a2c52a9, }, u384 { limb0: 0xc884e6fe0da7fc594bf3c97e, limb1: 0xc533dc056eb56c5edd3ce1d1, limb2: 0x642491087d7b1d776d8d84d, - limb3: 0x784c3b315832fee5f5c7b3b + limb3: 0x784c3b315832fee5f5c7b3b, }, u384 { limb0: 0xd5066a622996dd6873bca73, limb1: 0x714102cb79cd7ef2a8115bb5, limb2: 0x53d797d22e26c6194643ff5, - limb3: 0x145afdbbf18d0a9d5fa1ddd4 + limb3: 0x145afdbbf18d0a9d5fa1ddd4, }, u384 { limb0: 0xf54173da2c89b84aa7ab695, limb1: 0x410a7d631e2af402b73e0710, limb2: 0x929fa87adeeeeac6f57b0294, - limb3: 0x1306a69386002ac56840852a + limb3: 0x1306a69386002ac56840852a, }, u384 { limb0: 0x12f397494be887c83fa40a0a, limb1: 0xed2c5aa8be0bcde944cbb725, limb2: 0x3e06908c581e2add12bfe3d5, - limb3: 0x1153210a52c001866a4cddc2 + limb3: 0x1153210a52c001866a4cddc2, }, u384 { limb0: 0x64053212bfd416d46cc1749f, limb1: 0xb089fcf37d28024ff3449dfe, limb2: 0xf8789874a3749100aad75f51, - limb3: 0x14a505af73f4cd942fcafd45 + limb3: 0x14a505af73f4cd942fcafd45, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -31409,83 +31409,83 @@ mod msm_tests { limb0: 0x3f470e967c1812c91ba00625, limb1: 0x5898baadb215593d61694ef6, limb2: 0xe8f3828778e05e5348ee0505, - limb3: 0xf838e8d4a39179a761cd728 + limb3: 0xf838e8d4a39179a761cd728, }, u384 { limb0: 0xd7f4c82fd960ab60fb43c8d5, limb1: 0xed7bc1eab1178272db633743, limb2: 0xc2f622f7411edc7970301065, - limb3: 0x5842dc9f1ab4c0d45dc9687 + limb3: 0x5842dc9f1ab4c0d45dc9687, }, u384 { limb0: 0xde8c86cd47e19c4a8452151e, limb1: 0x33b09b3409ecb225f52276aa, limb2: 0x46083d82962eda5484437364, - limb3: 0x3e6341845b9c35e75035290 + limb3: 0x3e6341845b9c35e75035290, }, u384 { limb0: 0x1eeddf7c4f736be9013e4fc, limb1: 0x4a5038bbc27aa564bdf16281, limb2: 0xac9f375b498127eabaa4f215, - limb3: 0x80cc8ce0a28039e79fc5d1d + limb3: 0x80cc8ce0a28039e79fc5d1d, }, u384 { limb0: 0x49162e37200e5db0b30a5504, limb1: 0x2bd00b70868d221de191dccb, limb2: 0x4c74ef7b81c27dedf4ba9e00, - limb3: 0x53330773725ce5a45d406c6 + limb3: 0x53330773725ce5a45d406c6, }, u384 { limb0: 0x83a5b931bbc25bdf30af04c2, limb1: 0xf80c1e9d9af273377311916b, limb2: 0x84cae1eeb3cbaed85ce90f8f, - limb3: 0x19cfc137b238d58bd4d6ac1e + limb3: 0x19cfc137b238d58bd4d6ac1e, }, u384 { limb0: 0xf1d1fef85e933935d7ff1d4c, limb1: 0x1d4094a0fa2569b37c66c2d5, limb2: 0xed8a200dece3eb3ad7c7a6d7, - limb3: 0x14409a9fcdce151e4237eab4 + limb3: 0x14409a9fcdce151e4237eab4, }, u384 { limb0: 0xb1c307ecdbf3596fb4bb7154, limb1: 0xc75d86f52d4d3e2ca5853c8e, limb2: 0x286bec9ee51894c79b294e09, - limb3: 0x247c6853ccfdefbbcea3d1d + limb3: 0x247c6853ccfdefbbcea3d1d, }, u384 { limb0: 0x1733ea6ddab782ec85ae70d, limb1: 0xf0a75e2340d7451f9cc917bc, limb2: 0x5a4afa8c4f66d386c3e60b35, - limb3: 0x1794d4e1563e890d948e8176 + limb3: 0x1794d4e1563e890d948e8176, }, u384 { limb0: 0x106902960d79982e39d154ba, limb1: 0xa750e52747588f86995607aa, limb2: 0x72174997524606e217c58c90, - limb3: 0x19a65a84307841b6f8db85d9 + limb3: 0x19a65a84307841b6f8db85d9, }, u384 { limb0: 0xf3cc7d754b973b75560a6cff, limb1: 0x8b8657b1a59f8814d0ed1771, limb2: 0x299fa8bf2da443a7bf6d26c1, - limb3: 0xcc70f1e4ceb1a1b1b61cfda + limb3: 0xcc70f1e4ceb1a1b1b61cfda, }, u384 { limb0: 0x39545508bafa1850fc38962a, limb1: 0x850eaf3c0eb3a07b5a726a7, limb2: 0x89a45f95d4cc7f1658a88cd4, - limb3: 0xb1b5908818cd28e1fafb22f + limb3: 0xb1b5908818cd28e1fafb22f, }, u384 { limb0: 0x1377eaf94203c80067ff382, limb1: 0xcef824f14631f71fa26068d3, limb2: 0x7a17c2c5f91a5c4a0d69a320, - limb3: 0xae7ea0cdceaab5c035dd12f + limb3: 0xae7ea0cdceaab5c035dd12f, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -31493,88 +31493,88 @@ mod msm_tests { limb0: 0xcd595a1a13d89cc93a4fa0b, limb1: 0xa5328a18c385034770d4bc02, limb2: 0x576f337400e64ad299715fd9, - limb3: 0xf8ce5e28e5d5e6d9d6ee68a + limb3: 0xf8ce5e28e5d5e6d9d6ee68a, }, u384 { limb0: 0xe423c22b6bc884771c0342f5, limb1: 0xce6ceb2a7aee720c61b18c43, limb2: 0x12cdeb7014bcf4cf09346050, - limb3: 0x9618400d34202073e91b38f + limb3: 0x9618400d34202073e91b38f, }, u384 { limb0: 0xdbab401e8ba6b04e6072b4a, limb1: 0xb7d5ce6310f66c3c081317d3, limb2: 0xc362c8151a0d69cbce2b512e, - limb3: 0x3febcb189efdef75074d8f8 + limb3: 0x3febcb189efdef75074d8f8, }, u384 { limb0: 0x20d4f6281e54905ac5831f4d, limb1: 0xcbf95fb8102cefe2c80e8d30, limb2: 0x274fa8067ce1d23afdff052e, - limb3: 0x19bca2c183eb739a11a78e79 + limb3: 0x19bca2c183eb739a11a78e79, }, u384 { limb0: 0x73e85e52251ec9a8d5050752, limb1: 0x1e04a7dfda71c5d30164b90e, limb2: 0x11371418b2571b9ebf511137, - limb3: 0x8fa51a9ecb230973c49ba39 + limb3: 0x8fa51a9ecb230973c49ba39, }, u384 { limb0: 0x10d214527b6acc4aa3b54889, limb1: 0x706b255aece16d264cbe09e8, limb2: 0xb2d2f0bddf309eb4f2584d53, - limb3: 0x1539e21b24d4459113f5dee0 + limb3: 0x1539e21b24d4459113f5dee0, }, u384 { limb0: 0xccf8aaaa16dcb16abb636011, limb1: 0xf320f5eeb4e2c72b76d7543b, limb2: 0xb8ace6dbbc0c1f0a9301c3c3, - limb3: 0x8bf109613fcbedbd1f6eb54 + limb3: 0x8bf109613fcbedbd1f6eb54, }, u384 { limb0: 0x5db0e505f0d4c17b70ede742, limb1: 0xebf02faa2b1369c35293c278, limb2: 0x1580684a19424b874676f1d6, - limb3: 0x432a6e9f63d4f3fd7751b27 + limb3: 0x432a6e9f63d4f3fd7751b27, }, u384 { limb0: 0xcc6bfca6ed3d085a948bf76f, limb1: 0xd4e5ea9a096e5a2876582762, limb2: 0x6b6031124befcce336edcd11, - limb3: 0x4d6fcb104e4f995783df55a + limb3: 0x4d6fcb104e4f995783df55a, }, u384 { limb0: 0xeb4beb9c6bea6906be096a0d, limb1: 0x58cbd0fdd942ab6f6ca38afc, limb2: 0xa6f8a43cb124f43c47458c3, - limb3: 0xdd1097916b8d344c8786b6b + limb3: 0xdd1097916b8d344c8786b6b, }, u384 { limb0: 0x8e3622a7bd32b02b9b9596d0, limb1: 0x9b22515cd79ca9f459bcaee, limb2: 0x59b48afbf51bcd276cd79e7b, - limb3: 0x51d85d10a9d19d98c992693 + limb3: 0x51d85d10a9d19d98c992693, }, u384 { limb0: 0x86fd9f4c66ef7abaf2829b98, limb1: 0xf3301e19baf1564cde179dc5, limb2: 0x6139bd4b9efe34a8d9808497, - limb3: 0xd33b412ca6955c511ee13e7 + limb3: 0xd33b412ca6955c511ee13e7, }, u384 { limb0: 0xb0027eef2a7727d06aa449a5, limb1: 0xa736907d9496cd93f41ee2cd, limb2: 0x3116d3b02d559c178b41f5cb, - limb3: 0x149df0480c3df6ec6bb30c2a + limb3: 0x149df0480c3df6ec6bb30c2a, }, u384 { limb0: 0x9504daf42dff0e6a5f36a1b6, limb1: 0xc9935fa3930f2253e1f7926a, limb2: 0x849319a1b07bd3ee8eb93cc3, - limb3: 0xa43850bb2e3f7688bdcc6aa + limb3: 0xa43850bb2e3f7688bdcc6aa, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -31582,103 +31582,103 @@ mod msm_tests { limb0: 0x9a743a5a7c624b246e80c33e, limb1: 0x94014574daf378ad484d3bdb, limb2: 0x1d36b06f1a92e2433cadee96, - limb3: 0xa0c1660b5e49135423c0d37 + limb3: 0xa0c1660b5e49135423c0d37, }, u384 { limb0: 0x5fd320bf6582ad83ed0f2354, limb1: 0xb5ef07aac45e09cb6d8cdd0f, limb2: 0xbd88bdd047b71e5c0c04197, - limb3: 0x1610b727c6ad303517725a1f + limb3: 0x1610b727c6ad303517725a1f, }, u384 { limb0: 0x7a321b351f86712a11485478, limb1: 0xcec26cd027b2c897d489daab, limb2: 0x1820f60a58bb6952110dcd90, - limb3: 0xf98d06116e70d79d40d4a41 + limb3: 0xf98d06116e70d79d40d4a41, }, u384 { limb0: 0x95ae8675d5f5edc35befef6a, limb1: 0x1aa8cafbc54ef8ac3a82d8fb, limb2: 0x5824b31d3a6db2793ffcba9b, - limb3: 0x15b59fdb39593f7a12f2a3e9 + limb3: 0x15b59fdb39593f7a12f2a3e9, }, u384 { limb0: 0x4af9810c9f9b2223c76d723a, limb1: 0x358b1d0bd49b14c642feaa72, limb2: 0xb17e340de3b188ac4f9575a7, - limb3: 0x4fddbc94c29edc121109ea + limb3: 0x4fddbc94c29edc121109ea, }, u384 { limb0: 0x27d36b954eef0bc7470f7d7a, limb1: 0x771dcb269af2a67346b8bc5e, limb2: 0x4c0511dfd38067a229d366a6, - limb3: 0x320f14e289d7f249bef6431 + limb3: 0x320f14e289d7f249bef6431, }, u384 { limb0: 0xb53ad9da11471b95f0115a2b, limb1: 0x89c0135cc6fd69c653886ddc, limb2: 0x98e4b10ccfaaf2473f345533, - limb3: 0xb0bfd8e94e0a448a18910ce + limb3: 0xb0bfd8e94e0a448a18910ce, }, u384 { limb0: 0x10224dea8fdbc36f85f81a54, limb1: 0x494627453bc21ad077a6cf06, limb2: 0xee24a1f71624d10c615fd627, - limb3: 0xe524a8c2a654a49397cfb3a + limb3: 0xe524a8c2a654a49397cfb3a, }, u384 { limb0: 0xc422b3ce4a743c9a521bf64a, limb1: 0x1de64ca6c38baf256b85f060, limb2: 0xe0c818c25f89cedf9e6cf16a, - limb3: 0x101ecd1425335f58faa2131e + limb3: 0x101ecd1425335f58faa2131e, }, u384 { limb0: 0x6e260951ac7d99eebf45c588, limb1: 0x1dc0deba3cc3cf3d670ee183, limb2: 0xa8b8930da41ed8af68c98e1c, - limb3: 0x12d5bd07a9af8190f9376341 + limb3: 0x12d5bd07a9af8190f9376341, }, u384 { limb0: 0x1e4cfdc2965247450ce5cffa, limb1: 0x27154079d6697237abe19a59, limb2: 0x485335ecd2bb0c5cb1d3c391, - limb3: 0x161df29fd7c7a33943a2d19 + limb3: 0x161df29fd7c7a33943a2d19, }, u384 { limb0: 0x841c92ca5595d972b93dea5f, limb1: 0x438964b0572240f6360db25b, limb2: 0xfa451f34d9aa38d63f7e1907, - limb3: 0x1000152ee97206117d15fac7 + limb3: 0x1000152ee97206117d15fac7, }, u384 { limb0: 0xb29efd54e9fc8a2e53d1cd6c, limb1: 0x14cfd3aa72be7fbce57faaf8, limb2: 0xd3defb006dc0e1006661f395, - limb3: 0x1143dee3312321f2701b7b2a + limb3: 0x1143dee3312321f2701b7b2a, }, u384 { limb0: 0xf3cc7d754b973b75560a6d03, limb1: 0x8b8657b1a59f8814d0ed1771, limb2: 0x299fa8bf2da443a7bf6d26c1, - limb3: 0xcc70f1e4ceb1a1b1b61cfda + limb3: 0xcc70f1e4ceb1a1b1b61cfda, }, u384 { limb0: 0x39545508bafa1850fc38962a, limb1: 0x850eaf3c0eb3a07b5a726a7, limb2: 0x89a45f95d4cc7f1658a88cd4, - limb3: 0xb1b5908818cd28e1fafb22f + limb3: 0xb1b5908818cd28e1fafb22f, }, u384 { limb0: 0x1377eaf94203c80067ff382, limb1: 0xcef824f14631f71fa26068d3, limb2: 0x7a17c2c5f91a5c4a0d69a320, - limb3: 0xae7ea0cdceaab5c035dd12f + limb3: 0xae7ea0cdceaab5c035dd12f, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -31686,7 +31686,7 @@ mod msm_tests { limb0: 0xed007f95472ddb9f25de9275, limb1: 0x917b584d5245ae55a6ca381b, limb2: 0xbcabb3a1e87aa361a3e037c, - limb3: 0xb43cd9a512cd7f1a24b7498 + limb3: 0xb43cd9a512cd7f1a24b7498, }, g_rhs_sqrt: array![].span(), }; @@ -31696,201 +31696,201 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0xcf86158ab69213388e721bb7, limb1: 0x5f7812269d790797cad9aa15, limb2: 0xb1c3622a0177001d9ed8e25f, - limb3: 0x115cf429f459884785c6ba46 + limb3: 0x115cf429f459884785c6ba46, }, y: u384 { limb0: 0x1e81341e2f3f988ff115dda3, limb1: 0xad22946489db6ee4954fa5e1, limb2: 0x83bed94412e19d92b73cc763, - limb3: 0x2074c7bceff87d0d41edba1 - } + limb3: 0x2074c7bceff87d0d41edba1, + }, }, G1Point { x: u384 { limb0: 0xe2955c55da59eba4b7b57d3d, limb1: 0x1e6629b0431bce67cf28c22, limb2: 0x1c35b7efd5b67f87221b8bfc, - limb3: 0x3e53df9e3488a9e42acd87e + limb3: 0x3e53df9e3488a9e42acd87e, }, y: u384 { limb0: 0x2e089afa726154d40dd12102, limb1: 0x5391613ecf49db2bcf1cad86, limb2: 0x84a2abb2de6b3a6e09026a50, - limb3: 0x19557a3a3c1d62a205d5dc87 - } + limb3: 0x19557a3a3c1d62a205d5dc87, + }, }, G1Point { x: u384 { limb0: 0x490bf40774926e8b279947c, limb1: 0xeabab6aef9e9d2a4f64f4e7d, limb2: 0x3e309fe1b1c8247abab20d7e, - limb3: 0x79c527862917f69ac58fcc4 + limb3: 0x79c527862917f69ac58fcc4, }, y: u384 { limb0: 0xacb18f2da2b425c2ff50dafd, limb1: 0x7623850d87e279a8a30f31ff, limb2: 0x777564c7291d95fa80203ade, - limb3: 0x1764ce0e7fb626109b63789b - } + limb3: 0x1764ce0e7fb626109b63789b, + }, }, G1Point { x: u384 { limb0: 0x42f2f3f4f6b9d2c2b73a361f, limb1: 0xcd78c070c184c38b1e5716aa, limb2: 0x72cbc24cd90da89e0e3cefe4, - limb3: 0x19485e1c46d0dce75f8b192b + limb3: 0x19485e1c46d0dce75f8b192b, }, y: u384 { limb0: 0xb56b3539074b3c47b3f504d9, limb1: 0x2c229530bddedd8851b03dcc, limb2: 0xc93eef8474c4e18d6378e7f0, - limb3: 0x173d36f17a3c9ae77a2acc25 - } + limb3: 0x173d36f17a3c9ae77a2acc25, + }, }, G1Point { x: u384 { limb0: 0x5fbf29cf20556a11621a6639, limb1: 0xdfda5b7dbf0b226822094787, limb2: 0x4a3b059e521b4b0445df96d5, - limb3: 0x333988c2c09f5af061cdfb + limb3: 0x333988c2c09f5af061cdfb, }, y: u384 { limb0: 0x13d3570be6d27d1d588b22fc, limb1: 0x20c763e58d4df3e4990cdae9, limb2: 0x2c3301367f400c31f4bded26, - limb3: 0x16a6c25d133fba74b4c55972 - } + limb3: 0x16a6c25d133fba74b4c55972, + }, }, G1Point { x: u384 { limb0: 0xcb24d12438557639f52df5fd, limb1: 0x4a6a46feebe8a88a8062bd0e, limb2: 0x65f04211af4b168b1e25787d, - limb3: 0x17935d6f4fa575744ca46f75 + limb3: 0x17935d6f4fa575744ca46f75, }, y: u384 { limb0: 0x644f324be8a5c152625a5b8a, limb1: 0x501e52e8c5707d7a3a77ee18, limb2: 0x9636c463c14c5b85c2e6d3b1, - limb3: 0x1939b6f297f7b5b7fd0ac458 - } + limb3: 0x1939b6f297f7b5b7fd0ac458, + }, }, G1Point { x: u384 { limb0: 0xde1d8e2670532ec5bba60ade, limb1: 0x1154f5064f7dd38656f7f82b, limb2: 0xc9bec68372b7d07dcf66270c, - limb3: 0x315ced00b3153219bbd430 + limb3: 0x315ced00b3153219bbd430, }, y: u384 { limb0: 0xc48b3bc110e208d827b13f4d, limb1: 0x87d82592699bca3dbf847c2b, limb2: 0xff04f0f2c8be12365aa73443, - limb3: 0x1739c8c450ac994a5326c809 - } + limb3: 0x1739c8c450ac994a5326c809, + }, }, G1Point { x: u384 { limb0: 0x8904b74d5d114b5416df0ed6, limb1: 0x479ee13e49cde067742c2655, limb2: 0x45b9359bfa338dd432ca9ff1, - limb3: 0x12bf6460e7a42942be6c16a0 + limb3: 0x12bf6460e7a42942be6c16a0, }, y: u384 { limb0: 0x3a8b37aacb2f620bc41c6109, limb1: 0x91f68edf90b5947273b0aadf, limb2: 0x265d48695a73800b7404124c, - limb3: 0x141e3d99b3ab683bdb0ce70f - } + limb3: 0x141e3d99b3ab683bdb0ce70f, + }, }, G1Point { x: u384 { limb0: 0x6d6db022a8549ee86374b69a, limb1: 0x3e98f7258170733507d8709b, limb2: 0x10b4337a56d4cd17ab2fe1d5, - limb3: 0x11366a6fecb124757076f4b6 + limb3: 0x11366a6fecb124757076f4b6, }, y: u384 { limb0: 0x77b25b600d3baa1a2f54f826, limb1: 0x924c3c1a699e9b27b3612246, limb2: 0x6a253cae0097b1955d4f0cfd, - limb3: 0xd2bd6591140d2faabafefac - } + limb3: 0xd2bd6591140d2faabafefac, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x2a97919d8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x460ba2d39a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x2894fdbe6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x43870ae2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0x56e06d3d16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0xa4593acd7ab792809e469e6ec62b2c8, }, u256 { - low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9 + low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0x6b3f2afe642bfa42aef9c00b8a64c1b9, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x1b8bb742d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x1b8bb742d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x233a1ba09466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x233a1ba09466e4726b5f5241f323ca74, }, u256 { - low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x4b2543867c879b741d878f9f9cdf5a86 + low: 0x5306f3f5151665705b7c709acb175a5a, high: 0x4b2543867c879b741d878f9f9cdf5a86, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x22b15f3fbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x22b15f3fbb42e0b20426465e3e37952d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -31898,15 +31898,15 @@ mod msm_tests { limb0: 0xc0fae85730816663a083b3ff, limb1: 0x8eeeb4d636a81006cac603ad, limb2: 0xf0f40dc24542dd2f9caf4878, - limb3: 0x124bec083e5a23bb11859569 + limb3: 0x124bec083e5a23bb11859569, }, y: u384 { limb0: 0x8666d8ee624f5a3d425b3bae, limb1: 0x2299908d21f6475fc69fed83, limb2: 0x78f769e47d3af619393f077e, - limb3: 0x11cd8088ab13c9943e7ddf7 - } - } + limb3: 0x11cd8088ab13c9943e7ddf7, + }, + }, ); } @@ -31914,27 +31914,27 @@ mod msm_tests { #[test] fn test_msm_SECP256R1_1P() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -31942,7 +31942,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -31950,7 +31950,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -31961,9 +31961,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -31971,27 +31971,27 @@ mod msm_tests { limb0: 0x3ca5552c96ec2a5049d28426, limb1: 0xc8669717174b973f4de5a646, limb2: 0x4fbfb38ec0c14e6e, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -32000,7 +32000,7 @@ mod msm_tests { fn test_msm_SECP256R1_2P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -32171,23 +32171,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -32195,7 +32195,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -32204,7 +32204,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -32213,7 +32213,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -32225,9 +32225,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -32235,21 +32235,21 @@ mod msm_tests { limb0: 0xcab2bdb49d36853afc772e84, limb1: 0x9388d6adcd576a1b6ae83895, limb2: 0x4a4640dc5b206990, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xa65fee3201baba3b9c2f59b5, limb1: 0x1ff3274e058360d6b1e64db3, limb2: 0x2af2ec2fe4bf31ee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xda5e742b60f13ba9478a5085, limb1: 0x4ef5a3a77cc1f80dedc41ae6, limb2: 0x511bc713034c93d4, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -32259,37 +32259,37 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639 + low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -32298,7 +32298,7 @@ mod msm_tests { fn test_msm_SECP256R1_3P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -32467,7 +32467,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -32637,10 +32637,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -32648,42 +32648,42 @@ mod msm_tests { limb0: 0xf831856624736393b3b76d11, limb1: 0xc165a27df5b76589fe2ce1e2, limb2: 0x2a23444ace6bef77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa6bbeec6fb0369c3de339579, limb1: 0xd394f6a5704d1de2da06048, limb2: 0xe8057073c0fde87b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x3b1d72dc227f75f02874e08b, limb1: 0xd395fa7c14d6ff33d03e1baf, limb2: 0xbf16fcc65f95b486, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe2461ebbe7a5b4d76dbef92b, limb1: 0x3eecb75c5315cd3d2d0b9456, limb2: 0x8192517353bc6523, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xcff970bda4db69dac06ebad8, limb1: 0xdee4204cca252abd67132509, limb2: 0xa79c0006b6ca7fab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x759642b853dd01b9d2d7bb18, limb1: 0xe1e1d2f8bf0f2f5b463bfae0, limb2: 0xbc3c71be130f204d, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -32691,28 +32691,28 @@ mod msm_tests { limb0: 0x9103bd16e2232359c067051c, limb1: 0x47056dacf5ebc26121584255, limb2: 0x510b978b1c20d16d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3866c583186023310ae6006f, limb1: 0x94b09aee6293fdcebd256a74, limb2: 0xe9964a385943e6e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4e66f352e983f05cd787905a, limb1: 0x23e4fc7f433c2785b079f227, limb2: 0x6b71075ebbeffe51, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d716d3dc708179fd42941cc, limb1: 0xd8e4a54aef03a57c0c4a1845, limb2: 0xed1182498b974526, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -32720,29 +32720,29 @@ mod msm_tests { limb0: 0x32f47eb672f5bb330a73bb4a, limb1: 0x1a8091c6f1f3893bc55d0fa5, limb2: 0x8f7089d778e965c2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc7a8f052fc045a7c4ceff3e, limb1: 0x8b14021f73a80543f9ad14a3, limb2: 0x508a2680c93698e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc72a135b2aaa8dee44f9400, limb1: 0x9f66c7f22c15ecf4bac82c86, limb2: 0x6724ac9ffc3487b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x28b8828023437a8d6e45900c, limb1: 0x490cdc11b822023a5eedbb11, limb2: 0xcf427b32bdfa36c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -32750,34 +32750,34 @@ mod msm_tests { limb0: 0xc31b8bfe95c99a953dfbeabd, limb1: 0xe63b42304b4dc475c331d5ac, limb2: 0x499b1e200475197c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf166baa3bc64785c42f2e9eb, limb1: 0xd575ea7fa8f28aaa7a9b0f64, limb2: 0x128864b271e1ebf2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x116db906aee291051c9ce08, limb1: 0x2943633ba402debefac3b9a0, limb2: 0x36d5e25b3ef465fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x525c3dbd1864649780b5a73e, limb1: 0x65b5ed8ec92dd969aa336caa, limb2: 0x3f69b099f8b6619c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdcb8bc014e35c6d4febb77c9, limb1: 0x25ffc8096d6e87b1e76b8e6e, limb2: 0x45eaa89a67cda802, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -32785,49 +32785,49 @@ mod msm_tests { limb0: 0xbeada704feb34546e4301ab0, limb1: 0x5b533141bf8fd64c6afe4bd9, limb2: 0x4e4368ec25ed3c45, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a26c33296a4cf0e96b4d599, limb1: 0x27f1e1d4a919a68c6edaf9df, limb2: 0x7e1cc39a4fc825b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa37d8288f41c6ce32ecb17e2, limb1: 0x56f36c3517bd230fefdbda97, limb2: 0xde1b03a23f8bb59e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9d3ed76f0cda7c44b1892480, limb1: 0xad525772678432d3dd0efe6, limb2: 0x1e5683ea757beea2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ea4b87b01c4123da1d0af63, limb1: 0x63d92b3fc1da85514200ea22, limb2: 0x3d88eabf39828878, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc72a135b2aaa8dee44f93fd, limb1: 0x9f66c7f22c15ecf4bac82c86, limb2: 0x6724ac9ffc3487b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x28b8828023437a8d6e45900c, limb1: 0x490cdc11b822023a5eedbb11, limb2: 0xcf427b32bdfa36c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -32835,7 +32835,7 @@ mod msm_tests { limb0: 0x4d4cd96c2a9c3eeb03a36099, limb1: 0x68066c4db63f81f0b9abcbb6, limb2: 0x3cf75d802ff73183, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -32845,48 +32845,48 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613 + low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613, }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -32894,15 +32894,15 @@ mod msm_tests { limb0: 0x33ee7695471a03192ef22266, limb1: 0xb449dd8cfd0c3438e14a718c, limb2: 0x1fbb33f079b828e2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb411f97aeec2eae6044122ec, limb1: 0xcdce180b60667260d7ce284e, limb2: 0xa73a7381dd3b07c, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -32911,7 +32911,7 @@ mod msm_tests { fn test_msm_SECP256R1_4P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -33080,7 +33080,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -33250,7 +33250,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -33419,10 +33419,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -33430,42 +33430,42 @@ mod msm_tests { limb0: 0xddb5a889b8b2286c5d1124ca, limb1: 0xe3db8af7035bf63b788d1b86, limb2: 0x2e193b7cafebcfe6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x519a5d47cdb177063c1665a5, limb1: 0x4f72ccaf2e61bf1ca5909e56, limb2: 0x5a4c815353430f54, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x7471395483d3edfae9b6f108, limb1: 0xdc3612b8c1cff114d0097f61, limb2: 0xf3cd0f7bac63576e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7546388b69b878a6a1808495, limb1: 0xc57e063ce6a1619ab7f4a8c9, limb2: 0x876dcde507c5b206, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x7be10be31458fbb2b84ad1cf, limb1: 0xc6c7c5315901dfe6df3b4e86, limb2: 0x245ced58428a76b2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x59d7d6bf1a2a69e2c0c680f9, limb1: 0x35c6a2e80821772c88ce7405, limb2: 0x4859fbcef0a50f54, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -33473,34 +33473,34 @@ mod msm_tests { limb0: 0xd7ff76082d220594fd9c796d, limb1: 0x64173827dd21d0cdf2cef5eb, limb2: 0x4fc2048e40193666, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x209add35046d7fa733e876e9, limb1: 0x7b2bcc2548c94f5ca9cf63ec, limb2: 0x71ae8b1209d0569b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x31375be21ebc3e1f47899477, limb1: 0x5875347782c05d42c8426c4e, limb2: 0xaa82204a9da2be3c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4b44f3411db6c71be2d2feca, limb1: 0xdfca92d047d9087ec7303593, limb2: 0xd33f82983b9a359c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x77c0ca5779540bd110c72c4d, limb1: 0x58cef6df7a49e4f18e9b9f3b, limb2: 0xb7086c7f110ad9bf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -33508,35 +33508,35 @@ mod msm_tests { limb0: 0x224a7f10c430261fd46a2cbc, limb1: 0x95a48f0fea77443974ef772, limb2: 0x1f01781aa21478b0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd69f441418c65cd0a28ea4, limb1: 0x5b90bd8b06bb760f4b0ce8d2, limb2: 0xe833a95fe714f4f9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd405f15d194e8ff56446eabd, limb1: 0x8066d26cf0bbd6ab89ef10ae, limb2: 0x83f465891e451597, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x235ec499538d5c0d4873ec3b, limb1: 0xf5346e44643e39bdb3df520, limb2: 0x50155054a5948369, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x174acbc7c20961018a885e29, limb1: 0x8be69f64facd0f57ce6161b, limb2: 0xefa8c3ce74e07aca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -33544,40 +33544,40 @@ mod msm_tests { limb0: 0x2f443c999ca90b0c45e0d244, limb1: 0xe160ce246344edbf4f5cc01d, limb2: 0x66ee00f7147970f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x801db4ead91ea5eb5e2980a, limb1: 0xb8f3d9c5e373b5c3683dcf85, limb2: 0xb42c74c87261ae3f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f08d5a954d30c948d9f4ade, limb1: 0x3c3e2add03e75101b514a41d, limb2: 0xc4e5f7cfb618df9e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6fb79df036f0c7bf6720921, limb1: 0x98ab7a9231ba525ffe259758, limb2: 0xa06fb2cb7172bde9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1de67f3f1d796ad3f303d459, limb1: 0xc6df8e0f12480df3325cc65, limb2: 0xcdd030c391a0c0e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x96d45112a0cbb486074b1531, limb1: 0xb1782d551e3a8be2ef9d6db8, limb2: 0xa843060ce9ab59e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -33585,55 +33585,55 @@ mod msm_tests { limb0: 0x3370605526a1bcc7247a4bb1, limb1: 0xe7e333b77b2dd26060ba952, limb2: 0x50909e4a7b51bc4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x90b316c91247756be086acbc, limb1: 0x2f45c3232936442869d434df, limb2: 0x34d2dbf6441376c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5046835dfc5b747c1daf0e1b, limb1: 0xb7c0e22fd16216471feca621, limb2: 0x8083c8e0735e0075, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf9ffe123c33fd394188990c, limb1: 0xd11dad765f2eba62bf6692dc, limb2: 0xb6e5bda8e22c9ace, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2fa280474cb1cd5ea09a7379, limb1: 0xf3351b39b4c55ce71b04c83c, limb2: 0x798ac53193184455, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5a793efc0f00a92eec80308b, limb1: 0x1a1751df784dea877859d510, limb2: 0xfc04ff469de3923, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x235ec499538d5c0d4873ec38, limb1: 0xf5346e44643e39bdb3df520, limb2: 0x50155054a5948369, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x174acbc7c20961018a885e29, limb1: 0x8be69f64facd0f57ce6161b, limb2: 0xefa8c3ce74e07aca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -33641,7 +33641,7 @@ mod msm_tests { limb0: 0x2de931db10ecad445f8ceb39, limb1: 0xc77af0d450eca1971425bbc0, limb2: 0x7e99f3c47d9dc2f0, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -33651,65 +33651,65 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e, }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -33717,15 +33717,15 @@ mod msm_tests { limb0: 0xb2a60bc0dd8b8ee13a6c1fb1, limb1: 0xd694821758e9d16d0d548853, limb2: 0x6ba86041669b4d29, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3ff4aad67ae0150cc663ba71, limb1: 0x20491f6ec9a09b3a65f78e23, limb2: 0x755517c39d1215c2, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -33734,7 +33734,7 @@ mod msm_tests { fn test_msm_SECP256R1_5P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -33903,7 +33903,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -34072,7 +34072,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -34242,7 +34242,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -34412,10 +34412,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -34423,42 +34423,42 @@ mod msm_tests { limb0: 0xc7e1d241e2762368ba44ebe4, limb1: 0x7a8f4c8a2244ee33c6b29b91, limb2: 0xe45ce9477e4d9756, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x781275787f25b7722718dff2, limb1: 0xbbc45b57ea7c9a24bb2f7b05, limb2: 0x35981f3310b9232a, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xae4290f9ecae61fba630dec4, limb1: 0x7424b814d755ce7f6949c498, limb2: 0xf74a8b6f804fa777, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x13fdceaabf972deeadc55b88, limb1: 0x26b74e877a20db0f10197962, limb2: 0x4c1d8238a8c59a3b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xde459b68d0de3cab92e8f3ff, limb1: 0xe28f1847502bfcca5ffb7352, limb2: 0xa5dbe02e983f85ac, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4189f876d65e64dc097967fb, limb1: 0xa83fb1c1c182309bf86053ac, limb2: 0x704f352ef45fbe26, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -34466,40 +34466,40 @@ mod msm_tests { limb0: 0x4b50984449c8e5cb7b00ef2d, limb1: 0x4fdbd6d655c0869bd055077f, limb2: 0x6481c01d509a6156, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfccc99d7f0b3087c1084b0d5, limb1: 0x4b6fe230ac6821ca9678a08d, limb2: 0x45462f62ec78083f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x424f2177421123b7c78f66b1, limb1: 0xbb9f7e6574b78b5763f8ea0, limb2: 0xe3f6cedd248fa8e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfab55dcf6f3e4f189f70ae, limb1: 0x2491027b38cb39b0e85b3909, limb2: 0x26666f0d6cadff8d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe171241bb5ab527e36df79e2, limb1: 0x75f5ba5207081ab92a6341d4, limb2: 0xfc06dbff54f18bef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe72b0abff18a414ca510fb18, limb1: 0x86211fb9abdb732bcf33b21f, limb2: 0x734be21e62c5600d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -34507,41 +34507,41 @@ mod msm_tests { limb0: 0xd74cc5aeef6f9449f312fa67, limb1: 0xe8aa3a19de98839b82a64a9b, limb2: 0x5e40aab2da24cda8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdaeb4381273710e859309536, limb1: 0xac435c66b189e263300eb153, limb2: 0x94db1ed7f85a0d68, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe213bb655ab290238a555c42, limb1: 0xf5d24d208f311368a287d0cf, limb2: 0x4249647a4d233bac, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd372c9b25668b6979537a321, limb1: 0x12f331028fc2381049d66120, limb2: 0xcecdd980565d1603, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f10956d231e8be38bd4e0ea, limb1: 0x6ea7f6385c136e6fdea4bf6d, limb2: 0xc610344282002edf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x12a0e921a1498f589fb584c8, limb1: 0xd752fbe62ff3dceb88f62b33, limb2: 0xdbea05c56f8f8082, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -34549,46 +34549,46 @@ mod msm_tests { limb0: 0x6b89d877f30cba1332c35a61, limb1: 0x6d86a2f10dfd2193eb4a0664, limb2: 0xca1e138debec1c43, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc9cfe70c8582d5070dc145d, limb1: 0xc0813a359322785b80772659, limb2: 0x7e8b0934ebac62be, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc1f2f80ad522c167ba407d9, limb1: 0x15ad0e82dffbea793e939c70, limb2: 0x4aecbe9beac9d9ce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa52e62108e230b4dc8281810, limb1: 0xb5f198f68c5901885475a8d4, limb2: 0xa38fb084fa225038, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79002a904443a5c591b2995d, limb1: 0xfc35c46d00d5b5131ad378c7, limb2: 0x37d71eced8b27aed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5fa53cda0b2ba565be92a464, limb1: 0x588fb500b01f9d339082e61d, limb2: 0x5db756d1c1ee504c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7976d1c69b360e2949a403fe, limb1: 0x73b124d99b8e6d5105a157fa, limb2: 0x6d91691ca6fa6808, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -34596,61 +34596,61 @@ mod msm_tests { limb0: 0x3a301908da6fc16506ede88e, limb1: 0x5e17c4295758060b57e5fe5e, limb2: 0xea76dd019b9f21b7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1810f3d3491b3a34fc74d340, limb1: 0x4ae941d7218da71a4d206b30, limb2: 0xeb1be763c3f40bb0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe32d2896b11a690e7f5344e, limb1: 0xeb585997ed130eb69c2a53e2, limb2: 0x9a79a65f63d2e113, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfaeadd86a6b70daeae98aff3, limb1: 0xed8fc1debb3ad72e2016cb21, limb2: 0x7fb89cfdc76bb266, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaeabda3e08673a972510f76, limb1: 0x3dd2c7fbeaf407fe485dcc9a, limb2: 0x22ba47c86cd63f02, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5f3192238107378972f63307, limb1: 0x5cd251c20d86b822cb687159, limb2: 0x93bd8f78c4ace482, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x67e3bf43ae5a44cbdde97512, limb1: 0x40e5faa5767f280a1410e63a, limb2: 0x95d5fe06b1e92864, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f10956d231e8be38bd4e0e7, limb1: 0x6ea7f6385c136e6fdea4bf6d, limb2: 0xc610344282002edf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x12a0e921a1498f589fb584c8, limb1: 0xd752fbe62ff3dceb88f62b33, limb2: 0xdbea05c56f8f8082, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -34658,15 +34658,15 @@ mod msm_tests { limb0: 0xa34366caaef023059f0c918f, limb1: 0x61385fbf29d85506526d6132, limb2: 0x5329c6c1faf41213, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x70e1a422975f7b31e982f4f5, limb1: 0xe1eb0c0a97ca32b670329a3e, limb2: 0x573bfe8f878aaee1, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -34676,82 +34676,82 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e, }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -34759,15 +34759,15 @@ mod msm_tests { limb0: 0x8d3ffa9029b619440f956237, limb1: 0xce4c071711e8ec7710d65a79, limb2: 0x2ad2736b3dd733f5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf71c4bcdd7f47f782606c4a6, limb1: 0x7e6c8d62f248689e3c818501, limb2: 0x1adb966232156945, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -34776,7 +34776,7 @@ mod msm_tests { fn test_msm_SECP256R1_6P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -34944,7 +34944,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -35114,7 +35114,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -35284,7 +35284,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -35454,7 +35454,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -35625,10 +35625,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -35636,42 +35636,42 @@ mod msm_tests { limb0: 0x318290bc4d409bad5d313493, limb1: 0x6ae8207aed39e182488e38c0, limb2: 0x9d76d554a4b8c08b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xedfc42dc628274c42a123cbb, limb1: 0x5e283c45333ac5d3f1ec8cfc, limb2: 0xe162435262e42358, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x2385c6fdffd3fe5130be09c8, limb1: 0xf0c1b7d9dcdcbf2b3679ae97, limb2: 0xd71d2eccc6ca36f6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5f74efceeab8d5b0bd4cc451, limb1: 0x2209a8ed5e32f9761b19ef8f, limb2: 0xf7e4900cc34886ef, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xd1a3780e021b180ee94f583c, limb1: 0x74487d1c9b914a5a664a4882, limb2: 0xfd85959d09c9c5e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x29cd74a84be4f8f9a6834b18, limb1: 0x1d37b4c25ceed7d4473cd15f, limb2: 0xfdfc56f0e60b5d53, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -35679,46 +35679,46 @@ mod msm_tests { limb0: 0x2bcf83d25d00a5fa7d697526, limb1: 0xaeed2e52040d75fda8ad4744, limb2: 0xf47f7e7bd0d2408f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6bc11fc4b11e0c2bd663a971, limb1: 0x675e5c4381064a3a53ffaa85, limb2: 0x4411cc450786cbef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x159bc552c79b55ca76f2b260, limb1: 0x712f781a2af29cecaf5719f7, limb2: 0x274d1ffdd309d336, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6249ba10aea4cd8c9bbecfe2, limb1: 0x3e49785f6b13dfffa4aa2dc5, limb2: 0xdaaad5e0bd5035bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7dc7cd78ad3c99495ba104d, limb1: 0x296237a83bb4850e911cf354, limb2: 0xd756f600d724e24e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdf8349f5035aaa48b1415ac, limb1: 0x1434ac3462c2ee45b9cc0098, limb2: 0x418632e1f14fa173, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6f97b55c1304d1efa4e11b5, limb1: 0x3a02f5737125aa57271ddc5f, limb2: 0x2d486925ae6817a6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -35726,47 +35726,47 @@ mod msm_tests { limb0: 0xe7f5570d50c30cb52bd2ab12, limb1: 0xe2be1271d76f5ce5e30bb952, limb2: 0xbcb64b4ad2cb401d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc8c312055a66b0765e39068c, limb1: 0xb08c7ddb0ce6bf4b29653f7d, limb2: 0xcb7b21a370c0bec1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x764000ef3fd2144c099ce0b1, limb1: 0x562b945d5326870df65299ca, limb2: 0xbfc388dbcb7cdc3d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f46c71745c66faedd5de7f5, limb1: 0x15db7d29da988e369deb15e5, limb2: 0x90d31222108204a4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x21ba9251a778f20c44b4968b, limb1: 0x1e65148225739a05bfd4ed1c, limb2: 0x3c017a19d2c97fb8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb83453f4b4dfdc4e2495a8bd, limb1: 0xfcb44c48f14dd479e4c500e0, limb2: 0x792c30c732603a4f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x893f821388edcdd43b6760a2, limb1: 0x58314c8d774d14487889f2eb, limb2: 0xc88b930b46df4951, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -35774,52 +35774,52 @@ mod msm_tests { limb0: 0x37ea4e7586351243472b4d77, limb1: 0x9674a468da646a7fd606575b, limb2: 0x1c2915fc0ec28d44, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaea1a0ca21f10463ec4b605, limb1: 0xf12d43b94234377db1fb3cd3, limb2: 0x451a18c755e26cf0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x37233c285c6f4b4a7ef194f9, limb1: 0xf8f686394c1ecb43d98da168, limb2: 0xc927ed0e0f883233, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x96af67411e5e4b2c0cd9d356, limb1: 0x904cc10fab4b5a881169604a, limb2: 0x56b30c3eb9156f1a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x96593694241326cf742630d2, limb1: 0x36d6a07518df4b735fbc0424, limb2: 0x5cef278069bc332e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x56e04e328cbc368040d335e8, limb1: 0xda07b01e0cc64668d96887d1, limb2: 0xb86e39d07a9d6e8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x544e7843820764cdc448ff71, limb1: 0xd1470f5607f7f117263327ac, limb2: 0xe221f528ad5a9930, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x796887be70a52d2b814434a, limb1: 0xe81369f277c0bb80013d9db9, limb2: 0xd169e1030acbdac1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -35827,67 +35827,67 @@ mod msm_tests { limb0: 0x8efa56522f417da63c204171, limb1: 0x2e485738832d5b83190210ff, limb2: 0xbb8162db3935f2d7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb766eb23952c6dad2ca85eaa, limb1: 0x3a0896ece2ab05b3d19a3d2a, limb2: 0xd107d151e29cec63, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb9db7dd498ae6b34a2fef7af, limb1: 0xed8d5eb986d59a2e590e99fb, limb2: 0x25104799565d54af, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x20d5121fd2a1149cf8414be5, limb1: 0xe40981f73506a0f66434a86, limb2: 0x64ff4da0c2d5fcdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa681a9b14a0e68372792fb84, limb1: 0xe043cc364b963d4c981f8c15, limb2: 0x55c1912b222e3b95, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4fa955e14ea1e29128a34390, limb1: 0xae4df8eda12c1218243e438, limb2: 0x4f2b6c449f89dd2e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ec29085c49b7cbd69a18c62, limb1: 0xd672dec8f99707ede9732880, limb2: 0xa4adec78a9aea5df, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x524fbd0d487dc4cdba50d4ee, limb1: 0xc9bcec2f3624e3e8bb541b0c, limb2: 0x3d24f6cea86637ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb83453f4b4dfdc4e2495a8ba, limb1: 0xfcb44c48f14dd479e4c500e0, limb2: 0x792c30c732603a4f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x893f821388edcdd43b6760a2, limb1: 0x58314c8d774d14487889f2eb, limb2: 0xc88b930b46df4951, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -35895,33 +35895,33 @@ mod msm_tests { limb0: 0xe17861134ac7f9dc53cad0e3, limb1: 0x98758f55c225f8b92c1b9a79, limb2: 0x499d4078078cbaa7, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x32e7349d4e7b1d11032042f, limb1: 0x6ed38c089e6b0271493297cf, limb2: 0x36c82154d03ae8bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x458b2127a9d8ba719d96e190, limb1: 0xf611cb80f05f26b6c1bc47ba, limb2: 0x621b24d631f11091, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe9f0b5f809f5655d446abf80, limb1: 0xc2b4c6858b70f6aa7236177d, limb2: 0x3010339d9b5b3b1c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f7c67888d0d1cc57a49929, limb1: 0x5793ebdb1bdb960ef7bc238e, limb2: 0x3204ef2c8251a079, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -35931,99 +35931,99 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -36031,15 +36031,15 @@ mod msm_tests { limb0: 0x1f82b90aa7d2a7fa02fa450f, limb1: 0x6a402eeb6f3117c5c39f915e, limb2: 0xe7909417205bf140, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x63023f929ec0398f1c3e5af8, limb1: 0x4573d920a130f321b0988dca, limb2: 0xf1ea3f773f45f1a0, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -36048,7 +36048,7 @@ mod msm_tests { fn test_msm_SECP256R1_7P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -36217,7 +36217,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -36387,7 +36387,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -36557,7 +36557,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -36728,7 +36728,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -36900,7 +36900,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -37068,10 +37068,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -37079,42 +37079,42 @@ mod msm_tests { limb0: 0x5e24c3a22b6cbc2c8be95999, limb1: 0x637e3cf37bf07a568a6640ce, limb2: 0xad27f8e20f63610, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xdf526b926859e31ed9df7cfc, limb1: 0x5dd878c53a26603935f6f1d6, limb2: 0xf67ab1f066891da4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x4ee23e51f9cb7134928f7790, limb1: 0xdfb183d6f1de3ff2974e5c6, limb2: 0xd600ac7711b5f8dc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc1d70a045fa394db5ff30c19, limb1: 0x11ce49cab5350688414472ae, limb2: 0x113044fff1cc9a81, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x66fdd34fc5c33b5bbd90b4d6, limb1: 0x8a48af2b500a476faa189d58, limb2: 0xfb4d4cd1d508d3f5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1730db7b7bdb99ccaffb180e, limb1: 0x2661cd86ad852ddc617c8a75, limb2: 0xd2552a25d3764ae6, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -37122,52 +37122,52 @@ mod msm_tests { limb0: 0x3ab4c17a20b17c81d9a69a35, limb1: 0x536370ab76179a1b6b08938a, limb2: 0xc9d069b38a0419e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaeb2d0a1a6281b3dc464f271, limb1: 0x50aa55c0cd73b9c01f5292fb, limb2: 0x83b6b605b7a63544, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec41e1ef94112c32fd8a30ef, limb1: 0x8a03c1ef4b41b60e81cbf17e, limb2: 0xbaecfdcfc58a235, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3e3a2d266197a54ab65da104, limb1: 0xfa049dfe7b7df2e953f73bd7, limb2: 0xb0ca7a63bf50930a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x424149dcce0b5aab7b6b4e, limb1: 0xc3805a2f9ce30dd1aa087aa8, limb2: 0xda919985bb15e0e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xae7c997433f8a8d527a34cd6, limb1: 0x287f964a7b0b2138f5c22d6a, limb2: 0xe7a0731b65d61c1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb0b82de9d63ce6dce53f925b, limb1: 0x7dfc2c4bacc6684acf50253c, limb2: 0x1172cc16bb5cfbe4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7cb6dd124bca06537dac89c9, limb1: 0x9ccbc010890ee16bf0393c74, limb2: 0x9bf385430f988e7a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -37175,53 +37175,53 @@ mod msm_tests { limb0: 0x457730dc4ca3e9bb85589c9c, limb1: 0x84ee2e1d925b2296d5f41dc1, limb2: 0x1f32c93ed2617782, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd154587feac13f5e0bdcfc5, limb1: 0xe7c670a1e5491e29892fd4dd, limb2: 0x153cd2cc61433e60, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x483bee4e0da4c1a5f2ac91b5, limb1: 0x949ba7d59ed317d10f3a723b, limb2: 0x8e897a67902dbbc0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa04d80c593ed9bbb522d7edc, limb1: 0x12af5fb41cbce44a2c2259a0, limb2: 0x61ac98092f0c3c42, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x77f9fd708f9da5e3858601ec, limb1: 0xd6ea2ebeba60df387cb05481, limb2: 0x46c7c4cbdd83ed24, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x59f00254c55a6aebb05d0f9, limb1: 0x7ba2f98473cc4847f4998e2e, limb2: 0x12c2e0aecb4ab44e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd2bc844a444da78cfa2a9eb, limb1: 0x56629b9f0c90a1862574019f, limb2: 0x63ee533628a7ebe7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5acac6c6f139d234b0d559ae, limb1: 0x5d01661b7f60dec666118d14, limb2: 0x116c5335f51b2757, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -37229,58 +37229,58 @@ mod msm_tests { limb0: 0x3f1311c5a3d093fca8f71998, limb1: 0xbe00982f39f168b9902080cf, limb2: 0x14382be7abd3cebf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd502c04853558205333417ff, limb1: 0xa4b93ccc258297c6fd4622b1, limb2: 0x556d72e5d83224c5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ffa87cf915ce2a65e5c9e3a, limb1: 0x8191e46ac1449a784bb44534, limb2: 0x39e898dded29a01b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf3505fb12f3dc6631073f996, limb1: 0xdfd10d07c51363732018b79a, limb2: 0x72ecc94c7d7cde96, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9402c4bf2c02d8069b853890, limb1: 0xd49a109b54c1c7d7edea42dd, limb2: 0x206f95c6782cecf1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ea7d2718b62b71711f42f83, limb1: 0x9541d34ded1235031460eea2, limb2: 0xdf6a1830c8adb124, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaeb9b453285e407d6f00c3cd, limb1: 0xea399016b70621af326eea13, limb2: 0xf4f4b573f2d46529, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x52bc1dbd0296bb2faaecc0ea, limb1: 0x80ca384fe1d3bb44f1e0a122, limb2: 0x79475da0b307e8d3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4dc46a6701053511cc9c2c2f, limb1: 0x3906b992a0615b5a2c1af925, limb2: 0x2e08490e7c64c2a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -37288,73 +37288,73 @@ mod msm_tests { limb0: 0xc4b60f45fc152390aa856e93, limb1: 0xa2bed958d1237e5c0b91b7e1, limb2: 0x61a39fa876453a71, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x40212b46e4cd67c6525d5cd2, limb1: 0x3b51bb040e951b1cc1c91abb, limb2: 0x204bdb1f0b63c5ea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6b00988264e21314bfdab0e1, limb1: 0x45d949b7c06897e537b76f80, limb2: 0x59c71a7bef5165f3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xabb809603c94422abb087fe5, limb1: 0x26bd5e9e0b3fa0b2198c9def, limb2: 0x919d8c0b0341951f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x672855ddc26e61d9844aa861, limb1: 0xbb86fd2137d5cafe8cc229bf, limb2: 0x4039dcf214187795, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf415338d37f7ae4c5f27be75, limb1: 0x9142c93c160400bf04ba82b0, limb2: 0xb0e225cad1b9102, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x33aeb8546b91cb0d1af61e6f, limb1: 0xd7d289c54d4757dc04bc4d31, limb2: 0x6bb8719a7c5c4470, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1dfeade12fa7c4f05860dd6f, limb1: 0xa3fb99a33a35ddfcfe42f96d, limb2: 0x33958becda74cf29, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc1925cc6b4766c4ed058243a, limb1: 0x188a84876c4232b12781eda1, limb2: 0x39441ce59633d230, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd2bc844a444da78cfa2a9e8, limb1: 0x56629b9f0c90a1862574019f, limb2: 0x63ee533628a7ebe7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5acac6c6f139d234b0d559ae, limb1: 0x5d01661b7f60dec666118d14, limb2: 0x116c5335f51b2757, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -37362,7 +37362,7 @@ mod msm_tests { limb0: 0xf184b0e857c73861c2e2ca3c, limb1: 0x65c9ac4b0b2f6319c50e659f, limb2: 0x57f7703771d809ee, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -37372,116 +37372,116 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -37489,15 +37489,15 @@ mod msm_tests { limb0: 0xca79b70704b640b74b6f693c, limb1: 0x89cc86641f947737ff77e39a, limb2: 0x309214e7d68fe301, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2259aa2958a22d74db0112dc, limb1: 0x50363dba8c817bd0a540411a, limb2: 0x9709f72fafe659eb, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -37506,7 +37506,7 @@ mod msm_tests { fn test_msm_SECP256R1_8P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -37675,7 +37675,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -37845,7 +37845,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -38016,7 +38016,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -38188,7 +38188,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -38356,7 +38356,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -38524,7 +38524,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -38695,10 +38695,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -38706,42 +38706,42 @@ mod msm_tests { limb0: 0x62ac0f4bd5dd439b8b872d1d, limb1: 0x25de98092a63d435acf11466, limb2: 0xa006b537128c7ea2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf7e3ceddca132ff49933b037, limb1: 0x4a656a25e435dd1c224a6c38, limb2: 0x688c896ca837d0f6, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x8d234ebb75b6449daf79d54d, limb1: 0xb363f39e124c6352337e5325, limb2: 0x462a16076e552e87, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6acc9c2b757234126fdbd419, limb1: 0xad5c05fc41ea9a53369bdf94, limb2: 0x4f6c64f0b5719055, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x4957c13a9693c2fefa6f5fee, limb1: 0xf2b3caf243919ae502b6c978, limb2: 0xd00733bf143a1a6c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe429df7a26d9264b9e3120f3, limb1: 0x6cddaf2d561f2bda39194a08, limb2: 0x6bf0ba2dd9d73c5e, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -38749,58 +38749,58 @@ mod msm_tests { limb0: 0x7a2b7d93f860bed3e855bdc4, limb1: 0x6b9007083d617990141db1c1, limb2: 0xe891ec70b2ffbef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb1ccdb0bdcc6b44f36da1af3, limb1: 0xd414b5f251c321b27fcce978, limb2: 0x530800cf436f5140, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x439160de5b5ec9045c59e0ec, limb1: 0xbaf6c72dbdb78d3ca6e4e2b8, limb2: 0x16c72601f6e235d8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa52e8a6f1694aa7c46d3c951, limb1: 0xd9ff0bf93da78d060f42bba0, limb2: 0x6cd94f0dd3f99da9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8571ce6e7c5bf16328f4098c, limb1: 0xfe2f759d425dcb085dc6a036, limb2: 0x57f5ab8b699c0d53, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5cdf1280732c4d0587cea5ee, limb1: 0x97545410126277b11235c3b4, limb2: 0x70c131e315617593, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x743cc5cbe5c90214f2b4b1a, limb1: 0x56c53045301b27204e97cf4d, limb2: 0x4cb4553cfa3e26d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf566bf6aff3b8e7efa0bd3ce, limb1: 0x1047a99d67a855ced5e57904, limb2: 0x57c2684d91acd011, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x58ea626bf46d639264f37b13, limb1: 0x52fcbcbab0c96702fe6e4891, limb2: 0xe8554447ea1ffb20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -38808,59 +38808,59 @@ mod msm_tests { limb0: 0x22aae93cb3bf17f5b29f4126, limb1: 0xa70292d67c24b680395d85a9, limb2: 0xad1d98e38ab4cab1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x257ff5886e3f2543d2120713, limb1: 0x524a37cb2c3477237b0f5fe3, limb2: 0x99288107e4c816cc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7c937763dd027a33a92fd9a4, limb1: 0xe655d07e7f6a4a71ce75d3cb, limb2: 0x1b07f78264b485c3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8369411a48d890d5944b28a4, limb1: 0xb045859cd83a56fea6df7ab5, limb2: 0x5af3f4adf4bd4861, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8b41d1027d4fa09a72155ab2, limb1: 0x385b315f6dea0bbee4a47ef9, limb2: 0xe0233a59ea03dc0f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9e1bf7c8822c14dc31d518f8, limb1: 0x33b8f87708b158ac2d36817a, limb2: 0x3276cb3ab5af9be, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7af987343d61248b3b18236a, limb1: 0x5c6027a3d0df67dcb443996, limb2: 0x728e8f23db5524c6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x413c2e03615406d5f8ddcd7b, limb1: 0xd6425dc757219a75f55f2b8c, limb2: 0x786cf4cd4f78e7a8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab384b511ff51acb7066bcfd, limb1: 0xf6101f6e58c42606d0035ba, limb2: 0x57bd45f7e623c25c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -38868,64 +38868,64 @@ mod msm_tests { limb0: 0xa1dc0c2d86678dbeb99c68c4, limb1: 0x8090bdcef8fadc41632fda6a, limb2: 0x1524170130b2267e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcc7bd3c1615ec5f1cb0b210, limb1: 0x97b4defb59666e0ac223de1f, limb2: 0x651013685240ce3e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3dad70296a8b8e0203edca5d, limb1: 0x2296c2e486e7267e2b3f640a, limb2: 0x899a09eed6d64552, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a6393cb24d09cd4fca7ef1b, limb1: 0xc886d9c34dc082026383c06f, limb2: 0xe4bb909283e477dc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbcd02ab3b0b3274bde28ce4e, limb1: 0x645274c1da7c14ea8d512a39, limb2: 0xfc8aff16da3b3b84, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x14654450eefc652258d0b83b, limb1: 0x173186a9e94c6fe61d0dda87, limb2: 0xc21f871b46e12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x144840e1132db6d7f5baa835, limb1: 0x393bce5ec5464a10504355d7, limb2: 0xd413a2ab28fc208d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x81d395d720e9771cce10efa3, limb1: 0x6d7c9a4cd3de2d974777e9e1, limb2: 0xa66eeb69e1f7dec3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x258fa0fabff88bed738cca06, limb1: 0x377dda45e30a7f207283c1a9, limb2: 0xcdcddab5abba9c85, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x57c66970b52ad7d722524c44, limb1: 0xe4ec56deef3b573d658e42ed, limb2: 0x8af177ad3b403f91, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -38933,79 +38933,79 @@ mod msm_tests { limb0: 0x8f520bb554596e6582a918fd, limb1: 0xa1ee596411f66790d50c5412, limb2: 0xcd2c92dc2cce4ab7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x43b78a1ac2b7374c48074904, limb1: 0x80cad16b48fc39f15e370f1b, limb2: 0x479b6a832ce0b227, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xff5280a27b34d5ebf5c6ba5e, limb1: 0xd910383844ff5bef557bc8ad, limb2: 0xd1ccd642dc14be9c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8b03c68cf7fd5d2cb37f56ab, limb1: 0xdaa7e913aaae968f779ceef5, limb2: 0xd772077b8e72aa54, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8acaf181d388d98e46adeb15, limb1: 0xa2dd93c247f848cd5a227aef, limb2: 0x4044d55ee81279f0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x967a81661f43d849e7ead007, limb1: 0xa3446787bb1970271c93d83b, limb2: 0x93e3b97198d711b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5c6f8d3419148eb43c4f7feb, limb1: 0xa17b53e9019980b81da69285, limb2: 0x2fdc515291e797bc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc69bb0c719f98e65d4dc0bf3, limb1: 0x38be714c6208fa8a6a1a9352, limb2: 0x44112c27b78e086f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x29c35a03865eee66ade64d1c, limb1: 0x5b437c4e0186a05bd7e4a7d9, limb2: 0x41e2c934f6c66f93, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x45a456371950106711b64cbd, limb1: 0x8b8eb9eb0301b618e9609f18, limb2: 0xc61cf313d324719a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x413c2e03615406d5f8ddcd78, limb1: 0xd6425dc757219a75f55f2b8c, limb2: 0x786cf4cd4f78e7a8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab384b511ff51acb7066bcfd, limb1: 0xf6101f6e58c42606d0035ba, limb2: 0x57bd45f7e623c25c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -39013,15 +39013,15 @@ mod msm_tests { limb0: 0x563bdf31fd05877c4e532c51, limb1: 0xe8acbe60f616ff5ce474e3c6, limb2: 0x7a79409279801aa2, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xa45153f11902e385419b75d5, limb1: 0xb334012cf3d62af35ff3297b, limb2: 0x4c1f2748d88d4729, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -39031,133 +39031,133 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x8a703177da18d4ede707c057, limb1: 0x7d6c11e754ab6fbe73deea43, limb2: 0xdf9787168190a047, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2e6585ab5f125a34fef37875, limb1: 0xb70e9f02ce7744197172a117, limb2: 0x60e305f9fe6f2298, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -39165,15 +39165,15 @@ mod msm_tests { limb0: 0xe711606fcc388171ebc92fc, limb1: 0x44a0de55ff28207782b96f4a, limb2: 0x193ac634ff18e9ff, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xcc0201dcc2b8235b25615c06, limb1: 0x446db23e267819a6cd89ddae, limb2: 0xa1dc734b5e97af08, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -39182,7 +39182,7 @@ mod msm_tests { fn test_msm_SECP256R1_9P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -39351,7 +39351,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -39522,7 +39522,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -39694,7 +39694,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -39862,7 +39862,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -40030,7 +40030,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -40201,7 +40201,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -40371,7 +40371,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -40540,10 +40540,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -40551,42 +40551,42 @@ mod msm_tests { limb0: 0x1f9ad922a188b386711f9ede, limb1: 0x76f2a8128aba114b145dc558, limb2: 0x8b5f7af96a605d7d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8432868d910744b5b1fb603f, limb1: 0xdb7096383bc4279ace136fd, limb2: 0x357376351c512bd3, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xf33911756182ec464794bb4b, limb1: 0xc44e0d15f441d7dc7ea41742, limb2: 0xfc8ae255adf9e43a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x841a52497422de33afb76edf, limb1: 0x146a2e60bdecf6a7d2f2a7ab, limb2: 0x4847abac4e4b3435, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x81b823b7af17dc9bd728b08, limb1: 0x61d2d9f2c49630a7c5bdc245, limb2: 0x74a4972c9f85b597, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd5d7d1fb3eef6c6c394407a3, limb1: 0xc8d96895f860861e2c2872d3, limb2: 0x8d97e94899df32f6, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -40594,64 +40594,64 @@ mod msm_tests { limb0: 0x9410b9b93989660e930f47, limb1: 0x46f47c84ff631481684124a4, limb2: 0xcf31ca9529880da5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x460d75cc6a5cf4920eb9269d, limb1: 0x4184e2839e446af2f3f79de7, limb2: 0x5b7561477d4f1ea4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cf1e198531e10a7e0d8aadf, limb1: 0xdb4a5fbb304575c34509cf2c, limb2: 0x33ed2fa51db3f165, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcd1a48ef3daad52317d8bbe1, limb1: 0x17d67ae7c18de2a5ea75d9d, limb2: 0x8d1468667640e074, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94ebcf4822642b3649b38e7, limb1: 0xd493024bd31a3bb8c8c08213, limb2: 0xed06dee707740263, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x11aa03248b4c889b50556a9d, limb1: 0x79d94b85dd548a5efa72e76e, limb2: 0x171a2450afb103a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2038b30e3b0745045e5f7355, limb1: 0x5baeeb37c37e68fae20fed50, limb2: 0x9171e508da2781c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1179f4b9be3806b8c42202c5, limb1: 0x11f4ff26e6097e012d3e785d, limb2: 0x4898fd4affa77bc4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x436fdb13d9e984882d467acf, limb1: 0xae3e17e15abe469425c932ac, limb2: 0xaf27886a0fc6d34e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x45836b7d7ba63f0dcf5c35cf, limb1: 0xa645db457e2912f53e297fea, limb2: 0xb3299d612b5ed357, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -40659,65 +40659,65 @@ mod msm_tests { limb0: 0x237a11f2731c27566f2442b8, limb1: 0x7c70f1f3981dc25f907e2086, limb2: 0xdbf5f3940aa11ece, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ef86fe838807a085fb3aa9, limb1: 0xbbd9eb1a9e5ed49016db3a83, limb2: 0xc251a95815fdc026, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7bd425f6775aff3db4b49d9c, limb1: 0x28a822c80e155485376c6a53, limb2: 0x2627024c4f0fb31e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3dc01b4aa048e1e643e384fe, limb1: 0x5518394b84761fc4b89113d, limb2: 0x29e5ae79dd85c6c5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4835ba567a704953067e5081, limb1: 0xb793be5999a6e1458934a867, limb2: 0x9c853d9edb5bad4c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x90f34ed726e8346d4f31a0d0, limb1: 0xcd0aa894fd65be852af3d9d5, limb2: 0x1188d87c99d637a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x147c00dbfac1cb8e16fc3af9, limb1: 0x8acfe39e3899ac89b9c6d6d1, limb2: 0xd6fe7c4cc99c831f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd5537b06d81e630877932c, limb1: 0x5ff135585cb75c005f99960c, limb2: 0x573970c3bf5c8b06, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6e4f85ac80b6a8a9ee15c304, limb1: 0xe2aeeef9998b9a400c18e1d7, limb2: 0x452d0423835c37e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x58408acbf18b3f6dc7013486, limb1: 0xeed0fad3f56ae521dae08dea, limb2: 0x4a90a25d39df942c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -40725,70 +40725,70 @@ mod msm_tests { limb0: 0x3c22e8e6f6437e2ec4e7683a, limb1: 0x2bf4d96adcf9b471f902372d, limb2: 0x2f8fe0eb7dca8b73, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6b07b0ffee74e8d4ed9a3de6, limb1: 0xcedfdc21590117aa7626cb60, limb2: 0x3e8ce0ddaeb0897d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeea74a8d70b7545da6b44f86, limb1: 0x6819904bca34e39672c3c877, limb2: 0xc40ca937b1eb8528, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x48028fe38ddd05c3cd693d14, limb1: 0xed77083834fa21ccf66dab38, limb2: 0x609230f84484026a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f808095473849667feb9713, limb1: 0xb1f3f484a897bfd2938219de, limb2: 0x100403520687391d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6ef646e39509b2db23346e49, limb1: 0x9c1f6b0585fef95291ea3a0e, limb2: 0xc62b88548a6e742, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe85e531c9cfa4950bdd366af, limb1: 0xb4b50355399deff7c82754d, limb2: 0x41a5fc6ab42ae1f9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x70bd3e7e2054b02ae20f567a, limb1: 0xac6d80bc6e6ddf58d42af71c, limb2: 0x3b640a27101f9fc3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9509a7d48db85e0a8a87942c, limb1: 0x3e706f8c367080f27bf8c40, limb2: 0xd3035d61b9d8e82d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe868d02673ee6143d12b8034, limb1: 0xe6937846f64843f293bb3abc, limb2: 0x2a9cecb87fa1143, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8dfadc61353a69c4b16a4eda, limb1: 0x29a6432a58eb598fac6804d1, limb2: 0x3365c936c929585f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -40796,85 +40796,85 @@ mod msm_tests { limb0: 0xdf4481f15c26182ecd542666, limb1: 0xb1c94d58646c38dcd60375a1, limb2: 0xf3adf6f93e6ab147, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5182a94a0e225d7ebad72c1f, limb1: 0x78810b25028f4fc09fc23e58, limb2: 0xea9c45eaa7d8a805, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x207d54afaf48fa2b56b3598f, limb1: 0x545f6dac44ac3b37a3192e09, limb2: 0x3e3c5683364e3cc2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x78d0b77a85bc5c5aedd57090, limb1: 0xcf37114cba30c9ddf15a5aef, limb2: 0x4efcb79892fd132, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe4e3e17f1d91b65bc8269dc, limb1: 0x98723f1be35ca2ac9a29f34d, limb2: 0xe52175a541eb54f9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x953298099bb455f770a53836, limb1: 0xb446116e2cc871bb12bdf042, limb2: 0x71e5057b69b96bbd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbe524fb64e614a01a69a2bb, limb1: 0x61909cafc534dcd1150b9a6e, limb2: 0x75577bd443e72129, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x85eb70cd685507e1d48d539c, limb1: 0x891adaae1cce945a85087d4e, limb2: 0x37fb3b33aba233eb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x355d8849e1b3e4c658d5a9b2, limb1: 0x1f97d7c5ec24b4026444631c, limb2: 0xc6f9ace05f54a160, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcabb3b87c43370685d8213b5, limb1: 0xaa9d9e8688ae05d6b9788b9d, limb2: 0x2d874abbe21f419c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd167640d6e049c57db4655e4, limb1: 0x476a0231f30f33573414f2fe, limb2: 0xd24dbf83bbf86268, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6e4f85ac80b6a8a9ee15c301, limb1: 0xe2aeeef9998b9a400c18e1d7, limb2: 0x452d0423835c37e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x58408acbf18b3f6dc7013486, limb1: 0xeed0fad3f56ae521dae08dea, limb2: 0x4a90a25d39df942c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -40882,7 +40882,7 @@ mod msm_tests { limb0: 0x47e523e6d8102e597c78086, limb1: 0x5f25de64cae64bece1f69947, limb2: 0xb1a30fab2babda, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -40892,150 +40892,150 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x8a703177da18d4ede707c057, limb1: 0x7d6c11e754ab6fbe73deea43, limb2: 0xdf9787168190a047, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2e6585ab5f125a34fef37875, limb1: 0xb70e9f02ce7744197172a117, limb2: 0x60e305f9fe6f2298, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x712f72f3929408ff68af059d, limb1: 0x4f72cea12cd115dc1c8639f5, limb2: 0xc6d5ae1b897ffe77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfcf91f56bad0659142668837, limb1: 0xa15458b49bcdad6c870e3889, limb2: 0x81a1342e70b1b765, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -41043,15 +41043,15 @@ mod msm_tests { limb0: 0x542a24ea2861f99b34558ddc, limb1: 0x2270befabfe2cf2bb68e02d5, limb2: 0x3d4bc15cc5f14624, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaccc8e62b811238c560a3feb, limb1: 0xcdeb49d8cb97f767a9f8274d, limb2: 0x7e34e8828ce7c455, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -41060,7 +41060,7 @@ mod msm_tests { fn test_msm_SECP256R1_10P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -41230,7 +41230,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -41402,7 +41402,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -41570,7 +41570,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -41738,7 +41738,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -41909,7 +41909,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -42079,7 +42079,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -42248,7 +42248,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -42417,7 +42417,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -42584,10 +42584,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -42595,42 +42595,42 @@ mod msm_tests { limb0: 0x25d1a3c893718047539eb6e1, limb1: 0x9b4041cff07fd2dbe9da2b60, limb2: 0xd309a45be3d5092a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x30d69755292ed509791ee5a, limb1: 0x5f4ea127722eae987f32fe53, limb2: 0x591da7462a9198a5, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x2ae5492e7c640788f25d9247, limb1: 0xe0c327d25b75d88ef0a263eb, limb2: 0x6378fee63621654a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfdd5c97a0eaaf1d76bc49ba9, limb1: 0x6fc6dc7aa6a9ea75bbf1dbc, limb2: 0xe0b69dabeddce211, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x6e4319cf45817544b4bd3e70, limb1: 0xf042dc4ac606cb47341d59f4, limb2: 0xc01a1b2c3961b092, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf5974a787c8b7db33323bc11, limb1: 0x3d7dee392e99de8c61a5250d, limb2: 0x8e1253c4a6653eb1, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -42638,70 +42638,70 @@ mod msm_tests { limb0: 0x18783b840e510a80b1f61eb9, limb1: 0x916aad7c5c3afd125d87d30d, limb2: 0xffbf7713f04ebdd2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3af87e0dfe475a72a63bf678, limb1: 0x72e78618b2b2263f2d59c8dc, limb2: 0x44175ee83d8c0c86, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd88a71b8ffb0ca2969d48f93, limb1: 0xbaf68e35eb1788674593a67e, limb2: 0x6603fdc4a2518de0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6343e35a9e5ea883e0f62bf, limb1: 0x8a4168de0cd36609407d4160, limb2: 0xe6174eaff4723582, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce57855fad3ff7e570a4d7, limb1: 0x832e894c46cf9569b38c27d9, limb2: 0xf0aa092811f78a62, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95a1a37890ca5bb22e63961b, limb1: 0x927ab093878fc005c6ec79d8, limb2: 0xb3a560d31e3dbcd9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf5be70a3e416fc97b910004e, limb1: 0x14e5a9bdcbf55c749d0ab83, limb2: 0xf2aea1a5c76ae606, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7cf810198cc2b283c9a7b49d, limb1: 0x9196223e63bc38155b98ae58, limb2: 0x64cde81aae3311a6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f21559bb9485146ccb659c6, limb1: 0xd18320c647ceee93eee3bc28, limb2: 0xb5aceb377f15c542, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6067049ade175734b20bf3b1, limb1: 0xcdd62d72ed614989a349c586, limb2: 0xa83179886511cf4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6d62b519a5e39b5cb5e8334c, limb1: 0x31e7815a2b207a73bbbfefae, limb2: 0x3a1d4c9e55edee58, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -42709,71 +42709,71 @@ mod msm_tests { limb0: 0xb7941c4941766af24e4012c9, limb1: 0x962d3321429cc01a1557e8d8, limb2: 0x1e5ff6cf9837b874, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x454a7f6f3fe521749ee5e878, limb1: 0x1b2ff57f37f05bd6a7b7058a, limb2: 0xc0bc0338a7dbc76, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe02f4a10e904193e97f2067d, limb1: 0x8bfb4f44c2772cc04c48148a, limb2: 0x82b73d49c2424826, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x675ee4c2ba60b10a2c464a7b, limb1: 0xe67d15a24cbbaec51144de02, limb2: 0x9371a44820b515af, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb15a239bfd27bdaf4449f8e, limb1: 0x7bf46be9a070200f9a2fb6e, limb2: 0xb96430d1456fb3b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8f58c3045e3f4b3a74bc8808, limb1: 0x39d19930c1cc7e5c808325dc, limb2: 0xe705811e051bc860, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3b3a649877eed87afa06600c, limb1: 0xf20257210d403079b838b287, limb2: 0x153214fc79048352, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6a2280ec6adc1eae811ca2b7, limb1: 0x493c782bbb261e0f1d626b00, limb2: 0xaf6b3fcf8184f7aa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa857f8bf59953a96bf47cdb3, limb1: 0x83ea3353c9390146d945d270, limb2: 0x30309fa08e91cc89, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x725e3cdf7d683fdbe2972b59, limb1: 0xb6d0d8d6a47a550468caeae2, limb2: 0x32f6672ca26aa471, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6e187b5f20d022bdd9722fff, limb1: 0xa97841b7c56a8a307537a2ff, limb2: 0x1d99bd4414644830, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -42781,76 +42781,76 @@ mod msm_tests { limb0: 0xf7780aa1a6a57a6269163a09, limb1: 0xd831e8a8cb25935ae27c2b52, limb2: 0x3fa707d158fc6f5a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6249a4fa79efde0c10f813ee, limb1: 0x76b4e5c5f9ecdbf3c7972c3d, limb2: 0x5737bf41d6b5cc25, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x701cce382949545c4dbfb21b, limb1: 0x10ae57a4d81689042a14b759, limb2: 0x30ba0339d09b7199, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa612d84dd5bc00495a11d7b4, limb1: 0x2d267a2e897320b83f985a01, limb2: 0xdb7945fdf37c8a1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x21a74bab10a853378dc76737, limb1: 0x183ebc9a53d1c5470523d7eb, limb2: 0x18105aac93cec5ba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb72986756831e48a51e9e29e, limb1: 0x88b4d14dc1bc39766c03508a, limb2: 0x33d26771820d5eb5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7957572d6e3012f9c543fdf4, limb1: 0xb62bb2bdc5ffe0def7d0e7f3, limb2: 0xf29b7464230b0363, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6244a8a148f1359aef7f8dd9, limb1: 0xfd755fa4bc962afcd1cf30a5, limb2: 0x7df7f680c4efd89e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdb5996ca2e0b75ca84fbb923, limb1: 0x8dc1dd7aba927975f1cc8c93, limb2: 0x6ca541359707d575, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f189286d703f6112e3a65a3, limb1: 0xffaec7f3d5170182bde41763, limb2: 0x177445275cf06d37, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf29f37ae81b353e4ff081e54, limb1: 0xce1bf4b3dc7b7adde4ec8636, limb2: 0xbeee0e15b0a62207, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xca4131c9e1a7ce44c20654e4, limb1: 0xcf285b17fc86cb52bd8be21b, limb2: 0xaaaacd9c4f8d33e1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -42858,91 +42858,91 @@ mod msm_tests { limb0: 0x468ea597e4d3de7bc66b89cc, limb1: 0x8936a8404a2ec78409c799c6, limb2: 0x3f07039153a133f9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa656e9bbcc709030190a59e5, limb1: 0xcf0e9849bf51c2c2bb4a3389, limb2: 0xe69edd8c1b9aa64, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x38fd28913548ae96bf49205a, limb1: 0x1c8716a071f3222038ddecff, limb2: 0x5666387bb156f7cf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9fa3ab330c10e5f453818957, limb1: 0x287cc0db05713d24dc078d2f, limb2: 0xeb04283d10d13cdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x47768825f3ca708bb062a8c3, limb1: 0x6a2611a29f47fe9a9ae328dc, limb2: 0xab0d507c80f03465, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9ea968f3b3ecf751b3daae22, limb1: 0xd701d508961a63e6dade1618, limb2: 0xd798949899c472d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe28e108f80fd5a27854b419a, limb1: 0xe1d143cd4bece57d80ec7096, limb2: 0xeefb65efb2481ea4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x277eef526fdb3d8162d60a0c, limb1: 0x491395c830384483de7eb9ce, limb2: 0xed791025dc519807, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x77abd5504ea054894d89ae37, limb1: 0x9fe810854c2d9265bdf2d225, limb2: 0x178f1b4b7d2bea99, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6089f2e0e0adf2b0b7ae4410, limb1: 0x1148a4e6a1326d0cd86253fd, limb2: 0x7dadf2538ba7a069, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2e4a6ebf98a381903b1f0d18, limb1: 0xfe06b085faa734d315a65f52, limb2: 0x525262d450cb77c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a62379832f30e9b5ac39e01, limb1: 0x3b6d2b81ef91e971debbf023, limb2: 0x32299dacfb9f87df, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x725e3cdf7d683fdbe2972b56, limb1: 0xb6d0d8d6a47a550468caeae2, limb2: 0x32f6672ca26aa471, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6e187b5f20d022bdd9722fff, limb1: 0xa97841b7c56a8a307537a2ff, limb2: 0x1d99bd4414644830, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -42950,27 +42950,27 @@ mod msm_tests { limb0: 0xa36bdee3b2de39ccc87aab3b, limb1: 0x1d24bed7e1b562486a9e8fbc, limb2: 0x2b060face89cccda, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x37cec7561349bd53ad1bb5af, limb1: 0x5f9600122670117fa09d06d0, limb2: 0xfe3876259c50320, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xba653f1c5b50436b97a42c5c, limb1: 0x78ed8fe1c682d789effc44d8, limb2: 0x4b0c454044ba9294, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x22f2f9953d5b3b7ef1c60d31, limb1: 0xbaeeb9b7d5a4c1d0ab458e09, limb2: 0x7ba81189bb9ba8a2, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -42980,167 +42980,167 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x8a703177da18d4ede707c057, limb1: 0x7d6c11e754ab6fbe73deea43, limb2: 0xdf9787168190a047, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2e6585ab5f125a34fef37875, limb1: 0xb70e9f02ce7744197172a117, limb2: 0x60e305f9fe6f2298, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x712f72f3929408ff68af059d, limb1: 0x4f72cea12cd115dc1c8639f5, limb2: 0xc6d5ae1b897ffe77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfcf91f56bad0659142668837, limb1: 0xa15458b49bcdad6c870e3889, limb2: 0x81a1342e70b1b765, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x461d7579f9613d3168fc6220, limb1: 0x7626024a6195fe0eafcea08b, limb2: 0x32e91b268a032443, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xcdc7ae298071a741aafd4035, limb1: 0x9a9bdfbdb824dc1278457a10, limb2: 0x17fbec3713dfd145, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -43148,15 +43148,15 @@ mod msm_tests { limb0: 0x617117bf1151fd79fc71b779, limb1: 0x4e2f6459c4115850de36db63, limb2: 0x3e7e9f9d44a05b03, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf05f55006d626fa5d91a695d, limb1: 0xd2cf263e6037971f0c923d96, limb2: 0x5cffe1dc97fa2157, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -43165,7 +43165,7 @@ mod msm_tests { fn test_msm_SECP256R1_11P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -43336,7 +43336,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -43504,7 +43504,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -43672,7 +43672,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -43843,7 +43843,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -44013,7 +44013,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -44182,7 +44182,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -44351,7 +44351,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -44518,7 +44518,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -44689,7 +44689,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -44857,10 +44857,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -44868,42 +44868,42 @@ mod msm_tests { limb0: 0x396217fb094172485ed71701, limb1: 0x86d8b0c7d1a5e4c7a5f9bc6d, limb2: 0x71f625cb03b8ef6e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe98177c6d14f501e14485170, limb1: 0x1a7ca5a7ace37e332a4c11f6, limb2: 0x983fcff92b02e21, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xb2a7ea53b9538de66e7e743, limb1: 0xd60f5b3e71a8f46db68ceef2, limb2: 0x9c1ad67a074850c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2dd4f91dabff063662e0d3a3, limb1: 0xf06ae0503f3f8ea7bde84f8e, limb2: 0x5e760d2ef3c9e447, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x2f71d6eb303b3bf480fc702d, limb1: 0x68910d569e6682c2fa1032ee, limb2: 0x82845286591c8fd2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x73d8aa453b7a7f95d4951130, limb1: 0x73e64c911c98638f780f7279, limb2: 0xee21dbae9f50d5d7, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -44911,76 +44911,76 @@ mod msm_tests { limb0: 0x5b43dead7c65ea98ccbc2312, limb1: 0x9ebf6071884aef4be20dbb49, limb2: 0xcc075f01a5ea7905, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8f341214716c7cb17fa697a1, limb1: 0x442e4a02d84c48ff8e6aac5, limb2: 0xf5b9d926250bb677, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfe802087433fa7d6b14f9760, limb1: 0x117c80fadea0d2aaa9ff3f7f, limb2: 0x589397cb421dbfae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf951e47ed9e72c3d1130590c, limb1: 0xa65e0872b29b1c0c9b0a3e89, limb2: 0xa11a256d36a40010, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7c33d5664fbac990d120e65d, limb1: 0xc9f28026503f21ad0560ef9a, limb2: 0xb84107bb212b89f2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4006e68fdb6f9682265b2867, limb1: 0x85c0b9e2b6a8b25b664c53b5, limb2: 0xfeed2b06f6a88196, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x527ae201f9e17ea928ca54d1, limb1: 0x2aabfbf74df6a42c387e75cb, limb2: 0x423029c5db06b3ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa8d26ecae02f354edda2b195, limb1: 0x8dc6849ba01b7c59c4b36ccb, limb2: 0xd94ecd291fdaeb33, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa81bb716ebb4879fcd366809, limb1: 0x8b23d814a61765ec50a7b97e, limb2: 0x1f8e392eb422c09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf8c81e965c463ddf19204654, limb1: 0xfd226d397f3e62db4187e9aa, limb2: 0x1b9cd28544e2b2e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x81c7c8843186f5cc9ca92d0b, limb1: 0xc1a5f270f0111329e609647d, limb2: 0x6f6fefa0d8cb0374, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x798667c33aa4fa51b1534ffa, limb1: 0xae7a5b2c9c3803f67d94a22f, limb2: 0x6feb69d2c7a8c219, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -44988,77 +44988,77 @@ mod msm_tests { limb0: 0x9e931b5525c73cd842af75f1, limb1: 0xabf5875c1edcba891053689a, limb2: 0x6e9a79cb841b9239, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc40b58faac5eb4486a6fc73d, limb1: 0x6841e347269a398ba4a134ba, limb2: 0xf38d14a0132c2b9c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x26862957dc293a92353b00a0, limb1: 0xd0ff27beb3b75a810043b700, limb2: 0xf7535c57e1283f9a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x69aa124dca994cf366d3838a, limb1: 0x2aeb9d3dbc40f1f6c445bd9d, limb2: 0xbedee89854bb95b1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa9ef9fbb104f01fdb70327c0, limb1: 0xc25b7d667900531fe553b8a1, limb2: 0x7f9dfe45ff266ec4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95c690e1e54ed97bd58236d4, limb1: 0xdf765f4aee023fd99c8f39c8, limb2: 0x516b23c9b8d0e7c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x119a86a7f3aa39cae97f77fe, limb1: 0x5de7700696e2c13b71ae9a5c, limb2: 0xa07f83f793ba613e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbaf39c2e9ef6de6ecb985127, limb1: 0xe8df9b6099aec9c09cd86846, limb2: 0x80cbc86c17e00579, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x112b8a49f760ad0c6693c819, limb1: 0x2467467c969b79e80bc91f01, limb2: 0xa4f9b073748970e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x88262d83e9378fe0954de545, limb1: 0x23765643c094e5c97c84ba20, limb2: 0x8082d4e9745c4911, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8526a7351189b50070afeba, limb1: 0xc1978bf96a07b0b8332c25f4, limb2: 0xcba1944ccd956fe5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1d8f0f54cd2b66747d49ea46, limb1: 0xfe79b6accf8be0b472f6f202, limb2: 0xf622362e5706004f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -45066,82 +45066,82 @@ mod msm_tests { limb0: 0xff7b1d4b4475a219f7b51cfc, limb1: 0x1b7ac389edffd607397c367e, limb2: 0x92d64b4f9dfbb889, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18d318de778fb65427ac72a5, limb1: 0x9e69f420b1c9392318339209, limb2: 0xb2caaf2d41662950, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbee6267bcefed599fffcaaec, limb1: 0xe8a9a16294781446ae1724c1, limb2: 0x96694349f365ce96, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe14d705f78a00b747f40052c, limb1: 0xd0792ab4c582f8b8f790e27c, limb2: 0xdcabf614e0d72d08, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbec6e0ee3696ffa3c9006976, limb1: 0x3694189e57e16288c36f7f50, limb2: 0x8dcb42063b7d1367, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xde861e54940f99c496d4ae53, limb1: 0xe43768be7282e166995a7767, limb2: 0x5d4fe5e2ef8f93dc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x904395d30763a609da03bede, limb1: 0x8e3503557c00cdd781da11d9, limb2: 0xc857beae1a7f82f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3eed73b2d48a10c34804c73, limb1: 0x3584195ef40e1853ead3a3fc, limb2: 0xfde044925cc7bb96, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe76a7f0dc5a786b60262921b, limb1: 0xfbddb75924d2e9b5d2db47ad, limb2: 0x9ec0e9ad8d63430e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc62c7f347bdf461aed81c065, limb1: 0x26d2ff6490102b059d7f035c, limb2: 0xe30656515c1eb0b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe351ede2c9119da3ec8a0417, limb1: 0xd5857540b70bb98e5e4c9c5d, limb2: 0x8bfa6c92b7f53c40, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8bb579f8b822e4375f7b8f74, limb1: 0xa83a723a54550155e0bcc5fa, limb2: 0xa0ae383534223b37, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f939a57a0f100b6d56ffdef, limb1: 0x7b80f15e8b41dc8d58de119d, limb2: 0x954e6d0266da1c23, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -45149,97 +45149,97 @@ mod msm_tests { limb0: 0x941f20bfad0184a26df4347f, limb1: 0x8df53aa1361817ad6d89350d, limb2: 0xec401f870d3b72fe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa346eaf82a64114c4db1b241, limb1: 0xe63c793cee8d93d643eb58b5, limb2: 0x7fbf1dfd819dbb10, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xee172e52c81c0edb444976b9, limb1: 0x7ac1bc406ed74482f72924f2, limb2: 0x8ba356a2d101eba3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x77b94c9e7404be5ce6c445dd, limb1: 0x8b9ab52baf7d36489a5ddde4, limb2: 0xa008087da733ca66, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbd6f0fa4eb0d7f5ac2b9ff49, limb1: 0x5337556532318900ba3e7e63, limb2: 0x20dc39209f3cfb3b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xde723640217e0086e4c4b70a, limb1: 0xb4f9a3622783eb45de1d2db7, limb2: 0x3d2771e797228e07, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5843508b43df60725f1510e5, limb1: 0x4f39f5229c57841ad72f34f1, limb2: 0x5ebae739f32ba4bc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x38f2780226655da345285772, limb1: 0x90c4fe97b531cc910a7a5ac8, limb2: 0x400bf4f11729443b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb170fa317a87b881a8176224, limb1: 0x9101c644b36f79f66654d643, limb2: 0xc651060573f40ac7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb5348a10665ff677833850cf, limb1: 0xf0e0ce9feddb09ad04641378, limb2: 0x7b2ef41d7872fda9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d3d2fa06bad404f38a8b74a, limb1: 0x104599949efb24b0cf844537, limb2: 0x79320477f3b9730e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x19c1e90fa0229b37f6434e24, limb1: 0xeb8710fb199cca4ea9c54d1e, limb2: 0xff07d4bbc68d3917, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfbccb07bbd8398c1454286bb, limb1: 0xdbf4ef92c889ca6888bceacd, limb2: 0xf8e268341984dc0b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8526a7351189b50070afeb7, limb1: 0xc1978bf96a07b0b8332c25f4, limb2: 0xcba1944ccd956fe5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1d8f0f54cd2b66747d49ea46, limb1: 0xfe79b6accf8be0b472f6f202, limb2: 0xf622362e5706004f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -45247,21 +45247,21 @@ mod msm_tests { limb0: 0x728937c331f0e317e2c0c291, limb1: 0xf4c42e9dea42934af6e9bafe, limb2: 0x175301903d6c10b7, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xd74e9ca0de0647951d260796, limb1: 0x299388cd8bede92bf915fed3, limb2: 0x21a63bc411cd2784, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2ccba3a81218419485459fb, limb1: 0xc5854ba32cbafaa6114c4e06, limb2: 0x4ca9990c51d8a6e9, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -45271,184 +45271,184 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x8a703177da18d4ede707c057, limb1: 0x7d6c11e754ab6fbe73deea43, limb2: 0xdf9787168190a047, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2e6585ab5f125a34fef37875, limb1: 0xb70e9f02ce7744197172a117, limb2: 0x60e305f9fe6f2298, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x712f72f3929408ff68af059d, limb1: 0x4f72cea12cd115dc1c8639f5, limb2: 0xc6d5ae1b897ffe77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfcf91f56bad0659142668837, limb1: 0xa15458b49bcdad6c870e3889, limb2: 0x81a1342e70b1b765, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x461d7579f9613d3168fc6220, limb1: 0x7626024a6195fe0eafcea08b, limb2: 0x32e91b268a032443, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xcdc7ae298071a741aafd4035, limb1: 0x9a9bdfbdb824dc1278457a10, limb2: 0x17fbec3713dfd145, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x9b85054533e9d24310265ee0, limb1: 0x51cbb79b2625c435ba43bbef, limb2: 0x1fd81fcb136c629b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x96378a2e47ab50246a9cf131, limb1: 0x4d0f08867537268cf39eae04, limb2: 0x4eeb60396f3e5f52, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -45456,15 +45456,15 @@ mod msm_tests { limb0: 0x8bb75ba627234dc63e79a70b, limb1: 0xf80598ab2773419027b1531f, limb2: 0xcf5ff5f040bbf9f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x74e9046434afc5dcf31ffcca, limb1: 0x7a10638d5630b338c33f51f4, limb2: 0x581c177d075c1692, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -45473,7 +45473,7 @@ mod msm_tests { fn test_msm_SECP256R1_12P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -45640,7 +45640,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -45808,7 +45808,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -45979,7 +45979,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -46149,7 +46149,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -46318,7 +46318,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -46487,7 +46487,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -46654,7 +46654,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -46825,7 +46825,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -46993,7 +46993,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -47165,7 +47165,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -47334,10 +47334,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -47345,42 +47345,42 @@ mod msm_tests { limb0: 0x63c70f94dcf043039d5b06fd, limb1: 0xaea5b5d016d780fc3268e4c0, limb2: 0xaab7cc308e570714, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2ccddde18a7ebaea35b7e5a6, limb1: 0x77890d800c548f0895b91ba5, limb2: 0x38f62d852b001d58, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xb8703d4eb1e2bfd5d9961829, limb1: 0x1842a9aca84733324c506a00, limb2: 0x4d0d88487505dfdb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3ed04afc6933b3f7805988f7, limb1: 0x52d3fe01f66a332d0085908c, limb2: 0xfdb0892e58dcbc1b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xa03532a10c75403f0d217fb8, limb1: 0x3e4656ee3a4f973d11c76c19, limb2: 0x29c888c3b44f0160, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3a168c8dac103d557d99273, limb1: 0xf0dc9ffb09bdf06ec71bc3ad, limb2: 0x9acb520c6222d492, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -47388,82 +47388,82 @@ mod msm_tests { limb0: 0x5e0e35cf57f429925396b22a, limb1: 0xfbc747ef3623ebe10088dd4, limb2: 0x9f2c62f3ed82ea23, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f49f0e347e86caceb5638f6, limb1: 0xd0e33c1d59bc0b50a4b909ff, limb2: 0x3c59f6937bc979b0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x511aa58e8f10261b3f9da79b, limb1: 0x636f28e0b30e734474e1fa98, limb2: 0xa9c813bf744ae154, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcf1f2ee3da521c79ebf539f8, limb1: 0xdef4738a892d89f76d6683f3, limb2: 0xb35f68bda8391af, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x59af5cb1b9933d283e796d75, limb1: 0x8d16c6407a09c56cfaac686f, limb2: 0xc9336e2e6cad0d5d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64db07d816b52730a3b18ba0, limb1: 0x71cd99a3cb57f37d36f87afb, limb2: 0x6ac3ad562fe31d33, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeffde34f92e6c8a43d6ce468, limb1: 0xd2524db4ead9560e868c26ea, limb2: 0xb064ba32486a641d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x90a782679875c97089cb1705, limb1: 0x3d08e4c4fbbefb1c993bad32, limb2: 0xf93d10e17ef4a5e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4830938921feb8be81ba4ce5, limb1: 0x6db6b4217ed67161edb59be4, limb2: 0x503514f6dfcdb951, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xabd36bc9d5ef45e41ea86f9e, limb1: 0xc72d45d0c2ec75c8df97a3ef, limb2: 0xd746b72e83b0b9c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xad287cc8f5e520cc3bb456ed, limb1: 0x573017dc5907a402599c34e, limb2: 0x5d794378e142445, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x59c976d14fc2ee27661e2f0d, limb1: 0x2759e1ac470a2032e7ee3bab, limb2: 0x9b57c5e636591a0c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1f7f2f797e70e2557bfd58b2, limb1: 0xe873f81a3d93383097ad1c5b, limb2: 0x2c0c09e76d922149, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -47471,83 +47471,83 @@ mod msm_tests { limb0: 0xc6e2d83c3c62034eb89b11b4, limb1: 0x8c22943bd9f5d99ddcb92e2, limb2: 0xde88d2cbc52310be, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x92204ed8c1c804b6232a825a, limb1: 0xf4812d9fc84fade1270cdc7b, limb2: 0x2ff64e8ab996c214, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5dfe9f4cc01db63be10aca45, limb1: 0xf2c8ff40fc0f537d6759e14a, limb2: 0xd88bb825f41da256, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8567fb39257fa9d5efb733dc, limb1: 0x60d78d59586ea7241badffcd, limb2: 0xf740316549d820a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd3881aab6ebc02474f77d892, limb1: 0xade274e2a453b0e33e617496, limb2: 0x9192b54fd304ceb7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4039058624067149bc7466, limb1: 0x4dd5ca3214d418853f6a0501, limb2: 0x66b2ea4e882320b0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84bbf80d53a7189ea03900c0, limb1: 0xca50ec872a12c935c32905fe, limb2: 0xf377e18626b8c35d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39b95c95c374bd6c6e63f17c, limb1: 0x139179d6bfae5add96458cae, limb2: 0xf6e91eecc1fce8e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd8b4f48c9783c42470c30897, limb1: 0x6533e9a01c8d593bac99418e, limb2: 0xba1826d2f8a9a2d1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x729d11f0edb140c9d3e4c730, limb1: 0x8cbdd00e15c622d18443c326, limb2: 0x3166e3687e0c88ea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdecf4a4efc4ccb94a97a4ce0, limb1: 0x8cdd156d9a3f9e1cc90ecc58, limb2: 0xea3d1d228489a0e5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc59a3f14b4701e6953c4ef25, limb1: 0xfea883f8c414a012611672b6, limb2: 0x54390333e2faa173, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x86879c87a4abbac628cda084, limb1: 0xfdc91440d17c1a950d683aee, limb2: 0x52c65cc23b04d7bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -47555,88 +47555,88 @@ mod msm_tests { limb0: 0x5c7a1c33f3310fe4300109a4, limb1: 0x31c1c1621a27c167ac80f8ff, limb2: 0x3dbf2f32847d5a5d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x74261a1473ad43b568a4d86b, limb1: 0x236c40e5236e9535796d9d0d, limb2: 0x7f1362dd1179ebdd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x26129fe49ee4acffbc39266, limb1: 0x250bdb0c3982aeb8b9c52fe4, limb2: 0x40d79965e048efdc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa019a3a638f34de5a8965732, limb1: 0x73409552833f9beebcd77d2d, limb2: 0xb49fe9249058a063, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9a3d09a3efec4e720146cb4a, limb1: 0x38c05e93674950449a256dc9, limb2: 0x3f4464e643508182, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe0ec7f3746fd833763ff3869, limb1: 0xc526e6bf2c5ae3fa754440b7, limb2: 0xc2263fe9436d8238, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9ea14702bb4df8f6b7f21341, limb1: 0x565d68df22f1deee3fbfb4cc, limb2: 0xbfceec57c00aa92, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x880c59687bc85e88104a8c6d, limb1: 0x7da9dffe4ce096c404a7997c, limb2: 0xe7ed89c27d74ab9d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9e6e818239557ac9a79fed7e, limb1: 0x4b7ebc1eac198afa58fcd54f, limb2: 0x8adac28de8bffdfa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x234f3310b67bf69a2194bff1, limb1: 0x3c54a5bb9b620b3f688f7670, limb2: 0x5a7dfc32fe6a8a3c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa5fdb328c1a7f9250113798, limb1: 0x4b383f8c9a8293d7f674106, limb2: 0x7cf6ed7d7c0c6c09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaac21cc39f82c284c53e1ac1, limb1: 0x135fc1c7386227076df82c15, limb2: 0x17f738e974b9333a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x495459197825e901c3ec3883, limb1: 0x5290f46ab30fe547c785720e, limb2: 0x96ef0e9e01ade446, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8ac15ea4119a081606a0e3de, limb1: 0x8533d932cadfbf624f3a27aa, limb2: 0xbf998a558b9db190, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -47644,103 +47644,103 @@ mod msm_tests { limb0: 0x9f05dc5d470f5c9e6290e154, limb1: 0xba0c8ee1714c34986191002f, limb2: 0xc42a80bff61f4d12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5f8293d6f1bee7fe9b06eaa7, limb1: 0xc68a27ce0a1db20cd07a7912, limb2: 0x5a06efc12fa0faca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9083633aeb0b02cf00aa1994, limb1: 0xa7a3f08999e675cf48e5df43, limb2: 0x62a4c4ae302be59, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xed931f13d4f3fb6c5275d29a, limb1: 0x3a945a206381b33bb84a24b0, limb2: 0x2af92f88458fabcc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x83225f961e7849c657397985, limb1: 0x9200ae7fddf126bfd02f9140, limb2: 0xc371922c72a34e09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xadf2a24115d8fcacaa5b2d5f, limb1: 0x17f158df2b582c97def91095, limb2: 0xbf6bb1531176f2a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x377287608080562576f402f8, limb1: 0x3210a613ea42624cb0eceb2c, limb2: 0xc7ced8560e7e05d8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5569d24409fc20f1b88bd15b, limb1: 0xa37add23d7c1450842093f8a, limb2: 0xee73bfc63c2abc9a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x737b5d8876926a0de12169a8, limb1: 0xe7a8226f6fd8e8a43f5b283d, limb2: 0xda87e523d568b952, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7d43a9fb2994daf6cf41e2de, limb1: 0x2282200387e1ce60d91318d8, limb2: 0xa55fe3cb80f2e5b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdaccf548e71627abdfe988f, limb1: 0xc02f814fe220b8c6a76dce9c, limb2: 0xbc6b046ec3a18fa0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc0b2d0e5ae95910ff3308d7f, limb1: 0x944e6c1a67438c5ca5ba7988, limb2: 0x765d8cd545e96f6d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f10412db0a83643bda37082, limb1: 0x5f0d1a1a47153c987e6b3d0b, limb2: 0x3dd4b5a101fee7c0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x178c25ae4a17d78056e3cb9f, limb1: 0x476d96009c63d51a05f3223e, limb2: 0x4cb03cb47db5ad93, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc59a3f14b4701e6953c4ef22, limb1: 0xfea883f8c414a012611672b6, limb2: 0x54390333e2faa173, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x86879c87a4abbac628cda084, limb1: 0xfdc91440d17c1a950d683aee, limb2: 0x52c65cc23b04d7bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -47748,39 +47748,39 @@ mod msm_tests { limb0: 0x51b092f473a847f3fe883430, limb1: 0x14ac7c9defb67b39cec4fa29, limb2: 0x62802a4ff11935e6, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x80829f83f1e0a0bc5a900efe, limb1: 0x7baa3eecb3a2da9d8e428675, limb2: 0xf644d29dcbb96b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x63e510c507762055f7a31794, limb1: 0x7591a061cc81a9d2e1e940b3, limb2: 0x8b7e896e0f143bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8dd572f508a4297974cd2e31, limb1: 0x9167ced8f744d149d51d4afe, limb2: 0xba4da59074cb098, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ad6d1393cfe577e5d2ba30a, limb1: 0x49ec800b44b25b88a8b69bce, limb2: 0x17a9dc91e727bd78, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe279da393a00bc39a643465c, limb1: 0x6418a054094a38df754e5b, limb2: 0x18263d7bdc45805a, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -47790,201 +47790,201 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x46ae31f6fc294ad0814552b6, limb1: 0x2d54cc811efaf988efb3de23, limb2: 0x2a2cc02b8f0c419f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaec889b9d8ce51c4a2c3586f, limb1: 0xa2b07874c333bfee9f78e13e, limb2: 0xc445de21be8d8709, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x7e47d1c2d19c21b2f6870259, limb1: 0xe701b40af42001c38bca00db, limb2: 0xd87ea1720d4dd3d6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b1d6cc74985ce49a1f737fe, limb1: 0xb9127c572c3f091c031c249c, limb2: 0x1392711e1576aa6f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb71f95ea692ed186e06e4c37, limb1: 0x807276cd9cc59718bb11dbe9, limb2: 0x10756a25836d67ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd34211b3520c83c5f9be99af, limb1: 0x8f19a28ceef67bbda102ffe7, limb2: 0x7ac2b92030d351cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x411bb5d0fbe844f025c7178c, limb1: 0xcf603787227b7ac499d6d1c4, limb2: 0x5f6b2479862eb2f8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xce60303cfcb98726ff64a1e5, limb1: 0xa64534c614754b3527588d25, limb2: 0x44f75e245622181, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x8a703177da18d4ede707c057, limb1: 0x7d6c11e754ab6fbe73deea43, limb2: 0xdf9787168190a047, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2e6585ab5f125a34fef37875, limb1: 0xb70e9f02ce7744197172a117, limb2: 0x60e305f9fe6f2298, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x712f72f3929408ff68af059d, limb1: 0x4f72cea12cd115dc1c8639f5, limb2: 0xc6d5ae1b897ffe77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfcf91f56bad0659142668837, limb1: 0xa15458b49bcdad6c870e3889, limb2: 0x81a1342e70b1b765, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x461d7579f9613d3168fc6220, limb1: 0x7626024a6195fe0eafcea08b, limb2: 0x32e91b268a032443, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xcdc7ae298071a741aafd4035, limb1: 0x9a9bdfbdb824dc1278457a10, limb2: 0x17fbec3713dfd145, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x9b85054533e9d24310265ee0, limb1: 0x51cbb79b2625c435ba43bbef, limb2: 0x1fd81fcb136c629b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x96378a2e47ab50246a9cf131, limb1: 0x4d0f08867537268cf39eae04, limb2: 0x4eeb60396f3e5f52, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x4e9960d402494fb117251955, limb1: 0xc0fb055de656d6ac2ba4da86, limb2: 0x800a21e8619f448f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x21ba9af739425b664464e3d5, limb1: 0xd09194888c2ffcf16e93e0c9, limb2: 0x5d4d3cd0684b6cd1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8, }, u256 { - low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0xd67e55fd642bfa42aef9c00b8a64c1b9 + low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0xd67e55fd642bfa42aef9c00b8a64c1b9, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x37176e84d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x37176e84d977e9933c49d76fcfc6e625, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -47992,15 +47992,15 @@ mod msm_tests { limb0: 0xef4b4e197306579c6764d18d, limb1: 0xcad67ed94cd304765c5ef1d0, limb2: 0x3aaf8e6e9efeb7a8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaa6037d51b7470230cec4f93, limb1: 0x65094a2650b8285563a053b4, limb2: 0x312f741cf953042d, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -48008,27 +48008,27 @@ mod msm_tests { #[test] fn test_msm_SECP256K1_1P() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -48036,7 +48036,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -48044,7 +48044,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -48055,9 +48055,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -48065,27 +48065,27 @@ mod msm_tests { limb0: 0x69588367250041f054620d3b, limb1: 0x1174ea4879bb0b580868e8e8, limb2: 0x7ea9eb687089d547, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -48094,7 +48094,7 @@ mod msm_tests { fn test_msm_SECP256K1_2P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -48265,23 +48265,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -48289,7 +48289,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -48298,7 +48298,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -48307,7 +48307,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -48319,9 +48319,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -48329,15 +48329,15 @@ mod msm_tests { limb0: 0x862bbbc7625bb23fe3ee10f0, limb1: 0x868baf0626c044f9a077a0ca, limb2: 0x155e74b122885e85, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x610f7ffe1889436670829e43, limb1: 0xb1f2329808ffbbfd2a7fce4c, limb2: 0x56c9e223dae04be9, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -48347,37 +48347,37 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639 + low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -48386,7 +48386,7 @@ mod msm_tests { fn test_msm_SECP256K1_3P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -48555,7 +48555,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -48725,10 +48725,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -48736,42 +48736,42 @@ mod msm_tests { limb0: 0x81f93764cd87ff5af9aad87f, limb1: 0x8aa0792747a5b8ca16b9e369, limb2: 0xce30fe4be7b17451, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b77703ae4639b17cfca6124, limb1: 0x86b771c3a15eee8b1ca9feaa, limb2: 0x5acc99b6152d28a4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xff8927eca139c99d7960c8ef, limb1: 0xec91eee7a0301418e07f41fc, limb2: 0xb49b07479d1c26aa, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe496c28fbc13ed8a0324b632, limb1: 0x2d5583856241be833fec7c9d, limb2: 0xff1c723bbb39f40b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x3efedfaf5b7ce0a80c4fa5a1, limb1: 0x2c16205bc2efe9dcc6eefa9a, limb2: 0x3f2cefb8efbcc695, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc3eeedd13fa2c621a214d57, limb1: 0x5e42015603c2cf1a184c7bdb, limb2: 0x8ab02685472a4433, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -48779,28 +48779,28 @@ mod msm_tests { limb0: 0x20a01cfce8a5bce328cd8cb6, limb1: 0x611f3fb42b516f17cb0584f8, limb2: 0x763b2c950e4c198e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x462d15939fcd221751c6ac8b, limb1: 0x946592683858eab6a9652826, limb2: 0xa1544fca41ad8c11, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x31f0a0eca245552ecd7315f8, limb1: 0xf2429ee89609dddcb454a01b, limb2: 0x2c1624c1c090dd7d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc709d17953074ae5eadde9bc, limb1: 0xeb446dc59a11fc094796dd40, limb2: 0x47408b85eea80d47, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -48808,29 +48808,29 @@ mod msm_tests { limb0: 0xb491b2471055bcbdd1dbef77, limb1: 0xb90603fde64b1a2ce0b61eca, limb2: 0xb4aaae5c76b88642, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3eba2b268c80681c5c311e90, limb1: 0xf11a024b8e0531687340bd0b, limb2: 0xc1b2df975bb5b863, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2eaecbac827c9f309771dbcd, limb1: 0x4f246630ea9180999a632579, limb2: 0x39f4d03f54586bae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4180fbf542589c18eb2d7044, limb1: 0xced4c189fdc0356f499c8870, limb2: 0x7b2973b1222292cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -48838,34 +48838,34 @@ mod msm_tests { limb0: 0x875809d83e33cb3b603309aa, limb1: 0x6ad6d4a704b31d0441fad306, limb2: 0xe478235415e659d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc29722eb23a6c51f15c5b6b7, limb1: 0xcaad40fc21df62667f2f7c9f, limb2: 0x283d3160bb315f86, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4524bfca28d2a6c6ba96c39, limb1: 0xa35f0c26665675ff32ee3a9c, limb2: 0x92cb938207ec8ab2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x151c89d4b8f7c9e45b67a274, limb1: 0x5a281d2133f588c400ee55b1, limb2: 0x53876cce8038fdba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7ac4deddb182928226db63f1, limb1: 0xb766e28c02e373347c52e9b0, limb2: 0x4a7ea9b2ab26031a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -48873,49 +48873,49 @@ mod msm_tests { limb0: 0xeffbdff172582934bd039b85, limb1: 0xf2a1bf14c0db73a24fad78a, limb2: 0xf0aac4873f0babd3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7172e0dd782d8cb8557e905, limb1: 0x97b61010e22459db26c52b4e, limb2: 0x4be41d2381f80abb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x46c791b791685a55241d066c, limb1: 0x29fecb5669fa843338b60650, limb2: 0x95b1b1bb4e6af1c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f1895fbe0c20170401a1097, limb1: 0x60d74ec3d68c9037e3fdd9dc, limb2: 0x12ccd83465aa89d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3eba2b268c80681c5c311e97, limb1: 0xf11a024b8e0531687340bd0b, limb2: 0xc1b2df975bb5b863, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2eaecbac827c9f309771dbcd, limb1: 0x4f246630ea9180999a632579, limb2: 0x39f4d03f54586bae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4180fbf542589c18eb2d7044, limb1: 0xced4c189fdc0356f499c8870, limb2: 0x7b2973b1222292cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -48923,15 +48923,15 @@ mod msm_tests { limb0: 0x2c77bb8f219c4f86d830378a, limb1: 0x7762e343071b3889761f79fb, limb2: 0x96e3952b500641, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x9d1cd65376303ffbede41478, limb1: 0xc58c82a3af69a89f7f34d76, limb2: 0x4446aa183d69a768, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -48941,48 +48941,48 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613 + low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613, }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -48990,15 +48990,15 @@ mod msm_tests { limb0: 0x55909ba28af82ea934a4b85d, limb1: 0x4bf448ca5d57fb119c843e0a, limb2: 0x6a2275491b991ee3, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5bf4bf0cefc9553422e60eb0, limb1: 0x178d55925d3d72f44783f626, limb2: 0xe13a21d7302f8139, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -49007,7 +49007,7 @@ mod msm_tests { fn test_msm_SECP256K1_4P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -49176,7 +49176,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -49346,7 +49346,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -49515,10 +49515,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -49526,42 +49526,42 @@ mod msm_tests { limb0: 0x8d0166bbf7e071295729418b, limb1: 0xdd542b48fa7df1e7e4e9d09d, limb2: 0xa21f38683fe17143, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x700402df5c88156eeeba2331, limb1: 0x5e608cc7fd03942d78c3d40c, limb2: 0xc8e85b1af8bfc00d, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x657faa148353381fc9ac1d0c, limb1: 0x4a7ef201b9db61fbb9c9495d, limb2: 0x1e87a915d7439340, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x70e1a8484ebeb69366e77b38, limb1: 0xd7ccd4a605455a2bf8f36b6e, limb2: 0x993c64100bc56c8a, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x2c45ea101d19f12cad40ffe8, limb1: 0xbbfb500f69aac418d22f893c, limb2: 0x75f7dcfb2d65ce2d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf94b1079627a99b6e7f182c7, limb1: 0xd1b1c151888d2b8b4cd9ed17, limb2: 0xac00455a2a419172, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -49569,34 +49569,34 @@ mod msm_tests { limb0: 0xbbfd91160f1137a819814c41, limb1: 0xb8c72d518683f02ec6ad0801, limb2: 0xe1c5047d3b64bfe6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab10d9e1799035d1ebba5662, limb1: 0x2cb032fdb5301af5eb620366, limb2: 0xfb19dd3218f7d066, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cf5274d4c502946c34d070a, limb1: 0x8cd43a3f8b49f41ec81353a4, limb2: 0x984c68c944a658e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95a762e79cd07580e6967ef4, limb1: 0x9ef7dd54a627f4698488d390, limb2: 0x7751907e2c6d7ff6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f2d5f441b3b91eb08da060b, limb1: 0x3e64bef215332a1f1f7b4358, limb2: 0xc6da47f9ca6ac46d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -49604,35 +49604,35 @@ mod msm_tests { limb0: 0x22d44575d84bdeaf7dd1fd74, limb1: 0xb65c0ede5ffdf4cb0a151934, limb2: 0x583dc69852d07b1a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe8b93bd973ccf034ce10e6f2, limb1: 0x2dbf36223ec817c3a02d7a90, limb2: 0xd9eee174bb8964ca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e69374db145e2b6ecf93288, limb1: 0x34b1b6902a61ec72c01e2a5, limb2: 0xbad632b4cbe07b88, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c4b654436374481f9ab681b, limb1: 0x8f1dd28caa0dd14f2276d2e8, limb2: 0xecf4cd348a10d48b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb9d551618829c3bcf5c67060, limb1: 0x5a6c883b07c66955946979ab, limb2: 0x10fcee769eec49f3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -49640,40 +49640,40 @@ mod msm_tests { limb0: 0xf7001257f7b133467ba3e31b, limb1: 0x6fd1b723cde5d3e56f2b9172, limb2: 0x31577ee1d048691b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x295353bdfaaf49c441ba4588, limb1: 0x7f1d9bd75873b0dab6b549f1, limb2: 0x3925bed489cbca7a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x73a58136c0a534ce62aea09d, limb1: 0xe9a45d654517882820fda93, limb2: 0xd7abf0e4f9c5b073, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x61ee5c016f4c07be54fb28c9, limb1: 0xf7d2d91253e6fc0ab7f95177, limb2: 0x67bdb9539fa57feb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7c29625088633bf4ed063960, limb1: 0xa64e1678630bbf9d9cf464cc, limb2: 0x300be8294b647820, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1af97fc9c3a2422ba6b3b23, limb1: 0xfc7fe2e950b56d452afaaf52, limb2: 0x53a300c966283854, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -49681,55 +49681,55 @@ mod msm_tests { limb0: 0xf3cde638ea1316ce70bdf5ce, limb1: 0xfc8468149ff1b18d4693b06c, limb2: 0x69b06e2a43b35dba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5d10a2f22a9a9176a27663b3, limb1: 0x403a7aefb778a659613e59f6, limb2: 0xf5882a3120c1c187, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe4e0831fd8e933057ad074cd, limb1: 0x170dbfdf128ad772340d3286, limb2: 0x1bdb62f1932360b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18e40a5353cebe435181ed17, limb1: 0xa02cd0b7065eadf4fb54dd8f, limb2: 0xd2ef630819464aeb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd8e75842cf14a60867dfd63, limb1: 0xa6b6efbf7534f91aaf0fce42, limb2: 0x50d966b313ff6a71, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e69374db145e2b6ecf9328f, limb1: 0x34b1b6902a61ec72c01e2a5, limb2: 0xbad632b4cbe07b88, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c4b654436374481f9ab681b, limb1: 0x8f1dd28caa0dd14f2276d2e8, limb2: 0xecf4cd348a10d48b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb9d551618829c3bcf5c67060, limb1: 0x5a6c883b07c66955946979ab, limb2: 0x10fcee769eec49f3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -49737,7 +49737,7 @@ mod msm_tests { limb0: 0x4ebe6b4cafc8aa610f56a569, limb1: 0xdfa776e024208427b7e8de56, limb2: 0x6ba436ffd643ab46, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -49747,65 +49747,65 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e, }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -49813,15 +49813,15 @@ mod msm_tests { limb0: 0x6bd8241f742b28cb66aa56f2, limb1: 0x24d0ea2018173320c8f31889, limb2: 0x9163c7b68d703c1e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x50b9bcebc2b4fc80224f5146, limb1: 0x756704c3a78f9ab2c60ececd, limb2: 0x9ecbe5fd68546ab7, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -49830,7 +49830,7 @@ mod msm_tests { fn test_msm_SECP256K1_5P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -49999,7 +49999,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -50168,7 +50168,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -50338,7 +50338,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -50508,10 +50508,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -50519,42 +50519,42 @@ mod msm_tests { limb0: 0xdeee90162668d9ce4d0f244b, limb1: 0xe835f5ba303fd8c66868f5d2, limb2: 0x6b9304b8a1c22806, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x729851bc6899005db1922a04, limb1: 0xfc52490f4e71234d1013c2d9, limb2: 0x8cd7ef04e09acb9b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xad4d37f098bcaf309c9fcd2f, limb1: 0xd74cd0b903e0b2f589c3251b, limb2: 0xa32d4eaa32618da5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4659ad0e9114b3866a5177f2, limb1: 0x9c4f8b74e439fd9450411db3, limb2: 0xd2c1a35b589e20cf, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x247024296eab7c3446e3b1ca, limb1: 0xff30165b684cb42dba8bbe2f, limb2: 0xd5ca67069cf2ee78, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe247de0dd7b37508a72c6059, limb1: 0x642788730a56608ab557c24e, limb2: 0xbd08b9db2356a816, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -50562,40 +50562,40 @@ mod msm_tests { limb0: 0xf551ee806ede3a84e50b5a5b, limb1: 0xba2a38f0f4b4bcb8aa8e3f8e, limb2: 0xfa82e27df6e247fa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x392640c1d18c885833b03d99, limb1: 0xbe5fdbba37f620ca12050dc7, limb2: 0x206e6591636732fe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5aa899a11f2b34e25decf235, limb1: 0x9eb0d082ad9427a2edf43ad9, limb2: 0xfca0997714a0a993, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc56c4ea893fe5e5a83b51db7, limb1: 0x7ae91e67be5acb8de1c39cde, limb2: 0xf5bba14ac838b77, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x14a7806184af29a22ed93626, limb1: 0x20722acf609dd26bc611d51e, limb2: 0xb6455c970451f40b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc2eaca7f64b2c3923463b52, limb1: 0x13f28c3b16cdfcf33cd7c3c8, limb2: 0xb3e01ee692cb9fde, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -50603,41 +50603,41 @@ mod msm_tests { limb0: 0x21256434d9e4ab0940b2aa3, limb1: 0xa6ca2f2fea671dd0d76263de, limb2: 0x490054f826f32d47, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d4d94cb9f8b8015368681d6, limb1: 0x26004d9fc6ba9fddcf40e1b6, limb2: 0x21f7e3f3554556cd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe0a2fe9fba953c7dee676c99, limb1: 0x157d37e9d806037143ec6b93, limb2: 0xc86bd59bfea6779c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x24c89ded403b7a11e202d663, limb1: 0xb41e0c5a878adc66cd364ff5, limb2: 0x4f821eaf93501b91, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xebd44b9124b27594061b1fda, limb1: 0x61891d9ecef8e54ca26b73c, limb2: 0xd1eb1ff8a5eabc4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x156f08d16f4b460687b35d8a, limb1: 0xbfe0ae3b08ae7775757802f9, limb2: 0x9586cbb4f52cb0bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -50645,46 +50645,46 @@ mod msm_tests { limb0: 0x4a8d97d1d4a081cad0269200, limb1: 0xbba2cfe807453f04a379c4c8, limb2: 0xe2970794dfc0a176, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x83df2a41bba6336c46d8e87, limb1: 0xd051bd098d259b61b2f87571, limb2: 0x17387a1fd843d111, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe9b8939c74d4b407d5984e0d, limb1: 0x4403c9dc0ab36ef9814b25cc, limb2: 0x86eb82b62ed11b8c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec9cd112193d7a7fd7922583, limb1: 0xe29b7330c8af10ed10ba22f3, limb2: 0x73223032cebe1e79, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec132ca9cf462dadc48ef72a, limb1: 0x6b7e3acd346f68130651944d, limb2: 0x9f449fe4a360d7da, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6d4db935cb32e291008dcd58, limb1: 0x63a4a233c2a19e4d6a37b4f0, limb2: 0x1c8cda1214ce7a1a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd97cc749fd2649e76e3205c6, limb1: 0x502c13ac4b40fa97777abee1, limb2: 0x7f830387042d3597, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -50692,61 +50692,61 @@ mod msm_tests { limb0: 0xe805bd71f540ad50c4e2e46, limb1: 0x8f874a4f68d1d0b5e3b0bb12, limb2: 0xff0252c910a63cf5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3d1f11915cd080947dad8cda, limb1: 0xa021f5e6f1a5f10aac62bfb, limb2: 0xedc73ba754e55f9c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2474f65e1a14a77684d40b44, limb1: 0x966c8764e82a1818db76f10b, limb2: 0x7af2d743f68d4544, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x38ea7c00f3ea12fc21f0efa, limb1: 0x939c85a99f3324a073de9392, limb2: 0x758f2bc52e23ee43, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa01ba5c3a06cb726614473e1, limb1: 0x50ac4a954147842f564fe460, limb2: 0xdf65c3bfdeb07ce8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x76ac3c59c5a426afa44f0aa3, limb1: 0x54a1fb8714cb47a77a348063, limb2: 0xdf1b678eb2df4ccc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x24c89ded403b7a11e202d66a, limb1: 0xb41e0c5a878adc66cd364ff5, limb2: 0x4f821eaf93501b91, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xebd44b9124b27594061b1fda, limb1: 0x61891d9ecef8e54ca26b73c, limb2: 0xd1eb1ff8a5eabc4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x156f08d16f4b460687b35d8a, limb1: 0xbfe0ae3b08ae7775757802f9, limb2: 0x9586cbb4f52cb0bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -50754,7 +50754,7 @@ mod msm_tests { limb0: 0x8bdb5b0314dcebc4294f704f, limb1: 0xd5d885dd4ce42488bacf9668, limb2: 0x6d14b72170c62cb8, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -50764,82 +50764,82 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x259f4329e6f4590b9a164106cf6a659e, }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -50847,15 +50847,15 @@ mod msm_tests { limb0: 0xbc6fa2dea64c994607db8584, limb1: 0xd63d04fac72d31f961d735a5, limb2: 0xe4560b5cd201928e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1d30243defeac47a6e2235c7, limb1: 0x70abf281edcf69ed8f8cc7cf, limb2: 0x1d9ad8c6c7fe670d, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -50864,7 +50864,7 @@ mod msm_tests { fn test_msm_SECP256K1_6P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -51032,7 +51032,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -51202,7 +51202,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -51372,7 +51372,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -51542,7 +51542,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -51713,10 +51713,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -51724,42 +51724,42 @@ mod msm_tests { limb0: 0x8d538abe3fe637bcee496ba, limb1: 0xb40782ccdc3814cea0bd31a7, limb2: 0xfbee29541418638e, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x79f616f2844ccb3d73661518, limb1: 0xd6fb0512f0a1f07034f2fbcb, limb2: 0xe34fd0ea02d18c78, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xb5e4461ab387aacb3ed3362d, limb1: 0x3aca0032b14626fd65d74cc0, limb2: 0x5865a713ee541fed, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xca2874330b47dfe690a6a825, limb1: 0xe65e899d29d8f422dc763b, limb2: 0x32ec17c4b11b1cc8, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xe8b5d2f978418ead548ca82a, limb1: 0x8a1307616e16e16a28a97e74, limb2: 0xa99af6fb4ce4e6cf, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6a797fcdcf7014a8bb3bd945, limb1: 0x1cd9cb0c06ede7cafbf6fb7d, limb2: 0x9fc5a0c0aa54b374, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -51767,46 +51767,46 @@ mod msm_tests { limb0: 0x19bc39be26c7ac02618b688b, limb1: 0x580ef0259413f2fee79ba2ac, limb2: 0x6f14e1b8351c08a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x83d4c887033e897a7256aef8, limb1: 0x1a56a0e28fc971e7c1f8b7d0, limb2: 0xe65431564b59ad12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84c2d93da9f071e9288e1278, limb1: 0x22f7ea7b5446a5a8b6fb62ac, limb2: 0x28f018008055561e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf44dc6361262116c3071a078, limb1: 0xaf98492c65a54ac4ce4b5b8d, limb2: 0xb958ab259ab24271, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x563447b1620b2b3a73023d37, limb1: 0xd82591e8422cfe051a5ce91e, limb2: 0x4dff9b3ffd4ba757, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe23190029a1d248cdafd11b5, limb1: 0xb76923b8cd8be393aea91f2e, limb2: 0x80dcff9b70ceb1db, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x28d31ecc6dbd314cdd638a45, limb1: 0x5b732bee4a271727548e8d5c, limb2: 0xc36451ba5cad1db, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -51814,47 +51814,47 @@ mod msm_tests { limb0: 0x6d1177bbc6babf096957611c, limb1: 0x180ebd854d68d4d97ebaaa9a, limb2: 0x2b85531f5a95572e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x74e21930bc65d7e4b7fc204d, limb1: 0xec704f4b3b67c695c82c91b5, limb2: 0x53c7af617763b66a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x38b8af89be28bebb4dc59366, limb1: 0x80a2d3f542b88d5ff484c4d6, limb2: 0xff27449603060c99, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x110868bb64334e14abc1081, limb1: 0x61ad9e1474083f1dc2452029, limb2: 0xe3d8e3d239ffe0d1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3560a5097b725bc81f278ad4, limb1: 0x756d7cefaf0c1c4f95287fba, limb2: 0xa8757e47a8d85cc6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x595c9bc43e363c4f7c0c829d, limb1: 0x9d146ffd4c351dd7792e0e12, limb2: 0xea974ecebf52fa4f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x69a4375939d7af1b133ab055, limb1: 0xf5482c9bec84f6b3c4a3d89d, limb2: 0x69e3fbbde6c5399e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -51862,52 +51862,52 @@ mod msm_tests { limb0: 0xdaa5bae96960a3db4b0e7910, limb1: 0xf47153ef8afafa7b7bb1de46, limb2: 0x7228a97cef3132, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb0b13120a3715863866f142c, limb1: 0xd969c9d381b48dabcdb9f284, limb2: 0xc7dc073c649c3810, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb73a7ee54be8a5b1d650b5d7, limb1: 0xb08dde69cc6e078676368ed6, limb2: 0x9a461c581f9b2932, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84bb760b8d980b6bf4436be5, limb1: 0xd9dbd580e2b08268ff05f278, limb2: 0xfa9ffcc28345aa77, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x351878bfc9938ce657114af5, limb1: 0xb3a2f80105f46b3980a23e50, limb2: 0x1fdc2542718900ac, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4c9f380a093648e6151466a5, limb1: 0x72536a2ddaba291f476e1ffa, limb2: 0x4e15ceefebe186e1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfae7e54a6d088534da824d13, limb1: 0x51781ccd992d623c6319fdf8, limb2: 0x1d935cf3901e7c18, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbdd427125ef8004669ea6083, limb1: 0xf05824fc447c6e5c90281575, limb2: 0x8446394acf143760, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -51915,67 +51915,67 @@ mod msm_tests { limb0: 0xfb7a46226f1b3942e163ab95, limb1: 0xa8672ea51dddd1f2771aaa38, limb2: 0x30a545db7a156242, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x322eb05526c8e74307e4e9bd, limb1: 0x77122b0e9fd66e187937fbf6, limb2: 0x4a75cbaa43b9fcec, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d0cccc4331d372520671eb0, limb1: 0x8473cbb4d30bdd9fafa161db, limb2: 0xfa12e01a152a5832, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7485258dc2913138747beb89, limb1: 0xc3ce101479a28ea9ce9e8bb9, limb2: 0x66738ddef0947ce7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea869c731c865a619210fb5d, limb1: 0x226eb9d904bc8cc2dc480fcc, limb2: 0xeefe2357154e3fd8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaa40f1e771a464eeb21d4068, limb1: 0xcc31e3e2582c5e4444c72756, limb2: 0x694a6c3d3e4ae4c6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe48e09fc4b28fea1d156ee47, limb1: 0x16a6d657ebaafe0822c00c76, limb2: 0xc914c6038964742a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3560a5097b725bc81f278adb, limb1: 0x756d7cefaf0c1c4f95287fba, limb2: 0xa8757e47a8d85cc6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x595c9bc43e363c4f7c0c829d, limb1: 0x9d146ffd4c351dd7792e0e12, limb2: 0xea974ecebf52fa4f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x69a4375939d7af1b133ab055, limb1: 0xf5482c9bec84f6b3c4a3d89d, limb2: 0x69e3fbbde6c5399e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -51983,7 +51983,7 @@ mod msm_tests { limb0: 0x3a23db1d8fa15337aaab674e, limb1: 0xe70a7f8d4ce38962bf4d2444, limb2: 0x53cfc6c39c5373ab, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -51993,99 +51993,99 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x5487ce1eaf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -52093,15 +52093,15 @@ mod msm_tests { limb0: 0xef54644fba948aaa560ffba1, limb1: 0x30abdc90bd3ee02c31e6c230, limb2: 0x954879a8c0138673, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe779809068a78ba4bcc861fa, limb1: 0x909d981137e99738c94862ae, limb2: 0x99b1b06fcb003b2a, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -52110,7 +52110,7 @@ mod msm_tests { fn test_msm_SECP256K1_7P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -52279,7 +52279,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -52449,7 +52449,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -52619,7 +52619,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -52790,7 +52790,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -52962,7 +52962,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -53130,10 +53130,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -53141,42 +53141,42 @@ mod msm_tests { limb0: 0x403a267151202511e278a44a, limb1: 0x4ea62b753aeec7813e02da6d, limb2: 0x76e7d5814073a1ec, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x665569bdd4b377fa356a3b02, limb1: 0x68052920e8f70e9ba761a0ce, limb2: 0x70a2a1a587a20901, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xab9cf3ec9a8c7a403770aabc, limb1: 0x29aa7330f86d5a077e9dccc0, limb2: 0x9c7600f886fe2dde, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x73f0ffc866395ec3a5b90213, limb1: 0x606683f66a685d727b91ee35, limb2: 0x8a35d18bb5f8625, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x47f8ea706f64ebd4764a493b, limb1: 0xe42075357be6c2ac52236e81, limb2: 0x5a9757e3bbfe6a46, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7be5bf4b29798cb77b123d33, limb1: 0xae58fc81bb5e4a01486d2343, limb2: 0xafbac4c8dfdc4b9, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -53184,52 +53184,52 @@ mod msm_tests { limb0: 0x159f06803bf42232fedfa05b, limb1: 0x3ae970f41397c6808cebcd08, limb2: 0x8b5d84dcfac21313, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8031efcea4f72e85a83e8649, limb1: 0xa3681f1d82874e359e41a437, limb2: 0x240ef15bd7880309, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x63feb900ef3c21013ef85cd2, limb1: 0xe62e2ffd66e9201127202f78, limb2: 0x38666a10d415de6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1ffea13c159218e630e71929, limb1: 0x23c88382bb3579dea46b8b00, limb2: 0x1a87dba0e2bf010, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa2665a7c6e05abcfe8afe2ce, limb1: 0xe962a8773bf3eb86928a26e1, limb2: 0x68b141872da0e95, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x49bc24c5d25382362d682cae, limb1: 0x77bf84dbe5dc4cb121a3bd15, limb2: 0x7b50d1874863daa5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xae83c18ad4fae8239fee1154, limb1: 0xf8e8ca46fcf63f940aa11074, limb2: 0xcdb758b4a895d956, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x66eaa453937b32bd028b2fc3, limb1: 0x385c98b03d78a6b55e4df239, limb2: 0x6ec83415971c279c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -53237,53 +53237,53 @@ mod msm_tests { limb0: 0x979ab4c69ce9c6e0cae56e68, limb1: 0xb9fdd179f414f89a9925ebe4, limb2: 0x22d92c33ab59e49b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc5cf4d0defffb3e37c5c8ac7, limb1: 0x2bbe194f752d5215d6a1abdd, limb2: 0xaa0249006f3b883c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9f99930526bef28d0dcad8f6, limb1: 0x94e53cc4ace7b114059ffaa2, limb2: 0x6c5c634f5219dbe9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x15d23b56e69632b5f94e0856, limb1: 0x73bc298e0b69b1c388d85bf6, limb2: 0xfa6284c981ef6edd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe41e3d08f3db653a74f9887e, limb1: 0x7ddc9da50fa4681508bc4f1a, limb2: 0x55943fe0cd5eb32f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc0eff29df56dbe40ea547d71, limb1: 0x22429b96b9ae10b162033057, limb2: 0x6a78b80b5ce60164, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x458b435cc2cb9146c71dbfd6, limb1: 0xde34b1728933036ad1515784, limb2: 0xdfeab89264af412f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7b233b21abbc0d5d49ad3f0, limb1: 0x89005e194ce5713215639c33, limb2: 0x6f9755a7b1d7e179, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -53291,58 +53291,58 @@ mod msm_tests { limb0: 0x34a80b9f960f67532a37ca8d, limb1: 0x756219beff789384f05650e5, limb2: 0x104826ac7b2b0dcb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa0a219ac8acdba2c505650bf, limb1: 0x8c30f386dc69445105d874, limb2: 0x197df484a190d9ca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ae59ee5cf706b45919882c, limb1: 0xaad12b894062a13ecc8c818e, limb2: 0x25de3586fba5c709, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2476979abc18862bcdf0483f, limb1: 0x88727a239db2a4558e740c69, limb2: 0x106139ea86eb12e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4839840a0b0c02787490e075, limb1: 0x1aeefa41a8d4f6080f390a85, limb2: 0x751a8c9da417afa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb93d80af3cfcec4bf9feaaf8, limb1: 0x1184c328c89d79a80e21af14, limb2: 0x8f42bf79b5b42b2e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3f5f3392940ef7ec885f9f79, limb1: 0xdca42b3e1412e9b41a05b54a, limb2: 0xc5ba5152c69d086c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd7724fe466040991bbc416d9, limb1: 0x8781f7148294a3e59f546219, limb2: 0xa9450d409719a1e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1c808733e36832f1352398c3, limb1: 0x310851a60b9c9c8011b650ff, limb2: 0x2be29ab1c3b70336, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -53350,73 +53350,73 @@ mod msm_tests { limb0: 0x253af16e4a6470258c4604d8, limb1: 0x15f0ba55ac92cc3a30097340, limb2: 0xf3f03569af754042, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x68ab1b618ffdeb3c6687dab5, limb1: 0x3232b12c343d3e98de6bb310, limb2: 0xa60fff030aa0b9a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5d3305240f38a1dd608bf65c, limb1: 0x1244a960ba55d78c275fda72, limb2: 0xf686b72b3eb50363, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x305a5426eb0529e09c07bfa8, limb1: 0xe422f45c43f8d4f357106f9f, limb2: 0xfb8acdb638e5eca9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a2f84c9aff787faf2f51ac, limb1: 0x9cc668d2e2ac2aa913c7d59a, limb2: 0x11008260cd26e88, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe6293556dcbf2656761a5280, limb1: 0x84b77de3c0aa25edb3b64d08, limb2: 0x55a96b9edc63e5a6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfca112e03a272bac6b1e61e7, limb1: 0x872d03afcbcec9af4211c093, limb2: 0x19cd90ca42ba372c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x19fda6e7aefdab1645355f81, limb1: 0x3cdf305629ea80739e759480, limb2: 0x62b79776aa45dd82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc0eff29df56dbe40ea547d78, limb1: 0x22429b96b9ae10b162033057, limb2: 0x6a78b80b5ce60164, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x458b435cc2cb9146c71dbfd6, limb1: 0xde34b1728933036ad1515784, limb2: 0xdfeab89264af412f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7b233b21abbc0d5d49ad3f0, limb1: 0x89005e194ce5713215639c33, limb2: 0x6f9755a7b1d7e179, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -53424,21 +53424,21 @@ mod msm_tests { limb0: 0x7ad6df1215c0bb0d63924aa, limb1: 0x8080377301d5d318cfd69ef3, limb2: 0x726d56de9553f14f, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xa6e34f8900fb9bec0ab54e2c, limb1: 0x95393a6d324a604e16b71053, limb2: 0x622eb6ee24b2031e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x93ed903285c24ba440e33081, limb1: 0x89864a85fc177faa21532c6, limb2: 0x540c2e4cf8d7b0f7, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -53448,116 +53448,116 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0xa3f2c9bf9c6316b950f244556f25e2a2, }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -53565,15 +53565,15 @@ mod msm_tests { limb0: 0x88dd4d38cdba847d7ba97f1f, limb1: 0xd0f7b1d3594f3058d1b741c0, limb2: 0xf2b61730ef89e767, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x64c3398fc1deb30288efdd6b, limb1: 0xe154df4b9d3bd08870f0cf1a, limb2: 0x17afe6616f61f475, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -53582,7 +53582,7 @@ mod msm_tests { fn test_msm_SECP256K1_8P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -53751,7 +53751,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -53921,7 +53921,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -54092,7 +54092,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -54264,7 +54264,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -54432,7 +54432,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -54600,7 +54600,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -54771,10 +54771,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -54782,42 +54782,42 @@ mod msm_tests { limb0: 0xd08760d421523bc93b29a910, limb1: 0xa9c99550c8c4ee22eb90d439, limb2: 0xc9aefd798cc252be, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2653f38b0316ea58bbd2d25a, limb1: 0xe4e43357e663a74e95a12d4d, limb2: 0xd8154cfb53b18ba, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x9da50b36063dee8a1ef86744, limb1: 0x230ca0ffac47d2a7030a49da, limb2: 0x5eca2e5027cf83a5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xada8e6cb4ad9e6ee975228e9, limb1: 0x775e318080d107bb57b33c42, limb2: 0xecaa1bc53dcd3733, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xbf82c84df80bb8c80c3500ed, limb1: 0x7dc3ca395f3d65ea1f4521d1, limb2: 0x80e321d802716671, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x97beed6765550df075583918, limb1: 0x4c5808873c47f3357765f393, limb2: 0x3c5b6736bd4b2394, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -54825,58 +54825,58 @@ mod msm_tests { limb0: 0x629865d567dd176b88dd0343, limb1: 0xeaaad8805e10a1a88a15842f, limb2: 0xcc367a320d2a18e9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1679ec14a51a5770920def2, limb1: 0xdb711962cdb2c174435c30b3, limb2: 0xd0ecb08f8f9d6cbb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd0527e04e93b95060972e65, limb1: 0x60bf33dc5a2c60d6a138a866, limb2: 0xd010b1f1911af9fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x81c4c8ad38b487333cad42, limb1: 0x4475ad9563e8a95cc1f5fa5, limb2: 0x940e0d1eb39f4b8a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x303002e987cd5632d9681678, limb1: 0xbf1813f222492dd57a8fa3a9, limb2: 0x7045dcda2d9bce55, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x848120d280cd552afdbb4031, limb1: 0x630824067df7b8d8957a6a2, limb2: 0x33a01dd6dafab549, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4a7ddea2bc0ffa9c88ec75ce, limb1: 0xe41ab8ea1dd1f4de2a07915d, limb2: 0x89a2ecfb1536a544, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ddef294f275b05797fa3bba, limb1: 0x138e3d9b654fe6bc33a2e3bf, limb2: 0x820ade0d15470cde, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x476870d6af4a5cab78380b75, limb1: 0x32e8602a9fc440b957f3b043, limb2: 0xcfb013042a63769a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -54884,59 +54884,59 @@ mod msm_tests { limb0: 0x2df0f8523eeb350b6342e1e7, limb1: 0xc7b11439314956199cac52c1, limb2: 0x30a180b79a716005, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd4ae8954aeca6741e9d4fec, limb1: 0x91c7d476e6691a2740f41657, limb2: 0x318f94bbf845e6da, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf2a9884aeff6b39157e738f4, limb1: 0x28ad5a9286c6a8643a1d4cdf, limb2: 0xb2c84b1ba1dad90a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc0d5716612a2f9b2ce91e3ff, limb1: 0xce3340ac01a8a2b3616e6a7b, limb2: 0xe744575a95206fdd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f6a363c128bc14d33b208ab, limb1: 0xfa3064242db20c623ef323f7, limb2: 0x824d5b8cbefefd9d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6ae6f8e17f9884752266a306, limb1: 0x2bb1f87d2ae7e85bf56012b7, limb2: 0x8f1b6c7ae68b7370, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeab1953825a51150d78a181e, limb1: 0xfa43a8e338c533a37c5065a8, limb2: 0x16c0c273e20b418d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x673ecc851328872a09f0677b, limb1: 0xd82ffa1a3c83f8dd3ae13c78, limb2: 0xaaf887e37aebabd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf66018a81854de5d1c3c3b1a, limb1: 0xd86bc2b28cda31492ae2bec4, limb2: 0xe589234850bda46f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -54944,64 +54944,64 @@ mod msm_tests { limb0: 0x4838c5da23700c172b97db34, limb1: 0xa98a7489badc17bcee56c76a, limb2: 0x6ef133d2f0e13299, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5b2163fb91d27c782065317f, limb1: 0x973edcdf6e9c4b91f15ad81a, limb2: 0x9ec9e13c1bfd3542, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95e5883f54ffd6b65552683d, limb1: 0x6ebdbdc72a6d443276e72041, limb2: 0x3b565a1ede60a087, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc8b819b05626e555d0446bd, limb1: 0xcef70621874521beee4e72cf, limb2: 0xa1d78385d3827ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x96e06dadf93f4433405d41ab, limb1: 0xa40dda547e58d2d2debbc25c, limb2: 0x7a14ad94cbe30d3f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x56f9cf748311fc9c7366fe08, limb1: 0xf1a33e9c2e09cd4dd2c8e5a, limb2: 0x8ae81523a8d0e453, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9125846f3db1eda2bf863eb2, limb1: 0x276bf2fbbd11568a734ad738, limb2: 0xd707bef90536b09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9bdb7d0706ee5c9de2644cd0, limb1: 0x48950fd2f21a47753d968fd6, limb2: 0xf00a2294397b3b4d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x880f1865a6540a0c4cb6f600, limb1: 0x23393ff26b715682bf05ef78, limb2: 0x1a5e6efc2e39d056, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e092513e6892a0d8852f876, limb1: 0x99a7c9ce3bc6b7baf595b345, limb2: 0xd33aae43b83563e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -55009,79 +55009,79 @@ mod msm_tests { limb0: 0x4196ca3fb86e7350b6d43122, limb1: 0x75d78d9059015ab348b64348, limb2: 0x546a85053919a028, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xed0c5c150c788d2dd64d3345, limb1: 0xfc76cf404cdfb712c6ac9c67, limb2: 0x5aed1123c9e94ff9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa2a2ba0c8fbee8fd67529df0, limb1: 0x1cbd7a01af6e9abd96cd1a1f, limb2: 0xe37a0dc16cfbef47, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x73c7121cc16008f5094034c6, limb1: 0x6b17d8ed3ce5c90146b13c23, limb2: 0x837fe431ae546f16, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x79326439ccbeef93887b980c, limb1: 0x691a9174264770d6f99a121c, limb2: 0xc1ad1595313ed62c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdefa56756d2252c948b5bd62, limb1: 0x5a8b25feb31e02e7efbdcfe3, limb2: 0x9c884277efab011b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2bb085ef1a2672e9b35890a2, limb1: 0xa60cdee28f0d0c2bc7a1321a, limb2: 0x8689a885c36f3abf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5221cddf98a773737944dd08, limb1: 0xe3803adbd54dda6edb1bcb42, limb2: 0xcd1a170044c618ce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2787a57a29ea9906e80c57a2, limb1: 0x16a44b5f04df415c21934a1a, limb2: 0xd5db63751bbaf27f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeab1953825a51150d78a1825, limb1: 0xfa43a8e338c533a37c5065a8, limb2: 0x16c0c273e20b418d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x673ecc851328872a09f0677b, limb1: 0xd82ffa1a3c83f8dd3ae13c78, limb2: 0xaaf887e37aebabd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf66018a81854de5d1c3c3b1a, limb1: 0xd86bc2b28cda31492ae2bec4, limb2: 0xe589234850bda46f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -55089,7 +55089,7 @@ mod msm_tests { limb0: 0xdaa07f84b1b2c6ac5ad0b39c, limb1: 0x1c4888d18b8e371adccb97f7, limb2: 0x1d172152c0617d67, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -55099,133 +55099,133 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1772eb803ddc8a82e23b1c05, limb1: 0xc26baeb89b03fd69eb64b337, limb2: 0x4ea7131b2d873a45, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc9d16330db15efd90235eed9, limb1: 0x1b586ef360673d36baa16189, limb2: 0xee652d2b848ad111, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006 + low: 0x8d723104f77383c13458a748e9bb17bc, high: 0x85776e9add84f39e71545a137a1d5006, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -55233,15 +55233,15 @@ mod msm_tests { limb0: 0x79ab4abb9eab8499e87b45ba, limb1: 0x4d3f0a3390651efa3669db3b, limb2: 0x3ec81a1709e22492, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd78a7e6724ba14875baa64a3, limb1: 0x240b69f30bb2570aef1cb438, limb2: 0x995a3e99461bc4bc, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -55250,7 +55250,7 @@ mod msm_tests { fn test_msm_SECP256K1_9P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -55419,7 +55419,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -55590,7 +55590,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -55762,7 +55762,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -55930,7 +55930,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -56098,7 +56098,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -56269,7 +56269,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -56439,7 +56439,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -56608,10 +56608,10 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -56619,42 +56619,42 @@ mod msm_tests { limb0: 0xca412f965372744a661e82f8, limb1: 0x1e6e4ae1559a0d7da3eb180a, limb2: 0x42bec0638541261b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4745a7bda698174b5620ec91, limb1: 0x4f08db9001f4266790cf805f, limb2: 0xbc3f949446c98b5b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xc9e3053aceed4189b3835d6a, limb1: 0xd6489c4757282e1404e21627, limb2: 0xeab9e46756e61e75, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x606122f214959a74ec7325fa, limb1: 0xf2049d738ff3cba256397d07, limb2: 0xc064d4dba5d1b03, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x8ae4cbbbf99301afbd7dc3bc, limb1: 0xcf94be1892a6e0c2f3319cc6, limb2: 0xc424ed3a44b19011, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x358d90d50894916552893237, limb1: 0x2aa07b39767e20f116447fa0, limb2: 0xd53e5214bff1d923, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -56662,64 +56662,64 @@ mod msm_tests { limb0: 0x90a8e482698fa1ddec97c3e6, limb1: 0xefc39592839d4a3f6694e050, limb2: 0xc183bea64b07d6b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4679758910920878023d157b, limb1: 0xa1dca580064b8aec06f118e5, limb2: 0xebeee316306e8ee6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8c6b0222cc67c41198d8d2c, limb1: 0x71ac20dded66eac9b66d68f7, limb2: 0xcd5c8df134d55b67, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xef579585b184984cb6f5f8d2, limb1: 0x6de7ae0958ad4ce7df8b0f0d, limb2: 0xdf560524d50451a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x30e208629f81f66d7da6f18, limb1: 0x89fcd1971fd9928ef93047a5, limb2: 0xda704d4110dfd732, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x86c2ff6eed1bea524eb3bd85, limb1: 0x80ed42d706924fe1bc6de01a, limb2: 0x979a05b8392fa863, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x448bc0748748b8bf9f36cd52, limb1: 0x897e3e3f6775d7fad849b4a5, limb2: 0x93632f9c1be11589, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x913df9c823f8ef14e0a81e65, limb1: 0x79cab54d096cf07df050d39f, limb2: 0xa59958db07edb332, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf40db4e01f83ccd9e39096e, limb1: 0x4d6e105a0eda75ac37fea61e, limb2: 0xae65983ef44d6bd8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x47135726aad6d13f74857e04, limb1: 0xe9eeef530673710c8a85a17f, limb2: 0x6431e014b44a7a8b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -56727,65 +56727,65 @@ mod msm_tests { limb0: 0x1f9b973dad7f9b6230e50d92, limb1: 0xfd67d3b403ddd087b274ca8b, limb2: 0x1acc0a28b131fb27, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe2a04999b591edfef024e78a, limb1: 0x606e4513923283bdc6ad3ce2, limb2: 0x2fdf90b7e5f2c8e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xef9d60399478ea09d06629c9, limb1: 0xa7d5ef86b46b8bd7f40e9f75, limb2: 0xdd9a197a443f05c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x77f87f026c61646c6aeb1070, limb1: 0xaa9a04f6dd26787cc9ec2cae, limb2: 0x97921f0e6bc96dfd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9303f83455e42da4f06b330e, limb1: 0x494ea008a84d1875f1c5209a, limb2: 0x1c35842aea2ec93c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x54f479761b4912ac50f2feec, limb1: 0x78580df8d33c47e5de08b8d8, limb2: 0x771250ee4462847, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb2974d5ffc17a9786b7ef99c, limb1: 0x62b0757f7346acf9a0da4b3e, limb2: 0x3a33be9e355e2d14, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x131b1332c47a2a4bca0a33cb, limb1: 0x32e6fd2bd85ffd6f148c07e5, limb2: 0xf224e2146d68b37c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xebce3b7808836a57db73f3db, limb1: 0x8ef11d7f5d199f4b8de9a1a6, limb2: 0xad373506a7f3083d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9c0c64def5c5e4b4701a354d, limb1: 0xab3bbca7480e6e10f97f402d, limb2: 0xc2fef3fae786c750, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -56793,70 +56793,70 @@ mod msm_tests { limb0: 0x6912b5d7fb3fd40e6f3675b2, limb1: 0xa35fb6e90ef348c2e5b8829a, limb2: 0xf8c1046e7a607e9d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x280f54b198a38a2daf797828, limb1: 0x5bbbbe14b32bb74f527dc0cd, limb2: 0xefa630fb439e74e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf7e1b4638cb5ac4397ed07f, limb1: 0xb5786ee25b8971c32b53ea26, limb2: 0x1bf105019c340752, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1be17be65b9e893150553d79, limb1: 0xaa2503ea6263115e8160fd3, limb2: 0x96c5faabffe07f1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8495815066d63c8affce6180, limb1: 0x986795b6465c1e62f27c7b69, limb2: 0x1a89a7f94ece2cb1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x196ba9618f0fdfbe8a9d6ad2, limb1: 0xabbff057a240c22bf18005f7, limb2: 0x2bd00caa44fc5c65, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x87d72e9dca5be81c22ca95cf, limb1: 0x9dc9f04f2de07f449d1cf8bb, limb2: 0x7f5d3aca2e17de9e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc9130257ee1d9f692b04e0ee, limb1: 0x74320025072eae9583e69526, limb2: 0x9120d6cb85659c1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaf237290879b03a003539d5, limb1: 0xa2e1a0dc817a33d22f119eed, limb2: 0xb90bbf2d9eaef6d7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x91471f686f39fb054acb3242, limb1: 0xe3aa4107accc4c51d50b3a31, limb2: 0x3b69f5b65ed49046, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc9e9039c1c1a399e6d0d23f1, limb1: 0x43d4c599768b4a7f686ca0dc, limb2: 0x71b58a3e4a1e7b16, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -56864,85 +56864,85 @@ mod msm_tests { limb0: 0xdd4122afbe7d3faf56435efe, limb1: 0xedd6c9ec1b10b3b5e13189cd, limb2: 0xbb94471cd85dde17, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x32620333f6fd81f991025897, limb1: 0xa303e388ff619a306ebcaa34, limb2: 0x4f1cf50749a37e30, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d4da1930f4e664ab2cb3b65, limb1: 0x96d98caeeef0d2e7ac665c39, limb2: 0xf36b257ddb9287c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6767104ea4295a5d1d528fe6, limb1: 0xa79df6740feb1bf137ea0350, limb2: 0x3fcae38da3b3fd17, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe7bc13080ecf2d8183134cec, limb1: 0x6194a5502c4e2ef76311211c, limb2: 0xf5562de44d3a4988, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x424cb27453786cc1070b260e, limb1: 0xf23e51547b118321064bad60, limb2: 0x11b21ce2822a1fbc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5a1b9ca2510706b95b63eb56, limb1: 0x5d6d3b73041533502fe43b65, limb2: 0x2efc5561e15ca98c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18c17e97b53b55bd76b2b481, limb1: 0xad9f8c3b92ed067f819957de, limb2: 0xbb37b2b9e80bb1a1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc79819be56e0fb17511eb92d, limb1: 0x60efdc745eefa2f6bf6c2468, limb2: 0xc3f3983d7beb61f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf6ee0f78b480ea6c7c3681cc, limb1: 0x11529e126babaf7073550c7d, limb2: 0x8f2c6a7a8a0da049, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x131b1332c47a2a4bca0a33d2, limb1: 0x32e6fd2bd85ffd6f148c07e5, limb2: 0xf224e2146d68b37c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xebce3b7808836a57db73f3db, limb1: 0x8ef11d7f5d199f4b8de9a1a6, limb2: 0xad373506a7f3083d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9c0c64def5c5e4b4701a354d, limb1: 0xab3bbca7480e6e10f97f402d, limb2: 0xc2fef3fae786c750, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -56950,15 +56950,15 @@ mod msm_tests { limb0: 0xa6c2dbf3afc38af157a21af4, limb1: 0x81b4e9317d0e2348756e15a, limb2: 0x4e37cd92be95aea2, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x50bc9b8d524ea0004ceaba03, limb1: 0x3810ed55d37cea0f64c0953c, limb2: 0x1be2cd6bf250f688, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -56968,150 +56968,150 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1772eb803ddc8a82e23b1c05, limb1: 0xc26baeb89b03fd69eb64b337, limb2: 0x4ea7131b2d873a45, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc9d16330db15efd90235eed9, limb1: 0x1b586ef360673d36baa16189, limb2: 0xee652d2b848ad111, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x68f9e7942638253f3b596f1f, limb1: 0xb37e6153d9accd97a344f384, limb2: 0xda48eae9ff614551, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc58be8ed857035b34f51c620, limb1: 0x3b14ed53116cb7c1db000006, limb2: 0x7dfa292fe99b77dd, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x17e0aa3c03983ca8ea7e9d498c778ea6, }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -57119,15 +57119,15 @@ mod msm_tests { limb0: 0x5efa5f5cd0df2099deb0d8d6, limb1: 0xf69b0e7c16f2a193c5f17a1e, limb2: 0x6268c16b65c23fe1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x549e00a55312747827db8b37, limb1: 0x2880708eba0d880a7c6f0820, limb2: 0x1d119c5c14a94e0f, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -57136,7 +57136,7 @@ mod msm_tests { fn test_msm_SECP256K1_10P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -57306,7 +57306,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -57478,7 +57478,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -57646,7 +57646,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -57814,7 +57814,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -57985,7 +57985,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -58155,7 +58155,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -58324,7 +58324,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -58493,7 +58493,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -58660,10 +58660,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -58671,42 +58671,42 @@ mod msm_tests { limb0: 0x4afd2ec2a6643712421d0683, limb1: 0x11cef224f19a309e96679abb, limb2: 0xcffd675843f0be43, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf5ae7a1fdb6de2954712a3fd, limb1: 0x71fe17f155aa123b146132b8, limb2: 0xb35f7d31dd603448, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x53307d00341d76bbf188df94, limb1: 0xd91bee3612e221fb6683efa1, limb2: 0xa0bbd123c52b1348, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x2cfa22fc764c5f4080fb4f30, limb1: 0x9cb2f17fc11214eb4fbaa9cc, limb2: 0xef04c79d8aebbaec, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x670172a1e64a26ed422d2b12, limb1: 0xd73418d6e8577e0dbcb65dea, limb2: 0xfbcb3aac9382ad3, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb12045b32e75ce2d977fca84, limb1: 0x98bf7be3e9b1c1c9364d70d6, limb2: 0x87549411a3123384, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -58714,70 +58714,70 @@ mod msm_tests { limb0: 0x3f1bf262f1ce488c6b7b83f1, limb1: 0xdf56a93968937e509685107d, limb2: 0xe6c9074b82d790d2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6745de629e075a9dbbb143c7, limb1: 0x1bd5223cd7ddff8f97707ec5, limb2: 0xf4080bea94632658, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d9d573ac3bc350cc0fba533, limb1: 0x5c08ad2c1875d72c75afd5bc, limb2: 0x55e7b6c12658a972, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x50a777b81c9acfed0deb2fb8, limb1: 0x7dc595e96f3c70c015771aa7, limb2: 0x8090ab3d5e863c74, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8be929bb240bb9ed719299fa, limb1: 0xd85dc3d499a088cb605b3d0a, limb2: 0x6f2371a84118a9bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa3cb747845d46071f75808bc, limb1: 0xd77e33379dd2df7b7e34339f, limb2: 0x95a3d9117e10c1f2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x40e63c7ef139c8fae441f7f5, limb1: 0x2bfd369fb464b333c07ec42d, limb2: 0x59febecdff390791, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x43f9167bf64f07c3edb4c0b2, limb1: 0xc25831fee1ab8f51ccdfb00e, limb2: 0xcd7bc65c89ba8c75, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x247b5c58340fd28a36c048d1, limb1: 0x6a2b823cb6bd058c30206bed, limb2: 0x1ba2c214491482f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x627aa297724f8501733f100a, limb1: 0x6ffe33f5cf40193a39260e79, limb2: 0xcc48fc7ee6e6f519, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x33deec6013376f6f6f816966, limb1: 0x9b32a62cc5156dc4ba3298cf, limb2: 0x6245391498e6e6db, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -58785,71 +58785,71 @@ mod msm_tests { limb0: 0xf64ffe172948329e2fcbc603, limb1: 0xdf8d87b2544b6a2850611151, limb2: 0x9e210b6545f4c3d1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc9fad7123b7ae4f05cf228d5, limb1: 0x604e4521dbaed4af0fa8a1c5, limb2: 0x668676e80e912153, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2a38b63293c292a550534ec, limb1: 0x9b8a3cdc59b3ca87397e5909, limb2: 0x333ea6225ba1f71b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf72296c8c78689d8c97ffc5e, limb1: 0xfdf4dfaf216e35dafb8bdbe3, limb2: 0x28ec546fdc1d5da1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbb968a55b7dc197bce6335f5, limb1: 0xf9cd6947f7ffdf493ec49f29, limb2: 0x861a8b32c623bcd4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaf4b95ae1714c6e4c09bbb68, limb1: 0xd3b9d743d285fbd3807f4f1c, limb2: 0x7ecc3066d3efb1a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d6b9c319d4168de03b743ce, limb1: 0x283fd75def839ca4307bcf7f, limb2: 0x318e2135071739ee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xda0f6ae3be484183e704928c, limb1: 0x86d730e781f413256c35efff, limb2: 0x1b4509904e96af9b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3143a9241e38b62956ebb29a, limb1: 0xc0480770d8e97de2bc76377d, limb2: 0x2defefe2f3397dc1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc359d0b08a20fd2ce8979f78, limb1: 0x731e866b7c42217f5209cf41, limb2: 0x59fe76d6ea2fe21c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbdee89e23d2b145ee8340c70, limb1: 0x4aea390f4f28f12be406cd17, limb2: 0xb49c9089b47d2e01, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -58857,76 +58857,76 @@ mod msm_tests { limb0: 0x3f5cf6f7b7ca75386e2797e4, limb1: 0xe8ece87f0d37f65b91f870f2, limb2: 0xa4f50c6382ad9682, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4295c3f21d65991d286b4bd1, limb1: 0x1c96777b918eb189e9205c19, limb2: 0x395b2bafc2948923, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x83499a1d14f3c23073522f5, limb1: 0xa22fb01cf34b0cee20a8cbd4, limb2: 0x22d0b405df12e488, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5917a4f0784060456ea3b0ce, limb1: 0x2312d057a791285ae79c22ca, limb2: 0xd19c511d69762f5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8dbac454fb152e5c809d163e, limb1: 0xe01590a5c01df50842cb7f1, limb2: 0x7a7a7b86711cbc21, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x48e829943911323e2d3cff60, limb1: 0xf0be3520ac7110ceeded6464, limb2: 0xc89502c5cf180910, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xef8b4de36559336799d2974d, limb1: 0x84fc814b5e9592ed2799bc89, limb2: 0xad85084575a3521b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x365fbe490b5fba569fd512a3, limb1: 0xd3ba4fafe794228fd6ac8cf7, limb2: 0xf5dd29a6f122891f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8c8fce6ec0c08a83f11e1e54, limb1: 0xe2231561434a12b19400aef6, limb2: 0xb9401ac6cb0b0d8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x643d21afcabdcd113ac22ab7, limb1: 0x5731be1e8cf43ae4b045362a, limb2: 0xb92e9eb89a3617e8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc8abfeb28cf147831ffe94a6, limb1: 0x67d152c1448befba6838de7e, limb2: 0xf51b75bc08cbb50, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe6abd077702fff54ff3504f5, limb1: 0xfaf28084044493a2b55cee9, limb2: 0xb18c2c80a403fbc6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -58934,91 +58934,91 @@ mod msm_tests { limb0: 0xbc2ff2a220f962574e927959, limb1: 0x1cdeb5e04e0fe71a32a7793d, limb2: 0x52e74fc4e9b15abd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x85dbe17fa05c42948a9f2575, limb1: 0xa223e3ed01c7d0c96d9c6c68, limb2: 0xcdad405865f7e947, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1278cfb620a5202953247645, limb1: 0x40c7aa0673ea89b292746f3f, limb2: 0x66b68af0816dc1c1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8421d949df5f78cb24bb066, limb1: 0xd13fa57c3e4ee3253134148d, limb2: 0xbc975a744ac2533f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeb189f6a427f975701a8b1cc, limb1: 0x34ec2619a3adefafc708fbe9, limb2: 0x1140454b798b4b26, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcdb4a325cacd996e99476037, limb1: 0x659f1fb71b5dad4fbcf982d1, limb2: 0xaad3f8f2272fd2b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3513dc24145067ebe382dad1, limb1: 0x17b3c340ae077e584eee885e, limb2: 0x83cf3ce30dbff325, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb202768febd5e4181f833b9a, limb1: 0xa9afbf9c85ac654f343e2f28, limb2: 0x44fdce24ec428a15, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x82535aaeaa1c207210da16f, limb1: 0x15b20b59c0e86d06a7bad389, limb2: 0xc05bbf9b7a8221f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84e051056428551a5fdca7b8, limb1: 0x4e15844e5552871f6ec07a4b, limb2: 0xa78361156e6668b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb9530136a75d0214070fcb1, limb1: 0x933ec052ac12ab58a8658ba6, limb2: 0xb8cfd543e02f1a4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3143a9241e38b62956ebb2a1, limb1: 0xc0480770d8e97de2bc76377d, limb2: 0x2defefe2f3397dc1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc359d0b08a20fd2ce8979f78, limb1: 0x731e866b7c42217f5209cf41, limb2: 0x59fe76d6ea2fe21c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbdee89e23d2b145ee8340c70, limb1: 0x4aea390f4f28f12be406cd17, limb2: 0xb49c9089b47d2e01, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -59026,7 +59026,7 @@ mod msm_tests { limb0: 0x44da36e3bd84a51984e90ce3, limb1: 0xd44147e23c7cb8155c9deb4d, limb2: 0x65b13a4678620b98, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -59036,167 +59036,167 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1772eb803ddc8a82e23b1c05, limb1: 0xc26baeb89b03fd69eb64b337, limb2: 0x4ea7131b2d873a45, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc9d16330db15efd90235eed9, limb1: 0x1b586ef360673d36baa16189, limb2: 0xee652d2b848ad111, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x68f9e7942638253f3b596f1f, limb1: 0xb37e6153d9accd97a344f384, limb2: 0xda48eae9ff614551, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc58be8ed857035b34f51c620, limb1: 0x3b14ed53116cb7c1db000006, limb2: 0x7dfa292fe99b77dd, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf7f7bd2513c1b31de932bbd2, limb1: 0x627e2fa74b7ac891f7d555c7, limb2: 0x7f8a094f818e7192, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9b47b9326b668e62071faf18, limb1: 0xe21058cb6937afa89be6931a, limb2: 0x21a4bfb4cce2ac8c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c + low: 0xb5d32b1666194cb1d71037d1b83e90ec, high: 0xa0116be5ab0c1681c8f8e3d0d3290a4c, }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -59204,15 +59204,15 @@ mod msm_tests { limb0: 0x2950159ef4b04fdc0dc934a9, limb1: 0x9e463011388a15f56d6f38f4, limb2: 0xef8d0de25e526f1c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x93ff053c58374ab5fd2530ab, limb1: 0xb09af339bdbe0090a3d72802, limb2: 0xd7d9e3078702fe93, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -59221,7 +59221,7 @@ mod msm_tests { fn test_msm_SECP256K1_11P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -59392,7 +59392,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -59560,7 +59560,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -59728,7 +59728,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -59899,7 +59899,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -60069,7 +60069,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -60238,7 +60238,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -60407,7 +60407,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -60574,7 +60574,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -60745,7 +60745,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -60913,10 +60913,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -60924,42 +60924,42 @@ mod msm_tests { limb0: 0x74408414d91a69f35f61bc6b, limb1: 0xb4948f35f0aba81a568e7a8b, limb2: 0x9d9c716f70218bbc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x18f14196f216ed9367a2698a, limb1: 0xe422cce7320bc65f4959ae9f, limb2: 0xc1e171c2a4df7f1e, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x7028fdc386b9c76dc3c4a0c8, limb1: 0x63bfc9828a51db91045c2a84, limb2: 0x52713bd3cf273e01, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x573f68d756aa76e18879cd7f, limb1: 0xdc646d36c276f220bd9bf719, limb2: 0xe7ffb91a35ad131c, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x346aac78eda91ff42e459dd4, limb1: 0x1f7e2485a95b04359515aa5a, limb2: 0x720a7b0cb20237a7, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9f608d816585bb091fe579d, limb1: 0x295f0370475510aaad79a2f, limb2: 0x10674a790fac2d80, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -60967,76 +60967,76 @@ mod msm_tests { limb0: 0x59cf96d109450f9f6bf64b60, limb1: 0xe17e9763ffb0b0a7d8a34705, limb2: 0xf811c8020ee9354c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c6ddf4bfee1d3419a702192, limb1: 0xe3631280d0e952f60b0960, limb2: 0xfb103c34bb967495, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x54455d4c5236c1a01a8fd2ec, limb1: 0x9d6c9cd854f6e7046ee699ba, limb2: 0x5cf974632d9c365b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2871948055bdc19572e22d25, limb1: 0x39cf537b7df5f9a3361d015c, limb2: 0xd121add03ee0f44c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcc89c7d8dc40b4741d7f3ccb, limb1: 0xb234053d442371a8ea49305a, limb2: 0xe5784e6863c79766, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3511b2cd3d4b6cd0a467e09, limb1: 0x5cfe950eaa9650fe941e8502, limb2: 0x1be1d7559281b14b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8f1d6db1dc633e5065071349, limb1: 0xbf2d2356f7b49ac54d5f23a, limb2: 0x4ad9aa4654f8269, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfb91710ada5a1221b80720, limb1: 0x56c9a1a6bfd0cf75d7bf22cb, limb2: 0xbca01cc9883c9fc8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3c8102a642bf169f9b8e109b, limb1: 0xe2702813457351c891f9497e, limb2: 0xad282059d7e00bb9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe85bca8f0d9ed42c4fa3259c, limb1: 0x3cb93906b77052d09482d8d, limb2: 0x93acbb8c2a33d2c3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x10b9a1acd39a7d843c66c9ce, limb1: 0xb3dc13616ff36a2b20b9f3bf, limb2: 0x2eb403689248d7b0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x62c4d76dd3906cfaa7a5f51, limb1: 0x64121c21527c917705cb49b8, limb2: 0x683d0b58b8ddcb5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -61044,77 +61044,77 @@ mod msm_tests { limb0: 0x9786ae87968fec1ecf6d7306, limb1: 0x9f7094a663f8ec412a9837bb, limb2: 0x8eb277b470c70452, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x651cb5773f6260850355dde7, limb1: 0x75c8db72cb0920037072334c, limb2: 0x30ab1b852b536639, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe41a87d844bbec4092c0e97d, limb1: 0xfb87b5eef068989894626f1b, limb2: 0xa466cfb75eee78a6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x49e15764a064cf615e458153, limb1: 0xc5bab3ef9e4c62af92a34243, limb2: 0x52f705b6b0b2e940, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdb9975c7900350d62d79833d, limb1: 0x1a05ff22452f3f60131257b4, limb2: 0x88b38d63ed980800, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d5dd792fc765ba409d7f15e, limb1: 0xc10e115f5dccf21e5d9f8622, limb2: 0x9d6442211cc085ac, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x32b0e6e6752f5dd6e11b8c09, limb1: 0x2616abbcb122eabdd29e6dbd, limb2: 0xe3a19608be4afed8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2edd747273fe614a64f0c150, limb1: 0xd00e6ed878e753d3f58c15ee, limb2: 0x129b7a35da7e62a3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc39dc077f41a655200a39e90, limb1: 0xaff7a4a33471bb7b37cc02c0, limb2: 0x4aa53dd4d8b74288, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cb2a0bdf333fad4ab749cc5, limb1: 0x81439512af167dacc6ce65f4, limb2: 0x38221d558c7e1a59, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9fec8485f09389afffce169d, limb1: 0xcf3546b3f198c78aa4b506f9, limb2: 0xf401fe854780f05, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfafea51ddaf6e6b9f7d1a426, limb1: 0x273eac3ab92dcb592f615623, limb2: 0xabe5fd423d09448e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -61122,82 +61122,82 @@ mod msm_tests { limb0: 0x9d9f24b0a4f14d45847c317a, limb1: 0x9de605232a6b3672a9642c39, limb2: 0xefdff29c976ae041, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb3e90055c16a34a07e0388be, limb1: 0x576c01052293a220513bbd32, limb2: 0xa72eb49613bc0ef4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1282a127d856ee505ed9bbc0, limb1: 0xd056593149b3ef729af6ac02, limb2: 0x82a0a2bf431bfd05, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x33590516accd0777bc8aa4a7, limb1: 0x2dbf0eb2f3d7fe3978455096, limb2: 0x143cfb63582c14a2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6a447db658704f9528255e07, limb1: 0xc9d336c3f802ab3e115c0803, limb2: 0xfde4b58826cb223c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcf83b92fa680c35db5837531, limb1: 0x6e440d3c2942cade0eb99004, limb2: 0x3f32960adff56bca, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8282f7d8bab3ec2af461433f, limb1: 0xa061b169e2497b5f22a96a78, limb2: 0x65a8b438429f4be0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5e6524b3726b09d02788e105, limb1: 0xd901df85467c80290aa55de6, limb2: 0x9d9306afdb1fc541, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94ae0d3f7f7ecb9ab95c2c1f, limb1: 0xc427bbea84c50a9f6ca39446, limb2: 0x1f12def472e3bbbc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3fc3d9c851f3ca1713d59d22, limb1: 0x20b54bcf862d0dd868a61282, limb2: 0x50f32383ccb28012, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39a23c24d7961d46ec9bfcfd, limb1: 0xd821e97648649be76b0b793d, limb2: 0x8a2a4901505e01b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2080fdb1b23c12261e11d802, limb1: 0x2d30af7e6e51cf61a772c1ba, limb2: 0x85fc03e91ff8ad66, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x60efead885cc6b65f0c76e63, limb1: 0x19680d56c5ea36a23b07030a, limb2: 0xad0bcd690693a4fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -61205,97 +61205,97 @@ mod msm_tests { limb0: 0x24aec5b51def74daabfe309d, limb1: 0x5c14108cbbce75c82a298621, limb2: 0xe6e145ef15711e42, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc3c8f642bbb0a3a417591522, limb1: 0x387e00238d3fe018131f6716, limb2: 0x54adc0a42f47cb92, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3cb9b6e9e12375c8034671af, limb1: 0xe0b5f98892dc2c2c0eb109c3, limb2: 0x7ecfae0398854c90, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9cb01247f95197ca635403ed, limb1: 0x78b8033b80f9f0e2d0f0792, limb2: 0xd3739fb345ab6518, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x664eedec2f79966341a88005, limb1: 0x2bf2d562af53dba3f5f2993e, limb2: 0xed93f940aa7b9e3a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1ab6cdd2bf86dc0d7a89253, limb1: 0x42ea2f8a8103376d23bf1a0c, limb2: 0xf2249e9f28322060, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xacb7a7b1d4b0604786066c78, limb1: 0xd05966187640cde054f8426f, limb2: 0x8c621ff3e4bfe129, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x23a7a4e8bbf7f9dff00ed03e, limb1: 0xca6b070d93828a2bc9e6f138, limb2: 0xaf3e4dce70cba7a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa6ae1adaa92f20e40e514ef0, limb1: 0x90d391d5cce9127ce4339967, limb2: 0xa7e8f2f309c35769, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb934c181b9b39a9914bdd0e, limb1: 0xaeefbf3f7ac05a774243376d, limb2: 0x6c90635f95bdb74a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8e55141c0807251a63935f9b, limb1: 0x7a835dc41414c89e767f46c1, limb2: 0x7d5c599029c6cbcc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa0944448f0dab46bc75f2ade, limb1: 0xc2ae5a3e44b24aeb83755dbc, limb2: 0xfdef2aa483f8226b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cb2a0bdf333fad4ab749ccc, limb1: 0x81439512af167dacc6ce65f4, limb2: 0x38221d558c7e1a59, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9fec8485f09389afffce169d, limb1: 0xcf3546b3f198c78aa4b506f9, limb2: 0xf401fe854780f05, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfafea51ddaf6e6b9f7d1a426, limb1: 0x273eac3ab92dcb592f615623, limb2: 0xabe5fd423d09448e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -61303,7 +61303,7 @@ mod msm_tests { limb0: 0x6cc8902279ec1dccf25660af, limb1: 0x60ce213d05e2e7e6160de0d8, limb2: 0x7ac2776fc8934f7, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -61313,184 +61313,184 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1772eb803ddc8a82e23b1c05, limb1: 0xc26baeb89b03fd69eb64b337, limb2: 0x4ea7131b2d873a45, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc9d16330db15efd90235eed9, limb1: 0x1b586ef360673d36baa16189, limb2: 0xee652d2b848ad111, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x68f9e7942638253f3b596f1f, limb1: 0xb37e6153d9accd97a344f384, limb2: 0xda48eae9ff614551, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc58be8ed857035b34f51c620, limb1: 0x3b14ed53116cb7c1db000006, limb2: 0x7dfa292fe99b77dd, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf7f7bd2513c1b31de932bbd2, limb1: 0x627e2fa74b7ac891f7d555c7, limb2: 0x7f8a094f818e7192, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9b47b9326b668e62071faf18, limb1: 0xe21058cb6937afa89be6931a, limb2: 0x21a4bfb4cce2ac8c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xaf4ad4d7d582b10b14c97e6c, limb1: 0xadf808c85e766e997e470fd0, limb2: 0x2714571e587ce46d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x86a7815dad7e8a53b19fee2, limb1: 0x1922fc1efcc51e68146ffa1b, limb2: 0x9e19b7c1f886488e, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a + low: 0xd3fbf47a7e5b1e7f9ca5499d004ae545, high: 0xbaf3897a3e70f16a55485822de1b372a, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -61498,15 +61498,15 @@ mod msm_tests { limb0: 0xfd3ebb89d10fe461e552fc52, limb1: 0xec1cd433c40d59e89a0a67c6, limb2: 0x718e281769552f5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5765daf8dcb6b393eba165cd, limb1: 0x106a5fd0eb158dcde70d802e, limb2: 0xe30701a5d0fa2198, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -61515,7 +61515,7 @@ mod msm_tests { fn test_msm_SECP256K1_12P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -61682,7 +61682,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -61850,7 +61850,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -62021,7 +62021,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -62191,7 +62191,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -62360,7 +62360,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -62529,7 +62529,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -62696,7 +62696,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -62867,7 +62867,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -63035,7 +63035,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -63207,7 +63207,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -63376,10 +63376,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -63387,42 +63387,42 @@ mod msm_tests { limb0: 0x1d36d633760b3c55c81a8d8c, limb1: 0xd079c33f8b0673c89e3a9bd0, limb2: 0x70ff81f33501ba92, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xcff3e05d854ed659f6cd040c, limb1: 0x33f2728d006bc9e70866e303, limb2: 0x2f4943938395998b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x1db4213156986f28879aba6b, limb1: 0x5a33215ee31af0cdd996b80a, limb2: 0x62cfcf2de05e2009, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa9552c8f1c96a1c163a43cae, limb1: 0x6230406918f0da360db56e32, limb2: 0x35ace69b06cd8541, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x5942b3e3f39ff916f02cf401, limb1: 0xa8740c9f663c8f149c7f7be4, limb2: 0x6f066ce3dd1f0f5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4aa3daffc076e92ff6b946d1, limb1: 0x3818f620414525abc495e44b, limb2: 0xae70f24112363941, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -63430,82 +63430,82 @@ mod msm_tests { limb0: 0x4b261f125f932b2df22a9f52, limb1: 0x561f742375e347c8fc3d21a2, limb2: 0x4b163bd0d2bed359, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcffc531f2c930d4b1ce2e421, limb1: 0x942db8b5929e88749c170c00, limb2: 0x4f132af4fc1366ed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x41349ca1d6c96ca0bc46e7d7, limb1: 0x5a16a159fc62985bdc7966f, limb2: 0xd6f92168a0acd2a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcbf815d3501b99626c79b193, limb1: 0xedaa2841baff32ba1d0f3828, limb2: 0x63ff6a873797193d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe4a29637202964e1e224f23c, limb1: 0x97bdb40a78f4bdac4216e4a5, limb2: 0x39108033dfef5e9b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ca10a4175716d893a21be97, limb1: 0xfdbbe1a376b455a13408e4de, limb2: 0x3a8b16e053ddb367, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf36b6c99d2f4b3707547036c, limb1: 0xd20ff9749e0eadc70178b920, limb2: 0x8a35cce356fbd58e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9d6acd5fa00cd2a83a84bbd2, limb1: 0xe041b214f7e300850e6e33e6, limb2: 0x5fda551bea2bf93d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf2424e2ef2aeb4f97929bfa3, limb1: 0xa7de1c574c6d38e2add73486, limb2: 0xe189c927e5fc4694, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf631583f3d2ce3042cc1e7d9, limb1: 0x1ab1db16591bfedff7135f14, limb2: 0x6f39a8db1fff6807, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6220a748217837c9dc87d4ab, limb1: 0xd912dc06f4ba96da3491fb62, limb2: 0xcb83a489b8d61820, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x25a6b151a3a8a2de89881ba9, limb1: 0x5a7b76d17a62476e51bfa178, limb2: 0x1ce40107e2f2770e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfaf168c765a509a9e17061bc, limb1: 0x50106331e4ef06bdf33cd366, limb2: 0xd6be8b578252bfe9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -63513,83 +63513,83 @@ mod msm_tests { limb0: 0xbd72378ba182a4282d70ae7f, limb1: 0x235ac337803f7d004e1142d8, limb2: 0x5104f6032d403f94, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x26cc6c990857c99bfacda25a, limb1: 0xcabaec2171b94ba5d4f1babb, limb2: 0x95e5b2ef262c001f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd0d4e38ebb69e4532d9efeba, limb1: 0x44c3e38e9e7967b8008caa17, limb2: 0x58b61a760babc9d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9d9e89cbdfa6f4bea402c974, limb1: 0x9dbe82a503384a9e6db9d8dd, limb2: 0x54172c64568da814, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9849891f7d4b9fea5cc36950, limb1: 0x191f92f08bfc15df518c83fd, limb2: 0x3ba0e596d1437f6c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x27cd80d1c358af6ca751d260, limb1: 0x7a42ade21a471e526004b19, limb2: 0xd2b9562ed16f48f8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xda313f4670a7fa4152a62c91, limb1: 0xf7131497b0fd4d3d58a50f88, limb2: 0xde7ec8705a2e8720, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x33c717b5e23eda3363b2e464, limb1: 0xfd2f9211711dc9be10d3e971, limb2: 0x7008ca982a9b79a0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb23731a7eaf5636bd9942130, limb1: 0xd48183290fa77582be98339d, limb2: 0xe02b363ca58821d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95b132a6f14cb12ba5c2b8f7, limb1: 0x7b6070deebe486d8d8ee4d31, limb2: 0x75051a53ef78b836, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x55dd6a28bb25257316c4af63, limb1: 0x3728e42109f277cb35fc2a1e, limb2: 0x18a104dc8e2b9b56, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39b351e37b8e9d31b8b8cb39, limb1: 0x8b69164c6a40aff97159ee44, limb2: 0x7d2f6656b0369ca7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x67e8b3625f17794ee71189ae, limb1: 0x96f1d8c12def6c88bb93cc91, limb2: 0xfe079f9eb1c4501e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -63597,88 +63597,88 @@ mod msm_tests { limb0: 0x38cda0a8f13de55d488e4d6b, limb1: 0x446eb3df79a734adf4def1a5, limb2: 0x19b9e5c133ae29d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x35171069eae34a9c782da66c, limb1: 0xd1844eb8a16fd39e6bc1425b, limb2: 0xb79876e46d9b13f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb328f6db826e8cc995cd07cb, limb1: 0x26f27a96f38f690c329fa1b0, limb2: 0xff42c7ac457dcc99, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf2c475e4e2e288f0216bcfc, limb1: 0xb3fef48999d1e5c48555c364, limb2: 0x29a8ec8790ba5081, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x778094cf0fdc66024dd1d82, limb1: 0xf7c4bcacc7a7351bcfa4272e, limb2: 0x6e23e468cd3313fd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa83dc7cec0b839144a326c14, limb1: 0x27151329c8a3abae16b9276c, limb2: 0x6b59fce2d5efd4fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xad6163d83fc04ed8eccb265a, limb1: 0xd0e169707bb6d9cfb2b76bcd, limb2: 0x904851a79aed1964, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf754afb043cfbf180398edb3, limb1: 0xa88d5f4765abaa9eb94b48a4, limb2: 0x4e0c39de2fa7d63a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8a5007b9bee9d33e90747c99, limb1: 0xb85d397d5b249108dfdb7a29, limb2: 0x4b983f4446235b76, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x483983813861fb8afede3b50, limb1: 0xc9a7eb123521d2a87ff332b8, limb2: 0x807f9e3d1aaefdf6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc41fc815a7c8f45f65808f30, limb1: 0x311ec6ae75d79a76c26d7c6f, limb2: 0xfcd9374ba0f8453a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa04fbd4a8d5d0d61f20e9f6c, limb1: 0x2dee29f2e218c15ab53bd4fd, limb2: 0xb781415b14d572ea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6e292a1187c5c1a971b10e54, limb1: 0x8cd396a0c3fcf65d308acc82, limb2: 0x617898635da6d644, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf8cf29c80f4ebf4478cd8be0, limb1: 0x3971ec3ccf65681ca7dc2e15, limb2: 0xfcfe13c91cd6688b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -63686,103 +63686,103 @@ mod msm_tests { limb0: 0x2e1f84d16a927d1b3e14cd1b, limb1: 0xf77b568481bc6b022278d3ed, limb2: 0x3722ba163cc1bd0c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf96f82f3a668347db9f7fba, limb1: 0x8b1c74ea1c111188d29c1b1e, limb2: 0x1947e48a0b3400de, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb5d238e71fe53e483f58feb8, limb1: 0xe15b38e65551d60803d8a6a6, limb2: 0x6cfab93a51b284db, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcc7fc1ebf135560a984384d, limb1: 0x739055ba96c987554e2630e8, limb2: 0x9da72cc18b1fd824, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x50cf2c757569290684258b2c, limb1: 0x7a97f0b5459de4c10fc956aa, limb2: 0x374bfa0edf047c14, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe773694b12d6b051c0dbd640, limb1: 0x7a410fa189f884fc0a8eb7c7, limb2: 0x1bc775bdc5b6c89e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94f744b8f43ecc8de68e1851, limb1: 0x5f4412cada25674bda3d459b, limb2: 0x698ea776cdd359fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2bb2f18ad03975516a7b37f, limb1: 0x56c916aa3cc9a11c757e616, limb2: 0x4bde6fbffb83d2d3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x74fdc69300e67659a5ed196, limb1: 0xd72ec0fd8f38a8785c29b469, limb2: 0xf3e7d1d7582835d7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf209a1d709c0d276daf94a96, limb1: 0x56b62ab0243cfd2b47292be3, limb2: 0x11a280bbe67b909e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cd4fed30042e05a0313b3ea, limb1: 0x7f4dcef8b6bf104c8ab91045, limb2: 0x1c6feca00dccb8fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x461e6ee04bdbafcbe6a1bf03, limb1: 0xa4611f3ff76c4554d80db77b, limb2: 0x4c77029b77066a6b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6d0e1a578af1025af73d9770, limb1: 0x9bfd5e272d707e95f9f8e52b, limb2: 0x673a77aacbd6e90c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x55dd6a28bb25257316c4af6a, limb1: 0x3728e42109f277cb35fc2a1e, limb2: 0x18a104dc8e2b9b56, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x39b351e37b8e9d31b8b8cb39, limb1: 0x8b69164c6a40aff97159ee44, limb2: 0x7d2f6656b0369ca7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x67e8b3625f17794ee71189ae, limb1: 0x96f1d8c12def6c88bb93cc91, limb2: 0xfe079f9eb1c4501e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -63790,7 +63790,7 @@ mod msm_tests { limb0: 0xed6d926b80859b9361bdc00f, limb1: 0x46199293ad99cbc962bf5e92, limb2: 0x3791d3704355e2b5, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -63800,201 +63800,201 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x2965eeb3ec1fe786a6abe874, limb1: 0x33e2545f82bb6add02788b8e, limb2: 0xf586bc0db335d7b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x155b35991489db2fdf4de620, limb1: 0xf24ce461346a182d67eeccf0, limb2: 0xb4122bb4b37cc7d5, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x12815740835b12f70b96c66f, limb1: 0xbfa76a8b80aec9f2e31c40cc, limb2: 0xcd8a26d17d33c7c1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9a8f496f09402b8fd6beb89b, limb1: 0x28e48918dad2123d7f202bef, limb2: 0xcdd11b6ffb3f8614, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb5076be8537cff2a42c6db68, limb1: 0x1066d40cbd01a3752e4e069c, limb2: 0x123ec2fd302cb0f9, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc85f5e5efdf415f8081bf53f, limb1: 0xadc5010e9d9ac6c64000d33d, limb2: 0xf81314011d8852e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd5915098d3d2001310b0b935, limb1: 0x88bb4507ebf1be82cfba2397, limb2: 0x8a463f1c00ce885f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x414858f8a83f9d4498890137, limb1: 0xa09c4658c47ace74c42cdb60, limb2: 0x8aaf300ff3ab7d98, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x1772eb803ddc8a82e23b1c05, limb1: 0xc26baeb89b03fd69eb64b337, limb2: 0x4ea7131b2d873a45, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc9d16330db15efd90235eed9, limb1: 0x1b586ef360673d36baa16189, limb2: 0xee652d2b848ad111, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x68f9e7942638253f3b596f1f, limb1: 0xb37e6153d9accd97a344f384, limb2: 0xda48eae9ff614551, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc58be8ed857035b34f51c620, limb1: 0x3b14ed53116cb7c1db000006, limb2: 0x7dfa292fe99b77dd, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf7f7bd2513c1b31de932bbd2, limb1: 0x627e2fa74b7ac891f7d555c7, limb2: 0x7f8a094f818e7192, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9b47b9326b668e62071faf18, limb1: 0xe21058cb6937afa89be6931a, limb2: 0x21a4bfb4cce2ac8c, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xaf4ad4d7d582b10b14c97e6c, limb1: 0xadf808c85e766e997e470fd0, limb2: 0x2714571e587ce46d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x86a7815dad7e8a53b19fee2, limb1: 0x1922fc1efcc51e68146ffa1b, limb2: 0x9e19b7c1f886488e, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x17bc74c409191a2b2249d987, limb1: 0xf4fe5f79db38f3064f7d093e, limb2: 0x3536ce04295e2a42, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb1d36a10f008c1c24de1ad7d, limb1: 0xa4f2190c71ee5e0ff07c48f8, limb2: 0x21c1a2d4cfff3233, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x38c1962e9148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x1759edc372ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0x7d41e602eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0x552f233a8c25166a1ff39849b4e1357d, }, u256 { - low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72 + low: 0x3405095c8a5006c1ec188efbd080e66e, high: 0x8c1745a79a6a5f92cca74147f6be1f72, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0x5129fb7c6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x870e15c2fcd81b5d24bace4307bf326, }, u256 { - low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c + low: 0x42930b33a81ad477fb3675b89cdeb3e6, high: 0xadc0da7a16febaa011af923d79fdef7c, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x148b2758d7ab792809e469e6ec62b2c8, }, u256 { - low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0xd67e55fd642bfa42aef9c00b8a64c1b9 + low: 0xd450fe4aec4f217bb306d1a8e5eeac76, high: 0xd67e55fd642bfa42aef9c00b8a64c1b9, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x37176e84d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x37176e84d977e9933c49d76fcfc6e625, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -64002,15 +64002,15 @@ mod msm_tests { limb0: 0x25e0ae5146eead827adbb1d, limb1: 0x609aab8b2f94654f9d6cac6, limb2: 0x853097dfea39f246, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x25fd09e456853bffe637add8, limb1: 0x44330f663f6d9da943dbb0df, limb2: 0x31632aa05863e742, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -64018,27 +64018,27 @@ mod msm_tests { #[test] fn test_msm_ED25519_1P() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -64046,7 +64046,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -64054,7 +64054,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -64065,9 +64065,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -64075,35 +64075,35 @@ mod msm_tests { limb0: 0x1e98736cf961394cfa6dfe5e, limb1: 0xd7fb6593bc4d484738ba5ff9, limb2: 0x3133b3e2100f63a6, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x785094dfbbba459c666beaef, limb1: 0x55c307610d1a86f697251ba6, limb2: 0x3a9bf57c2d1f3f50, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -64112,7 +64112,7 @@ mod msm_tests { fn test_msm_ED25519_2P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -64279,23 +64279,23 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -64303,7 +64303,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -64312,7 +64312,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -64321,7 +64321,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -64333,9 +64333,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -64343,21 +64343,21 @@ mod msm_tests { limb0: 0x732ddc8e2cc76b36024c51f4, limb1: 0xc4691da0ba50feaacb01549d, limb2: 0x3b4ce309a9762fe, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xeb61555ff2e8eab1c46d48bd, limb1: 0x470b0eae7200060f8562df1c, limb2: 0x1e45be405dcbf244, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf4bfa5b3cc5f0d550830ebba, limb1: 0x60db6b1216fe71b94bfc06f8, limb2: 0x253e2357d973bcd8, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -64367,37 +64367,37 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x4b3e865e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x4b3e865e6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -64406,7 +64406,7 @@ mod msm_tests { fn test_msm_ED25519_3P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -64572,7 +64572,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -64740,10 +64740,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -64751,42 +64751,42 @@ mod msm_tests { limb0: 0x6889d75e36c152c1cc46f152, limb1: 0xab6c91609cc41b1c6148652e, limb2: 0x6d04cda48b959e7b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd12689aa4a75942f20369ac5, limb1: 0x5d6ae4c0a9977c4e19538008, limb2: 0x101fd900dd268a39, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x4cf7cf1e83ac6ddeb4c0d88, limb1: 0xdf032c7d359dec2b1b30b922, limb2: 0x1b4e7ef7358304ab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x90887d2f101702d94aa5377f, limb1: 0x3fdfadebd967a872d02af758, limb2: 0x2ea0b09931ec6dc4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x506c121a6c7fd9aa60e121a3, limb1: 0x23b636b641b29ef8bdd1c639, limb2: 0x791b6ec60b5f8598, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x59f9c615c1fecf831ca3b5fc, limb1: 0x2f6fb1f6358caa9cb6f8c9f7, limb2: 0x6e62064b941a23df, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -64794,28 +64794,28 @@ mod msm_tests { limb0: 0xe69974737b88f1268fe9aaae, limb1: 0x8c1559e40bcf30fa0bd7903c, limb2: 0x4b532cae5bfa2c57, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa9035e798d15baf399b3b7d, limb1: 0x8e289acf0c43e298455b089c, limb2: 0x5e626a1eb94c848c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x654e97c8202baacafd347411, limb1: 0xbbc95eee2c80600c3e370615, limb2: 0x125df9e9282cba82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x183a985c65551f6ba3d83980, limb1: 0x134ad9dbc6c8c9ef9842342a, limb2: 0x3a6b860a6754781f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -64823,29 +64823,29 @@ mod msm_tests { limb0: 0xe1dd890ca42bb6787953ac8e, limb1: 0xd1043346a7687fcd1c173684, limb2: 0x25ac41ef53a8b264, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a927f53bc1929ea47a340ce, limb1: 0x1d066482260ad25a944af22a, limb2: 0x5099f019034be8fe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd8253ada22de2f45fdf5202, limb1: 0x5441006694aef1a85b444399, limb2: 0x235d0862dfa6cdf4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf55f655e635b433fffa06df, limb1: 0x9529a92891026d5feaca56b6, limb2: 0x66f328ef9578380b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -64853,34 +64853,34 @@ mod msm_tests { limb0: 0xff4a7e8b7f2cfcdbcee5a4b1, limb1: 0xe12c1714e746fb90fbaacda2, limb2: 0x74e32598c1f69b37, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec4097839b45ff546026a0c2, limb1: 0xae7581a88eae4a5053b8f9dc, limb2: 0x39c19c5066a7bb2b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe66b928f5f906da6b564a19, limb1: 0xe6eb535ca7ed037f82d2c152, limb2: 0x71e49573bad6c71d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3c366ce7ca838787367666b9, limb1: 0xe4fe0f13556bcdf6e6ed8414, limb2: 0x7242e8cce5ff3b6f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc199caa040b67c0c31530366, limb1: 0x862fb1b3977b470bdf71fa33, limb2: 0x56f64010ec27341b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -64888,49 +64888,49 @@ mod msm_tests { limb0: 0x5c9b04b3b245e09a4194094c, limb1: 0xdd37f3697ab22b9010a7a63, limb2: 0x5128c8fdc31f7a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x823a7a3274ed4f8afd3da5ad, limb1: 0x97bab3dd38c5e707cb7b2c8, limb2: 0x5a9b9fb5a904e5b7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x136a754b8e6ef4fbbdb2c19c, limb1: 0xccb7829961063c89b98962cb, limb2: 0x72b6443d8587b85b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d61d2ba560cb6cdace82b43, limb1: 0x4ec094a713c7dd9c57d2239e, limb2: 0x6d86d878336d2975, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64419bccfa5228f31d1d0868, limb1: 0x3d89f6514c52a71529d25b3e, limb2: 0x6282237340916256, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea277ea54e9fc483589b6942, limb1: 0x85d8e173f62a2f7ec6fcf9f6, limb2: 0xabb53685608cda, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf55f655e635b433fffa06df, limb1: 0x9529a92891026d5feaca56b6, limb2: 0x66f328ef9578380b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -64938,7 +64938,7 @@ mod msm_tests { limb0: 0x6fd4e3f593a17ba71159d847, limb1: 0x1118616a869823a48ad75add, limb2: 0x15473f9ff2346518, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -64948,48 +64948,48 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0xa90f9c3af19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0xa90f9c3af19922ad9b8a714e61a441c, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -64997,15 +64997,15 @@ mod msm_tests { limb0: 0xf7d884feff5aba51d9990dce, limb1: 0x999f1d302046c6266257ff5, limb2: 0x7f9caa5ee5815899, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6d71279424538e87f8ecf2cc, limb1: 0x8a8a1d74581da5996a52bbaf, limb2: 0x29acff692eccea25, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -65014,7 +65014,7 @@ mod msm_tests { fn test_msm_ED25519_4P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -65181,7 +65181,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -65347,7 +65347,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -65513,10 +65513,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -65524,42 +65524,42 @@ mod msm_tests { limb0: 0x4294ed9005d37292f5249462, limb1: 0xb9dea23ee010208506806803, limb2: 0x16031442f6384311, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7fa969c45724b811994c64c0, limb1: 0xf428138bac627a290dd35105, limb2: 0x3da98277c2dd5c48, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x87cbb10853f51a0d7e8a9269, limb1: 0xebcb43a99df5add16574dccf, limb2: 0x1b8613d1c8f4df23, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x686cbe3acd25538efa3b9366, limb1: 0xbe1fcf5f60e8d7d953189e25, limb2: 0x4a1d28d3efde830a, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xdb595542dfeb4f13942824b7, limb1: 0xd68b7cd8156fbe5dd6a83d78, limb2: 0x3060395777cff710, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xef83f2592b0828d47429e8b5, limb1: 0x6af76f6b2e1231c02a5b3e78, limb2: 0x4319a9f39260d0e7, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -65567,34 +65567,34 @@ mod msm_tests { limb0: 0x1245190a92f354fb39135014, limb1: 0x2356c2873853a0c30f1981a5, limb2: 0x4bea14241c4648bf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7161430369f11ad91cafaa09, limb1: 0x3c362a37f9eae052453c1baf, limb2: 0xf653332221e6bed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x830813297b8e4af8a48f15a, limb1: 0xf95bc4e7a0f6cb17fc03fa2, limb2: 0x42149201470d712d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeed49d5e8852ee80c47f8756, limb1: 0x352599d2881847f573797a63, limb2: 0x7505f28aca05a877, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c108e3cf17d739abe2e5b52, limb1: 0xec1abdec66af37713ef5fa0c, limb2: 0x7a98469eaf19c90c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -65602,35 +65602,35 @@ mod msm_tests { limb0: 0xc3f2bcf0634113aab168f16b, limb1: 0xacece764e432e9a362270873, limb2: 0x553f156657701585, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x132784a5fa8542cd2b13e915, limb1: 0x9c6be3686e0be6a93f659967, limb2: 0x5c4a93274bad5556, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x11fc6f6dff141670dade42b8, limb1: 0x42bcf0b6d084414f6d5233, limb2: 0x2026aaa1e7249ef5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab822761217de62211b1bc7c, limb1: 0xd543e6a9f4fb52cf6a95b072, limb2: 0x69adae066d530a1c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x30de39ed3965d44c28c9418b, limb1: 0xd58fca201fc52c751bf1deaa, limb2: 0x1bb6cb2566ea35e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -65638,40 +65638,40 @@ mod msm_tests { limb0: 0xc35a0dd5134b1c20a50cd68e, limb1: 0x9616cabc4d9e6333e11402e1, limb2: 0x64b51ca8d6ba3923, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa194688fc458cc14dcf0305e, limb1: 0x56ff7a483a7c0e1161566560, limb2: 0x25e2e19cb813454, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f27868bc80ece088387f817, limb1: 0xff6245179ef3f2af1891195, limb2: 0x639fda52a62704a0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd9d9eabe33272dce5eedf1b7, limb1: 0x2edc1591d2f1b9abe09f34cb, limb2: 0xa76b4552c437e46, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x29af65a1a07435e9af5abcb1, limb1: 0x83845e0ed474d5f5dbe1eb71, limb2: 0x9885213567cc2d4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x23dad12875c267eacf012596, limb1: 0xd7e084fba8956bdd30c5b2b0, limb2: 0x3a4d0dc33b4d4422, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -65679,55 +65679,55 @@ mod msm_tests { limb0: 0xbaae60c51c20bb7b9eccd6f5, limb1: 0xfa62a673ac9873f2df7b85bd, limb2: 0x25b6aec1e0c93c18, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x43a3d232f8215733421ea32d, limb1: 0x9a36dfd476d79bfc3a5ecdf2, limb2: 0xaf9fb27179ac73a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc6522fca2e80e4a2861d77d, limb1: 0x370368d9bc35d525bcf700b6, limb2: 0x79e34017092cb11d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x19191017a5d86b1481147c75, limb1: 0x9da168e46e58f4b527200f6, limb2: 0x2526e15ff84302bf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8b31993617c145fe7a9f52b6, limb1: 0xf9957de16671919f3998c2ae, limb2: 0x33911c89d1dab5e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2b4f66ee5babf1d3ab430a7a, limb1: 0x83cd22a0952e6a109a0ed7ec, limb2: 0x41db7964e0059019, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8275258cdefc7b10a6dd3bc, limb1: 0x6dbc7b7567690a5d64e66cf, limb2: 0x46fc5ada130cc903, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x30de39ed3965d44c28c9418b, limb1: 0xd58fca201fc52c751bf1deaa, limb2: 0x1bb6cb2566ea35e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -65735,15 +65735,15 @@ mod msm_tests { limb0: 0x15505ddd857847cc97bc932c, limb1: 0x967506820b8939decb014cf5, limb2: 0x1e1976cd733cac42, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x41f4fb8dfd4016a6fbcd1dfa, limb1: 0x856a5141ccb93613b344415c, limb2: 0x70e4850b14e402e, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -65753,65 +65753,65 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6, }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x71832c59148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x71832c59148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -65819,15 +65819,15 @@ mod msm_tests { limb0: 0xc90d60304c5ae1ed8e6a7452, limb1: 0x9b1adf93edd9e9d89e46bb66, limb2: 0x2354b27669ad10ec, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaeb348edde7fa116aa741cc1, limb1: 0x401b6f0f1099439b965ba00c, limb2: 0x165e684174b4ed0b, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -65836,7 +65836,7 @@ mod msm_tests { fn test_msm_ED25519_5P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -66001,7 +66001,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -66167,7 +66167,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -66336,7 +66336,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -66504,10 +66504,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -66515,42 +66515,42 @@ mod msm_tests { limb0: 0xd8ae75a5f75447626b81c3f6, limb1: 0x3e10b532168e1bd7cfe99b6, limb2: 0x7c81bd019581dc3f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6a1fc61a2f643418c69d3651, limb1: 0x7eaf126010472f1eae9fbb1b, limb2: 0x5edbbc492ff22be, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x1c02734e3f77c2306d060b09, limb1: 0x1191057522acfef0947464d8, limb2: 0x2c814731f4c8af68, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9b062f2f58eb33d8518e6207, limb1: 0xcb8af7baaa12b6ca2a1dcc85, limb2: 0x2b303966e21c0fe9, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xf3768594b81f68db1546f082, limb1: 0x9ab448d1e3663577efed02e5, limb2: 0x73bb3886dd0851a1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1f87f050380b8fdaf340c25c, limb1: 0x4278c0ae5c10df920663268c, limb2: 0x61cab3313da79a2d, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -66558,40 +66558,40 @@ mod msm_tests { limb0: 0xdf0d140a9cf7ddbf78dd075a, limb1: 0x24072c499511681683c40818, limb2: 0x2e5483bb4c3d3345, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa789cf12e01d2494cf7e4a00, limb1: 0x1d90bb56f7680f0afc7ea2e, limb2: 0x3266900d589811a1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3616c7f516345e8829ce5be7, limb1: 0x73feb60a339ccd948c213881, limb2: 0x3f95e4cfa0d37665, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x57ce50c4434411dd627a2d6b, limb1: 0x1cb57919372b1c5d26ff298e, limb2: 0x484c80f1a0c78330, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x70fd3c5d44465b959dd9b1a7, limb1: 0xdbefda2378b654512fd3066b, limb2: 0x3abf2071cfb490b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3a03d4d2e1adfd60e6cceebe, limb1: 0xfa767a69c268e528057f10df, limb2: 0x4d25e7fb0ed41427, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -66599,41 +66599,41 @@ mod msm_tests { limb0: 0xbb1980235aee6f55ca4a3896, limb1: 0xaae77684b8f934cc8f4399f4, limb2: 0x3048fb292d3f9874, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ba8ebd26710a64ec01fe4cd, limb1: 0xf59d8d67b24917334997cf4a, limb2: 0x8a7f25805a6bd46, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ba4b1d820882b7c93698719, limb1: 0xa6fca46f578052af8b0ada1e, limb2: 0x7c894e0df9971148, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x371e3d1e004659ee766213b4, limb1: 0x98a4bb8948015bbea6f36844, limb2: 0x73ab8519969ae9e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe6a85b04fb92005d8530a499, limb1: 0x1f4ce98d987ef0d7e8c1ff80, limb2: 0x58dd77cc62b7cba6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8ffeee4327123c2a0e5a3bf3, limb1: 0xf3ced066cad2b151010b9d2e, limb2: 0x203986fe0de61fae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -66641,46 +66641,46 @@ mod msm_tests { limb0: 0x5ec6dbb7425b0f327f553400, limb1: 0x79b6828ad40f72ca09cdc746, limb2: 0x3c82f080716845cd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7ca0e4275154258f2ff0e381, limb1: 0xe72810ba3f22f8d248537644, limb2: 0xf748316f4cfe28a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7da5e8170fe64c7109e8e418, limb1: 0x1c96e025f95e30265cd8c22, limb2: 0x57ef6c3722238f07, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x58686a81a475ffd06646c7bf, limb1: 0x4c3551898b93634166f9c620, limb2: 0x2321b4f8fc371b3c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf73297f9c087bf6a658c9606, limb1: 0x74189c5441eae74d9784a1bc, limb2: 0x1cf0641ce0ab609d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x538ae8b1dbcc8eda86fdad49, limb1: 0xf04b995545333a8316c5335d, limb2: 0x1381e97615c93da2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18ab14129ceb151f877f411b, limb1: 0x8cc8f5c439cdddc2522755cf, limb2: 0x44186d90a97d3ace, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -66688,61 +66688,61 @@ mod msm_tests { limb0: 0xd63250e36b34f4aeb6c1ca66, limb1: 0x8fa081d48367cb13da2fc009, limb2: 0x11a470f966bd3cab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9177612d90c6b831f89a1828, limb1: 0xf1715cb4980852cd9c05738a, limb2: 0x4862331212010353, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdaa7fe2c10e1c702c2bdfb15, limb1: 0x1aa1404f0cbec6e5b44115df, limb2: 0x308c548ec2028d55, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x65aedb503a02805a521fa607, limb1: 0xda07d1dd5cb951f928a55e0b, limb2: 0x7af5d589659500d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea08fec8b6ab29f2e171ab15, limb1: 0x8ddbb704399cc0c4efaee6aa, limb2: 0x8385bf6bb48c325, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x387b7b279d46609ab06dcc2d, limb1: 0xf33d884c212c669a30179ea0, limb2: 0x7e37a2d703e976b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7605984180f6a925aa88da14, limb1: 0xf94f01dbd3738e6385b12cc4, limb2: 0x4286da975f027e86, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf34d85fca803e1ec7decbbd9, limb1: 0x50e4ca9af9fa2eae547ab5dd, limb2: 0x362c24a008718a8c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8ffeee4327123c2a0e5a3bf3, limb1: 0xf3ced066cad2b151010b9d2e, limb2: 0x203986fe0de61fae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -66750,21 +66750,21 @@ mod msm_tests { limb0: 0x15c5ada7b5d8f775776e5bdb, limb1: 0xc71f22ed520abedd30130685, limb2: 0x1ed6ec8b807df51b, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xaebb74e50a7c6393c31d90a2, limb1: 0x3ea2856ae0789c8a991879f1, limb2: 0x144442f07213f831, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x27cf3bb8c69793e61fbbe4c3, limb1: 0x97efe579fdc7a80cedda960, limb2: 0x2bfaa018dbfee729, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -66774,82 +66774,82 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x71832c59148624feac1c14f30e9c5cc + low: 0x101fbcccded733e8b421eaeb534097ca, high: 0x71832c59148624feac1c14f30e9c5cc, }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -66857,15 +66857,15 @@ mod msm_tests { limb0: 0x1cf2f48266e02f5ec0d11030, limb1: 0x7c5d82e43942455bcdcb6ca8, limb2: 0x4d4941e688840ace, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5824e8e337b658fe978aee31, limb1: 0xca62074dddb2bf1bb403fbe5, limb2: 0x11e9e451d9fd1250, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -66874,7 +66874,7 @@ mod msm_tests { fn test_msm_ED25519_6P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -67039,7 +67039,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -67208,7 +67208,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -67376,7 +67376,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -67543,7 +67543,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -67708,10 +67708,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -67719,42 +67719,42 @@ mod msm_tests { limb0: 0x5986f17a16f6def51f452c42, limb1: 0x93ea79786c6f6de252e6d9b2, limb2: 0x1e5371d9b49914b8, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x934193d505802165190fe406, limb1: 0x63a1b4fc277304aff4c940d0, limb2: 0x4e85040e1860570f, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x662cfa629575adbfa6655df5, limb1: 0x680591a7df3164c0b941f9d1, limb2: 0x6136db9438d5284f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x4aa0b6379d88f1292d6bf1a0, limb1: 0xe233845133099bd97e9f3e86, limb2: 0x11826a193b4a036f, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xf6c35215fee91367b121064b, limb1: 0x82c9addae2186dc3d7fee5ff, limb2: 0x61268d5eae1991a7, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x73b9600c48dad4673450a8fc, limb1: 0x803467cfaf505c6a2a3170e6, limb2: 0x583cfc90fa202773, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -67762,46 +67762,46 @@ mod msm_tests { limb0: 0x3c998f675060d9f53d5690a4, limb1: 0x58dd747a622b1f925dc8a131, limb2: 0x3686fb46077bdd76, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x15c35c27f2cbf79b000d6ba2, limb1: 0xcff9a8101e249fe26df1c7f1, limb2: 0x4a5aee4f770a3d7b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x42934c4845f38691b7208770, limb1: 0xf5c85f928b2be54cbe5bd1a8, limb2: 0x3afc0930587e0c2d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd7ad0608c79273895cad734f, limb1: 0xeae624cb8d604cd5a7029ef5, limb2: 0x331ce49591f97504, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x738f48de3ac66e4e2a1a6574, limb1: 0x63a4a836057a7ada3e4d784f, limb2: 0x1202a97912a80b25, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd5c8a2274cf1b3167b874761, limb1: 0xe42dd28c9bff37fa59b53632, limb2: 0x29d219d42598f435, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c431e9e7d3795bcd0925024, limb1: 0x361329644e2f9c9b2210688c, limb2: 0x590bf95e1f697e16, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -67809,47 +67809,47 @@ mod msm_tests { limb0: 0x66f6054905487bff556b91e, limb1: 0x4045d3032fb3ceca8a64971b, limb2: 0x7f9c61d9cf2c740a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x92a3ce5624925729591e2e1a, limb1: 0x203d364db992359979a16602, limb2: 0x218886cb31a25687, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf91909c4e2247b4dd3034e6, limb1: 0xd1adf5e14724a144c341c8f4, limb2: 0x5b0c557e3d4087b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfbe99769ba3b8580eb44cab3, limb1: 0x62b921dd6fdefa5f52fbe2ab, limb2: 0x228152b59fe4b3e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9f8b4c6d6102feaebb21842f, limb1: 0x7b40e3627b441029a05be20b, limb2: 0x23f5e6d34ee4575b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb9c928ca1fc2d60edae1a60c, limb1: 0xbfd77cefaf43f29b7f8e5e31, limb2: 0x1b15f8388c09be6f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x68a81659dc19c0cea859d76e, limb1: 0x61aa8efe8947225630638e12, limb2: 0x71434e66438218b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -67857,52 +67857,52 @@ mod msm_tests { limb0: 0xf801d6102f771f3b64a6d0f8, limb1: 0x41f3e68729f587e39715073a, limb2: 0x30aa1ca022b1c7b1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x25aa6777372e2e980f55015f, limb1: 0xa13e014a98f353aeeb66189d, limb2: 0x48ccc3d593b89969, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd53392d5f72856b27996813, limb1: 0xf5d008472c5c1463d072ae63, limb2: 0x92bf216c09d0b5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x68a1e8dc289b4438a8b2779c, limb1: 0x780841cb2407fc6da5f6a57f, limb2: 0x989db73f3605420, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x48288d0bcf12ed0d1476dd93, limb1: 0x60960ddefd95f058cbb219bc, limb2: 0x156b38d8908a27c1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce60f05fef9b8d8f0879e267, limb1: 0x767d0dadf8dc0272c6049c6e, limb2: 0x16a589377adc4d82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb6d9404aab49d7a54a495111, limb1: 0xceea6739d6b10fae46f9e39c, limb2: 0x639c98e4e847f9ff, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd961f3fa07163947f167529, limb1: 0x79eef2e9dcac9ad972cd6d64, limb2: 0x3e35d139886deddc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -67910,67 +67910,67 @@ mod msm_tests { limb0: 0x20946333eeeb33b5f3193e28, limb1: 0x93db976a41d45f0f9236737e, limb2: 0x4803e48840fdbcff, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf1328f1fe5d0bd7c9b2a7490, limb1: 0xca931a6d243330898202b098, limb2: 0x37bb9c675f8b18f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7587738ef8ef58a6578e4c2d, limb1: 0x619953ae7e2b59c516aad3b3, limb2: 0x2615d2a1522d742e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcbad41a3676a386330f77000, limb1: 0x29d671d6525fa5d772f06e0c, limb2: 0x14aa308410fa59e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7af9a9d9b73d6fef5d021c84, limb1: 0xc78d5f84a0d588ee4960f23a, limb2: 0x21c1e431f58e353d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf3552bfd400e0cd821aaf9c, limb1: 0xc1b3f0c178ae4e70ba221db0, limb2: 0x513fa0c005d80b8b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x584c3c7e314d8de5ad4d1bd9, limb1: 0x5351ffa32ac3ca053a507323, limb2: 0x420b70e75c3633a5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce60ee46afdab14da19f6794, limb1: 0x15289b6e6d1e47af2a357a9c, limb2: 0x1a0569c85b893005, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc66e53c1cc34b79dd39dbd39, limb1: 0xf16f5dfd10bf3071eb47148e, limb2: 0x7864a50c31c37d55, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x68a81659dc19c0cea859d76e, limb1: 0x61aa8efe8947225630638e12, limb2: 0x71434e66438218b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -67978,7 +67978,7 @@ mod msm_tests { limb0: 0xa5470151654c49496746163e, limb1: 0x474b9e82a84df9ad32644761, limb2: 0x39124bd3526d82b4, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -67988,99 +67988,99 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d + low: 0x247a8333f7b0b7d2cda8056c3d15eef7, high: 0x2eb3db872ae22448b0163c1cd9d2b7d, }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -68088,15 +68088,15 @@ mod msm_tests { limb0: 0x1a8f815b2f82dad6f7df7c48, limb1: 0x2ee28d54254965ffacb2d83b, limb2: 0x4e3eea84120a57eb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1a94bc7be303e9af9328252e, limb1: 0xc4f48080d14eed8ad7b35af9, limb2: 0x4550a67984345bce, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -68105,7 +68105,7 @@ mod msm_tests { fn test_msm_ED25519_7P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -68273,7 +68273,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -68441,7 +68441,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -68608,7 +68608,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -68773,7 +68773,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -68939,7 +68939,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -69107,10 +69107,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -69118,42 +69118,42 @@ mod msm_tests { limb0: 0xa1d997a69406639e8728e0a6, limb1: 0x1db446ccee403b6152085b98, limb2: 0x7e137bffce8617a3, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa6df1f3d191e093c4afa7d13, limb1: 0x8a90d87c178d09bb2e367079, limb2: 0x6c77af5eafe002b0, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x144f9944d5feb09e0e8b7b3f, limb1: 0x4588df50eb6dcc135cf66009, limb2: 0x32375872c21acaf6, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa2c0a52be330439733bc6a2f, limb1: 0x94a788675b167f35fa482fef, limb2: 0x350cd722cfe5ca4a, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xef690aa95d752d1af68f0d2f, limb1: 0xe337ff976a1611094d9e6d1, limb2: 0x94502fc01567f8a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8e2bd4690a99ffec674b087f, limb1: 0x4033e824c47d741dfae01a6e, limb2: 0x5de3a0edb6a6c89e, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -69161,52 +69161,52 @@ mod msm_tests { limb0: 0x23881f25fee6bd5a8493a4e5, limb1: 0x96332327eef7712629d9600a, limb2: 0x4c2dfc21765b033, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x67174db8caf11c840b780c7c, limb1: 0x52733da0e801b48960863c55, limb2: 0x319d7f36976146d7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x755fee560f1c19f73e861af5, limb1: 0x317d6fc644ee0f6bbb27ddbd, limb2: 0x32fb8ee13e140307, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x427bb60e1535d1835de57a9c, limb1: 0xf6878603320d9504163abdb6, limb2: 0x76500619712cae2b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x896fdf93f988d8fc6053efbe, limb1: 0x442cbb8665b795c17f3fbb90, limb2: 0x6f04a19a2612499e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb17bac248588fac142ef713a, limb1: 0xa41b3fb9fc7149020567e0d0, limb2: 0x20c35ef724bf48a3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf0a96562e7b0371f9d40977, limb1: 0xd17de4a2f7b4992d572f9062, limb2: 0x476d3d8be9cca767, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f52e1b1647c35993ea47cc8, limb1: 0x93745ecd560685d1c483e8e0, limb2: 0x177011c310141f92, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -69214,53 +69214,53 @@ mod msm_tests { limb0: 0x2a87f4f905a0ef75fae49663, limb1: 0xd11ef5e7af9d823951ee9ed5, limb2: 0x542be33d70122dde, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd7f3d30f6ff89ab6bfcdfd4, limb1: 0xc586fdd0c39368fb8f6658c9, limb2: 0x4f57a4aa10dc2156, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3d27d46dfe443c36b041f923, limb1: 0x40073509e3fb8d807d0f8ba7, limb2: 0x5900c4191be39c79, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2c95d3d9f8ab9bb56be133a1, limb1: 0xebe84d22f9fb855a97e1dba8, limb2: 0x6e3b90530e021724, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2b0e92738f85785fe1c1609c, limb1: 0x7c999b69a12780f45849f10d, limb2: 0x69f46a8f47a85f82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xceafe079dee430ef591c8394, limb1: 0x8f7a5e5aca903e569898a4fb, limb2: 0x717b962c8c6593b4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd9d2c32936e31d539d34b5ff, limb1: 0x5e94066372e16f8ebfbd42aa, limb2: 0x392b89d7425ebb68, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18af89e719e069fc97aa13bd, limb1: 0xc33a02ab4accdc10e48516d7, limb2: 0x7fe5845189036fa1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -69268,58 +69268,58 @@ mod msm_tests { limb0: 0xe22da9cf944871bc1f755d61, limb1: 0xc170041dbf6832a30772c7b, limb2: 0x73221c731d368d2b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1610892f51bec2d51cc68f77, limb1: 0xb0303338ddacf51106d5900d, limb2: 0xabd67e5ac303ed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7348d52eb546ad61f81b1bd6, limb1: 0xbbf80e11f65a7cd2eb13e76d, limb2: 0x72782b5c6676e336, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x92820a51ebd16d076c5c69a7, limb1: 0x3268244f2119a576221343a7, limb2: 0x59b104e5b5c291f6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd96d4967ca472abdbb1e6ded, limb1: 0x5b7328ca6f7841597b39384c, limb2: 0x589a129a2bac7bab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc661b8f372e766d6412732dc, limb1: 0xf6057cc61d5e61e5acd5dcb8, limb2: 0x5ab8aee2f8ff0fa8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa68c3e1d789e036db5d7c450, limb1: 0xcbc9d18321a69fb8efb3cc33, limb2: 0x43b13ae3f6307542, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1274f80667cac20ac7b79ecf, limb1: 0x8f2b35ba96dd51bbec16a346, limb2: 0x3243786e95bb38bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x766e499b27aaf558e24881a0, limb1: 0x7698651cadc7ca8db0943fd6, limb2: 0x7199b01126af9d32, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -69327,73 +69327,73 @@ mod msm_tests { limb0: 0xe23ff8258d186ac349be9342, limb1: 0x6799fa7a158d47c09507922d, limb2: 0x34c439b0bf888fbf, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf89396ca11b1b69f84df4f7c, limb1: 0x51bd56f873d401c58a42977b, limb2: 0x4a92362a9de69e48, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa363ebd5ccde25a26f6c6cbe, limb1: 0x8a22ba1946c252f8b8122ae6, limb2: 0x28b6cc1c0db2a013, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb148ef9795cf0c6dcc99ecfc, limb1: 0xd6f929343b739fdef476e60, limb2: 0xdfa870de0d223df, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf71b0b846f5882e4493a1349, limb1: 0x141fcda8b3ce8a16c0a12dd2, limb2: 0xb0a79fef641f66c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf83f1db861d8ea98a5fa6092, limb1: 0x86511be86678aadc00dd7e7e, limb2: 0x34b3763a25215299, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xee9abbc74eed856660c160ad, limb1: 0x51a46dd8c1bf5db3052937a2, limb2: 0x6cbf24e1b116f4d9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2be8449dce7275f97423ef6f, limb1: 0x58bcac16324da0a4dfc977f6, limb2: 0x367b1f41c77bba94, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x67b97df47c8d23c8e6595936, limb1: 0x18b61364c3ac491cbe650c1d, limb2: 0x5f9fa2e0178e4b9d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe677ee20e354fee295f0cd3f, limb1: 0x902be770d45cad652b75f907, limb2: 0x167a36aae8187a4e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x18af89e719e069fc97aa13bd, limb1: 0xc33a02ab4accdc10e48516d7, limb2: 0x7fe5845189036fa1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -69401,15 +69401,15 @@ mod msm_tests { limb0: 0x8c3d5d1fc9347290cbbf1b2d, limb1: 0x2cbf21564da69b832a93ef30, limb2: 0x2cf716b703eba626, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x351df145833b28994c0fe366, limb1: 0x202f77daed6f1f932ee5297e, limb2: 0x9f35c0383acd3ff, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -69419,116 +69419,116 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6 + low: 0xe005b86051ef1922fe43c49e149818d1, high: 0xfa83cc0eece328bff7b118e820865d6, }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -69536,15 +69536,15 @@ mod msm_tests { limb0: 0x8523e1979a4d72a21218b7b7, limb1: 0xb9a33615406c1ebb81886a3d, limb2: 0x4cce3a4a858e9161, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5d4c8c71015151d5ee737a03, limb1: 0xd39565609c0cde04f0b89068, limb2: 0x76792d17d4d96ee7, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -69553,7 +69553,7 @@ mod msm_tests { fn test_msm_ED25519_8P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -69720,7 +69720,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -69887,7 +69887,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -70052,7 +70052,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -70218,7 +70218,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -70386,7 +70386,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -70555,7 +70555,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -70722,10 +70722,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -70733,42 +70733,42 @@ mod msm_tests { limb0: 0x7f87d46f87a056a0a40fa08c, limb1: 0xb925080676f1fb77a78c8af9, limb2: 0x1a095941c3e7ba27, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe7a31c63858ae22766c28292, limb1: 0xf3eeb4e2754d6c8844ed758, limb2: 0x6eba806918df9710, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xe935e4bb1d7add8a1ec9aa9d, limb1: 0xcad64c38f0f1bbd047e6afd1, limb2: 0x2099fa8966cbb278, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd6adc7eb01500f3d1984748e, limb1: 0xfc6510f8af570ea9471f5856, limb2: 0x5932b9f65f476c5b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xa622cacccfcb7f216433fb1d, limb1: 0x62ce4d78526f3f6e4a9f5505, limb2: 0x527c9cac55c060d5, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8f2dabe5ebc22ea28af2e116, limb1: 0xbbb0066665c66c7f3f293e1e, limb2: 0x7e7fdf08d413926, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -70776,58 +70776,58 @@ mod msm_tests { limb0: 0x694ef3beb46318033685e4b6, limb1: 0xc32e85a38217de3d7e499763, limb2: 0x16716532e5cf8f38, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa78e9e823eb55d15e393e92e, limb1: 0xff4ea2b6a6577292e3a20b0c, limb2: 0x365c9b1e83e8800, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc560382a290fb09096723b47, limb1: 0xac28b0b0ea3026340fdf9911, limb2: 0x3c5e4f5679e6363c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9cebb8de65168e737163daf8, limb1: 0x4875152a77be67526385cd78, limb2: 0x515534067d5ceb34, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe644875cd7a08fe0cfd23261, limb1: 0x400121172008b2596adab098, limb2: 0x44d7a0c1ddb07da0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdbe92395f0ed630da3847403, limb1: 0xa22587984d8b2f74745fe3c8, limb2: 0x1e3e2d60d4734214, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc560f6e68cc42321dc988bdf, limb1: 0xa527c8b9aa878df897f68f4, limb2: 0x29124d09a7d271b2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6c20d4efccf3687fec6443bc, limb1: 0xec07193858a4555451269860, limb2: 0x51abadc8c84a0b11, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe8ed59b07595fab0e1e2671d, limb1: 0xb7cd748c6f2fa0370074cd2a, limb2: 0x447e57d1b56988b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -70835,59 +70835,59 @@ mod msm_tests { limb0: 0x71b64fac2b871598aef7ebe6, limb1: 0x344604b9d3d1cbf13c7adbd5, limb2: 0x1a60177a6547c7db, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7aa4ccab8a5be98c1f10231a, limb1: 0x4250221310f1488c555f0dc5, limb2: 0x5c10513583715ae1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc7595a268c71d96018b5485b, limb1: 0x7e7f7895f8973b495b8ad60a, limb2: 0x501d4838db6213d9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x31e78b1cc39f8c0bcce24525, limb1: 0xf8a55b37d8327898bd467fa9, limb2: 0x545ed4d6602cbfe4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc11f3995f9a4ffcd199ec6c4, limb1: 0xfd9b598fc5860b3a05a2e023, limb2: 0x43e0a0491eaa292f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbec94b515b27ab0e7393ca95, limb1: 0x186ec5d8d2d02ab4f562c42a, limb2: 0x1d1ae0ddc58232d3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7755d4e75303b96ea47142d8, limb1: 0x52a23ecf7564aa8a5776de85, limb2: 0x3338947889e02c12, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x868119e7b059f140844c090, limb1: 0xe880dfe0eee768d57199277e, limb2: 0x27335159c19c62e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbab503654d6d6a31b05938b1, limb1: 0x2987b8b1c346a5e689953cd9, limb2: 0x3fb25993586aac53, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -70895,64 +70895,64 @@ mod msm_tests { limb0: 0x6bfaf4f6cff67a07f3a8d89d, limb1: 0x7186dafc880024368fc611ca, limb2: 0x419030494a9f0452, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb5682680cf4e18a91673c4f4, limb1: 0x4246b986913781f54dee907d, limb2: 0xcf5b08aef450ce6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd242faf0f58f9c8a084ef4b5, limb1: 0xa60cdd9f8fe2377173c1506a, limb2: 0x7eb5462831d30f4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x416478c9809a66d47ec6b8ba, limb1: 0x973e9529e57881947b856c07, limb2: 0x96521003d1c6d1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfd36dc8f53335c998503afbb, limb1: 0x7c0c3dbfa09aa8f3d95cf9d4, limb2: 0x40a8f396567778ac, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x475a6e4c7fd0cd00e3e7ad65, limb1: 0xfa636b3e41ec847967819303, limb2: 0x1db276280534378d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x490e3f576dbf90a572baaedf, limb1: 0x1a0fdd3d08955c9c21588a0a, limb2: 0x40007e32c343e0ce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x78010f64507eb335309007ff, limb1: 0x387241b03b3c460570239a43, limb2: 0x3b1b633b03a17785, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95d1db62fbef299b988f5d23, limb1: 0xe70ebd8b3ed1a5685f9be71d, limb2: 0x619bd11455bb3dc2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x32f1c7eb89b33942dad045ac, limb1: 0xd7ea9103dc732d8bfa23ecbb, limb2: 0x3f2bf629d0188e82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -70960,79 +70960,79 @@ mod msm_tests { limb0: 0xa33de51c5a827c269659e333, limb1: 0x95c34399d8e5a6c246277bab, limb2: 0x774d7da994462dbe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe1178aab14f724508a936010, limb1: 0x2fd7a982e7b0617528d1d59, limb2: 0x5256bd4da75b7590, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa75e63b313afd2e26b155151, limb1: 0x6b7cb87aacb3333bbba564d3, limb2: 0x6ecc738756affaa1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x938872ad982e8451e95799b9, limb1: 0xdfddaece1d5b877ebad1b5c7, limb2: 0x987c5cdd8842ef0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5798aff2a6b3d7c0f527cee8, limb1: 0xae4937c8dc3ac775c7fb7724, limb2: 0x15dbe66cd3efadb1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9dd1a8c277a3e1f7d750fdfb, limb1: 0x4d8fc896871a5bc8c0e21387, limb2: 0x78c799bbafb245b1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd5633c4668e359b7d0287148, limb1: 0xcb4e9de5f8a3831d59b7ef0f, limb2: 0xb2e3efdfee7f2bb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbcb571ee94c36ce531a0283b, limb1: 0x4d97723642ef0f7c62d9d21, limb2: 0x5fe13ac87d62fe36, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x36180c7583b8ae0a6889a94, limb1: 0x200270697c9254232e88d4f2, limb2: 0x214fcabdbbf796b1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x626cfaa7bfd92b980c17844f, limb1: 0xeb831c18bcaebfe4cbcb395d, limb2: 0x666760ca659982e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x150d3c96277780a30100d7d0, limb1: 0x1a18c0ee5062a6abdd51dddb, limb2: 0x481fe2d675621ce, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbab503654d6d6a31b05938b1, limb1: 0x2987b8b1c346a5e689953cd9, limb2: 0x3fb25993586aac53, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -71040,7 +71040,7 @@ mod msm_tests { limb0: 0x8c7a7c5efe14794a011d474f, limb1: 0x594882b06d7ced0626824dfd, limb2: 0x383c58c4905a71de, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -71050,133 +71050,133 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf4ac3e1f1f068dd64c86fdda, limb1: 0x24594e591d82a7f964b5ec9f, limb2: 0x6ca311b5421c57fc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x42745cd7b146012455434d0f, limb1: 0x6aa4f552b7bdc93a613bd9df, limb2: 0x5832a065d7199c7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d + low: 0x4a84eb038d1fd9b74d2b9deb1beb3711, high: 0xaa5e4678c25166a1ff39849b4e1357d, }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -71184,15 +71184,15 @@ mod msm_tests { limb0: 0xd5adf4fcdd70d304d539092b, limb1: 0xf5b45b1f48c8fd4534933d36, limb2: 0x2d4f2e8b34dd49c4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x427688865d4148010c48212f, limb1: 0x3f0dc02af962f13fefb47bfa, limb2: 0x72f897cf4e43a260, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -71201,7 +71201,7 @@ mod msm_tests { fn test_msm_ED25519_9P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -71367,7 +71367,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -71532,7 +71532,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -71698,7 +71698,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -71866,7 +71866,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -72035,7 +72035,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -72202,7 +72202,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -72370,7 +72370,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -72539,10 +72539,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -72550,42 +72550,42 @@ mod msm_tests { limb0: 0x80ee8bb226d5d31b120e391b, limb1: 0x5d8548a6d7a4d98d8322d2dc, limb2: 0x7e2ecb120201e76b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa2f1892ddd4e7a718440f14, limb1: 0x1954991ab6a23f9426a6e9b0, limb2: 0x37ecab25b7a2eb81, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xbd2add5976eea03450387f0c, limb1: 0x54dbfee1db3c82ec3608994e, limb2: 0x6eeb6da72d8d5416, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x78327f83e31990a066c127c0, limb1: 0x25981385398a9f29871ef5fa, limb2: 0x192646b298b861d4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x9f1b18608d407634250d410, limb1: 0xe1e0d4dc6864c07961e0dcc7, limb2: 0x6b3da770932f3fdc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8aeb39119229ed524a67609, limb1: 0x87012bd029022eaea70983fe, limb2: 0x5514777e8bf7d57d, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -72593,64 +72593,64 @@ mod msm_tests { limb0: 0x69b6df92b3f2de7f1a5298bd, limb1: 0x89a18370f21d10d219df0169, limb2: 0x2edb4edccaaabd00, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9b831f544f50fde6f23a2c57, limb1: 0x3842ec6a96b3221f4a057fde, limb2: 0x60b8666940dea6d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xae0a7d98401ee67328ce5a4b, limb1: 0xa2dfe6dd99c9498c62680754, limb2: 0x5a04be6f9b5c3962, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xab15e814d51da743ee1dfd99, limb1: 0x46435c018a813109e1da65fb, limb2: 0x5d98d7aa79a36136, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbc6543e7db003dfcd18f65ae, limb1: 0xc7f172d4d33778dcb024495a, limb2: 0x2c479bc4fd5606d7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4b6feacd2debb22d476a2c6, limb1: 0x69cf47aa42e2f0be20904c77, limb2: 0x3def74aa0c400890, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x385ce58cb29a0646a7d24437, limb1: 0x9fdaa031cdd354a0ff1205ec, limb2: 0x61fbf5d170c7e98a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc532599f61dcc6f05a7eeb36, limb1: 0xe433f8d186a50bc07f454681, limb2: 0x3334baaee7ced4da, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf068562e5269598cbe57d4e6, limb1: 0x2bdf19ed5b3dd5ec3373d5d0, limb2: 0x69a7d434cc17d06, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x80ea90f77f43e2e7ad32b44f, limb1: 0xd7adf9ab045d8968c1216c47, limb2: 0x6149c6ebc9b7f808, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -72658,65 +72658,65 @@ mod msm_tests { limb0: 0xdc14923046794668e4b1e86, limb1: 0x710bcd2c5a570bccfaba82e, limb2: 0x51b39767cdcb14f0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd647582506f2e7ec4852d342, limb1: 0x1371c08c1eceb0a7f42e5ae1, limb2: 0x2a320c7acf13ce1d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb42c58fea91deb3eb19edb0, limb1: 0xb2a72aeaf2bc975fd764651e, limb2: 0x2190ab87c708dd34, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x24dc71f69a08bc2da8d0ef8c, limb1: 0x5a6d0923a67ea515d4353bed, limb2: 0x78fb5c7efea31ad9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe1fcd4cd58ef1dc7197fc70, limb1: 0xca01eeecaf9ba9b27bb98c67, limb2: 0x1e5209d99f5a062b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5307d92dfaf78cd2c68f528b, limb1: 0x3f5a98e95b1973cacb2b34e8, limb2: 0x6fc719bd314fa1f3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x631dea3180f17b026cecab55, limb1: 0x4987c0f6175b04511cffdb1e, limb2: 0x4f692e9c1b1d4f8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4adf2620d40dd4816447a0cf, limb1: 0xe5aa29674b3305c2de38e158, limb2: 0x7df629a2113bb8ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbca599fa4b93f16e9918ab67, limb1: 0xeb68c48accc63e366bbd1422, limb2: 0x8cb316bba7276c3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d72e613966d64ca2dec0e84, limb1: 0xc0d8b9c29fbe7b6dba206689, limb2: 0x3eb1e49e350b9ab5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -72724,70 +72724,70 @@ mod msm_tests { limb0: 0xf46d0d983ea9554d5640dcce, limb1: 0xedf4772aaa92e104bf21c5a6, limb2: 0x10ae2813cd522bb3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84a581134a0c1ace9d3a7422, limb1: 0xd092058f7ed11ad3ba9e9aad, limb2: 0x37d72315d4aa7c60, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64d671d8a202fe8cfdfb094c, limb1: 0xd896e0fc2fddb5b05e91c8b6, limb2: 0x21742f7ba21982c9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc8e5c724affb4181ea7b88fe, limb1: 0x210c9b4c4b7e309f11a329f0, limb2: 0x184634a2941adb0e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84f6cd025a290fe9bf100ac3, limb1: 0x2dbeda94178afb8621472020, limb2: 0x2fcee74674daad61, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8dbff69a5845dcbecb069ca2, limb1: 0x442939280a54db40ab8612d5, limb2: 0x553aed440cd86539, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2df7b35c6ad7f40e0d6c7fe, limb1: 0xb95f9ad827ebee9d9996cd2d, limb2: 0x316105fa0008ed8e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf850dffab9815283957d2de5, limb1: 0x9d268979790134f25878b257, limb2: 0x5fdb0525972981e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3c2b903818f15fb5cc6d75b6, limb1: 0x1779c7d299a12766a6c3c0b8, limb2: 0x51f65c8291c122e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x94d465ab957557e2c9ba476, limb1: 0x88f2af2bca03feefa277381a, limb2: 0x43ceeb70d630ef7f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x49ddb316ed2d539950a7b715, limb1: 0x11c79bd57c0234d4b199eb9c, limb2: 0x1d7be7389f74034, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -72795,85 +72795,85 @@ mod msm_tests { limb0: 0xe6630ea4bc8041050cf4ebb3, limb1: 0x9c0f0214a9cb0fee0d7e2615, limb2: 0x696b26ef4d28523c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8f86497eb290136b8200f026, limb1: 0x15da4a582b2a982361a4b621, limb2: 0x64efcb690d3b28ec, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x868d9ea8abf38fd3252fdfcc, limb1: 0xb498f2ea7ad1fd6c95f40202, limb2: 0x25dc694bbea116b1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x97e02bd8673860ef91b1cf78, limb1: 0x4772f0f17cdc907bd43dd68b, limb2: 0x6096d80b802738, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x13f7648414272a4ecb6a1ebe, limb1: 0x7304ed9ccd829c3b0ec288a6, limb2: 0x42b0f808687f506c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcda2055e5aff0685b4617ead, limb1: 0xd8b2da5405b4391921efa8e9, limb2: 0x6d52091f38a973ef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe4ed0e5da3935b8b4333cfb5, limb1: 0x25106a6563224bab19e24c5d, limb2: 0x19f73a44c8e64de8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x15855453a9b15cce0d0c08b9, limb1: 0xac80b87797f7d65a6efac94, limb2: 0x12763963e7992771, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x56c5a3566150c4a73810fb32, limb1: 0x758ce8dde3506db25f87a76a, limb2: 0x15fa62942662b699, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d1c2fcada13fd6bffa3e16a, limb1: 0x1122a861f7d04590f215b7f9, limb2: 0xf7740e64a6e683d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x71083467eb6dd82db02ed7be, limb1: 0x5332870e6903926154697c63, limb2: 0x7aa43d0573ca9ed0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc94ac4f1f805d2fd91d4c294, limb1: 0x1d00a5982e417c0cd775ca7f, limb2: 0x6619de3f602c35aa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d72e613966d64ca2dec0e84, limb1: 0xc0d8b9c29fbe7b6dba206689, limb2: 0x3eb1e49e350b9ab5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -72881,7 +72881,7 @@ mod msm_tests { limb0: 0x4e0668c0e8b85608a7e1d3b2, limb1: 0xc6ffb29fae242fe6cf86d881, limb2: 0x2155b7d508e60076, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -72891,150 +72891,150 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf4ac3e1f1f068dd64c86fdda, limb1: 0x24594e591d82a7f964b5ec9f, limb2: 0x6ca311b5421c57fc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x42745cd7b146012455434d0f, limb1: 0x6aa4f552b7bdc93a613bd9df, limb2: 0x5832a065d7199c7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x341786b7854e3e0104e2e416, limb1: 0xbb368441c295043bee7b1d2f, limb2: 0x35c88542e11463b4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3c36e7fcc4e2fde28308132, limb1: 0xf58043d0e3d1a36d1f8137fc, limb2: 0x58c1508fbe8868a8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d + low: 0x1775336d71eacd0549a3e80e966e1277, high: 0xa253f6f6288e1a5cc45782198a6416d, }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d, }, u256 { - low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38 + low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38, }, u256 { - low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa + low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -73042,15 +73042,15 @@ mod msm_tests { limb0: 0x3d1e167644c7799b2db1324f, limb1: 0xf4d0dbe12ea7c0ba1bbea6ea, limb2: 0x68e78bc2b2a3e323, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb23c149125c04febf2f02e09, limb1: 0xeb1fbfcfc814cafed1a6af85, limb2: 0x7ead1641b6091106, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -73059,7 +73059,7 @@ mod msm_tests { fn test_msm_ED25519_10P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -73223,7 +73223,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -73389,7 +73389,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -73557,7 +73557,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -73726,7 +73726,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -73893,7 +73893,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -74061,7 +74061,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -74230,7 +74230,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -74396,7 +74396,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -74563,10 +74563,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -74574,42 +74574,42 @@ mod msm_tests { limb0: 0xc6a2dadd7bfa3f0e246e658b, limb1: 0x35fef39b5deb611ff2012432, limb2: 0x69111c4bba88905b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf8f8b650214ea0042241e1af, limb1: 0x9c0c86816e5b32d3958069ab, limb2: 0x4f7c96eef9002e62, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xfdd785e0b0c8c7cc6c9d28de, limb1: 0x8122f1bdba903598618e0cc8, limb2: 0x1cee60d8a8b3f4b1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x76aab4f568a16f049413f213, limb1: 0x69ce55459d82821adb310e48, limb2: 0x6491ade0e5fcad87, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x7f4c4fae4ccc048a1ec31085, limb1: 0xc699c0ce71f1b1891d539ca3, limb2: 0x6cec90835491d044, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb956cd0696fbe12afef76c13, limb1: 0x91ab61eaed3055a23afad034, limb2: 0x24109e0f46a426c1, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -74617,70 +74617,70 @@ mod msm_tests { limb0: 0xde0eccee19a7e1c02da7749, limb1: 0x720111429cd793328d5eb90d, limb2: 0x1aded618573ad7c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2490d569119a906df97f7268, limb1: 0x9271757a53d1a05e0d4846fd, limb2: 0x61c2345e5f452da9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb1e9f7137010f65ca3aed573, limb1: 0xf891300ceef0f5293cf9ff8c, limb2: 0x64b2b3997f8985d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3f00a12f62b88af4c065bdc, limb1: 0x1cec25a223cee045fa1eb1d1, limb2: 0x196b55f16087f1ed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd1b71e19fb05670c2232b0d4, limb1: 0xe8e7cb8f33657568df7f9aab, limb2: 0x1691a7853d3d6d34, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x72e1884b5c65d17e26cdc854, limb1: 0x3046571d00d86ac453a9d91f, limb2: 0x55e47961b0020227, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc03a13e638d9812cbcf309dc, limb1: 0x75ba7389c891ba0761b0914a, limb2: 0x763b0b03461a7f80, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd65156e0c7a756baa9a4ad0f, limb1: 0x75d804139d3dfadf8b0d50b4, limb2: 0x6b81e245f66f08a1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xee4d755ef35acd1008234a86, limb1: 0x96af6acb6745a090bdf4ff84, limb2: 0x29193da4184abf0b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe20d2f0c0ede49351c05bd4e, limb1: 0x61e7cb003971e397ab2199a5, limb2: 0x1235b5be8a26b4c3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8abc060f09ce716484e39ae0, limb1: 0x53d0da4a8192940ff15bd192, limb2: 0x6ad3c1f370737302, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -74688,71 +74688,71 @@ mod msm_tests { limb0: 0xf5f70f0243a0077afe6f7a80, limb1: 0xf61ba838f96e5dbe54b8fbc8, limb2: 0x7bfe1917e9814460, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb4cd93de8458053f6d02b8a7, limb1: 0x411c32b5b880cd7f6bbd0ee0, limb2: 0x276a1fcdb03a1dda, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9911457a134ca92cabaf0813, limb1: 0xa46e97d642de505bd1e1b05e, limb2: 0x709058365bde688e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1d7de26ecc807fc690e4e43d, limb1: 0xa7cad88664e5d6a8e920893f, limb2: 0x1bf69c542060d564, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5d02aaadd49697e8ceefc4f0, limb1: 0xb80fc82b600fbc38a166ae05, limb2: 0x2108c0d78c34a933, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xde8cc89609d395d3857b526c, limb1: 0x8d27f6bd911dca4e4e35338d, limb2: 0x6ed28ec1f40b2a80, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f332aa618294143cc99c8ea, limb1: 0x7f16b45e266bd698bfe7db10, limb2: 0x37e1f193f25bd8e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf5e9e49f0b69cefcbe984cfc, limb1: 0xe3481300898ef46ba1612a32, limb2: 0x18fc9a3d7ecff724, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xba5a045ed8b4c7839e9fd785, limb1: 0xdee8651114919a7d9938f7e4, limb2: 0x15a3ac4e2161fb37, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5c99d5cbc050ad147353fc3c, limb1: 0x371f51b73f89600818bc1c14, limb2: 0x50280f3a2db789ab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfbad18a3a60d2d4f4ba17994, limb1: 0x9131eab5dfff09ae22c4f26a, limb2: 0x696e276b49ed8226, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -74760,76 +74760,76 @@ mod msm_tests { limb0: 0x4be00c2b686f54e2cb14cb18, limb1: 0x55c57eef2d613f91460146da, limb2: 0x5e0ff25fc14a27e5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea8e14144bad5b00e62eb5cb, limb1: 0x75235fa505bff996f5190012, limb2: 0x2df2e1c15bdd6cb1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbedb58e5a8fd58c85a8279ae, limb1: 0x981426d7de32d35d2eda758c, limb2: 0x2f5d40e2f6cdebe8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa4ce0c373f701cb77d5bec87, limb1: 0x1b14022e9805bde47057d4a1, limb2: 0x5b2fd3cb2b749bde, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc74d385623f39508a8b82ca7, limb1: 0xa9cd07a695cd51652eba897f, limb2: 0x72af1478903ba58b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbabb46d08a914aa63f81aa8e, limb1: 0x3ee14f4d6726efd58b504beb, limb2: 0x354b0d3de8d2c8e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3548c3dd4a70d2066a408ea, limb1: 0xc8d2aad767b01f8b057f3caa, limb2: 0x2bbaabf71fe42e51, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xcc2ddfbc2b96d5c5c16e12ac, limb1: 0xce4d27849ade7d3397c4746b, limb2: 0x47372937fee9ef7d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x182999273d99a6cccc0b94a2, limb1: 0xc6b0524dd1da33875937593f, limb2: 0x42dcc15f6bb92f96, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x178ebd04708ffc65f255de7e, limb1: 0x8211fea129e7ef192efbca, limb2: 0xe66793bada5bede, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa2cf6ee5e3e8cfd4a6e996f1, limb1: 0xe2bf87ec79548fa4b585b6ed, limb2: 0x5842e47b90b7c3ab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5866c894c0452a9dc6f2d9f2, limb1: 0xd03c914c3824fa3009130903, limb2: 0x6c5c8b0312255b16, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -74837,91 +74837,91 @@ mod msm_tests { limb0: 0x6aba2a81ef70460d420d1b17, limb1: 0x58ab7c099f87a66f48cf36f7, limb2: 0x7e6ae6755d528dd3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf1eecdf77b964c711d9337a1, limb1: 0x44d52315b66561885c50d76f, limb2: 0x36e83e804a278969, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x89fa3412c438e08a6daa92d, limb1: 0xbb9a6ff84d64d12a1d218cbb, limb2: 0x2ff96687e2ece132, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb0fb6300671c9a0091969f56, limb1: 0x1cbfe1bfd3e1339bff858e47, limb2: 0x4b2786d9b4c8fa6b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3128ea0d6c4fbe24d836cc54, limb1: 0x64829f8a5026023871f4b1ef, limb2: 0x281fd6287c0765fa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4a47011452a47a6fe69e82c0, limb1: 0xdf4aee00a8f9412cf7f793a8, limb2: 0x2de0cdee70d20aab, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa26e1cafa9089fe0a2bae9c3, limb1: 0x6863265ef801bdab75f3fd0f, limb2: 0x392b26962a417f04, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x12d57884d5ebd40773ffd5db, limb1: 0x542c81414255dd612e6f234, limb2: 0x1dd669d98b2427e0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x65646871fd400bf8dac19646, limb1: 0xa906550da44746b5093b8e1d, limb2: 0x7e8fb9fb236d059f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xedffe0fa31c014ff973311a0, limb1: 0x30781bbaeece86331e7908e8, limb2: 0x371a2cd40e3e6415, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xce90aa658d2c289d98c68707, limb1: 0xa1ac66c827180a87cf47b684, limb2: 0x4b4dffa3ba322213, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7ce8ac9682b828d53ae6d67b, limb1: 0xc1a025f07355e8808660bb56, limb2: 0x13e54ed6edcc7476, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x693f00c36cc28ea36c10137c, limb1: 0x68b732c4a1049dde8474d271, limb2: 0x2d76bc0dd3714891, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfbad18a3a60d2d4f4ba17994, limb1: 0x9131eab5dfff09ae22c4f26a, limb2: 0x696e276b49ed8226, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -74929,7 +74929,7 @@ mod msm_tests { limb0: 0x81ec98c9fa009603acb8e347, limb1: 0xfba93f564697f066a290c713, limb2: 0x6f5cf5e56e524b8, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -74939,167 +74939,167 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf4ac3e1f1f068dd64c86fdda, limb1: 0x24594e591d82a7f964b5ec9f, limb2: 0x6ca311b5421c57fc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x42745cd7b146012455434d0f, limb1: 0x6aa4f552b7bdc93a613bd9df, limb2: 0x5832a065d7199c7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x341786b7854e3e0104e2e416, limb1: 0xbb368441c295043bee7b1d2f, limb2: 0x35c88542e11463b4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3c36e7fcc4e2fde28308132, limb1: 0xf58043d0e3d1a36d1f8137fc, limb2: 0x58c1508fbe8868a8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x560a37951d69a6c8d7138239, limb1: 0x462d454a509846714184ef71, limb2: 0x3aaf8fb4f60e3e9c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb70cea4e13db5322899753f9, limb1: 0x6c62656b6d7ffb5c2af44fd5, limb2: 0x4b5ae4567dc6a7c0, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326 + low: 0x2f1205544a5308cc3dfabc08935ddd72, high: 0x10e1c2b2fcd81b5d24bace4307bf326, }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d, }, u256 { - low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38 + low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38, }, u256 { - low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa + low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa, }, u256 { - low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe + low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe, }, u256 { - low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d + low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -75107,15 +75107,15 @@ mod msm_tests { limb0: 0x953e7b69bc51afd0e8ee14e8, limb1: 0x88f2a3f463abe0e4d99ed2b4, limb2: 0x282277c34990a0db, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc4b37aaf5a797b777a89ebc3, limb1: 0xec1836313170e0d9647efdf3, limb2: 0x63f08f0867a4694d, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -75124,7 +75124,7 @@ mod msm_tests { fn test_msm_ED25519_11P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -75289,7 +75289,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -75457,7 +75457,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -75626,7 +75626,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -75793,7 +75793,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -75961,7 +75961,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -76130,7 +76130,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -76296,7 +76296,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -76463,7 +76463,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -76629,7 +76629,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -76797,10 +76797,10 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -76808,42 +76808,42 @@ mod msm_tests { limb0: 0xf7f73668ed31827e6a25b1e8, limb1: 0xa31457d7a2c542bbf3b3c13, limb2: 0x7d799610c8f16ab4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6c03502900d94323a740e874, limb1: 0xc399c691ef16e90aa7f2e45a, limb2: 0x6c1d54069d32fa1e, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x9f5046b366b4e82578ea7cfd, limb1: 0x5657ceee8f185b72bd049708, limb2: 0x53c3ed1e985a9f2a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf14204086006b6971e3d450, limb1: 0x8c84b71627d8b4bd5d0713cc, limb2: 0x13f218899f7041e4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x25b995ad06874ea339c7afd3, limb1: 0x68f3a5868e23705dbaa50f78, limb2: 0x2a0c6e906ba7ad96, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x1135152280c1d9643c6ae557, limb1: 0xf2529e96d78f463c1cf0d966, limb2: 0x6b61d89001e0d390, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -76851,76 +76851,76 @@ mod msm_tests { limb0: 0x2e742f3d9cbdefdd73113073, limb1: 0x67fe8ffbea3c17f5a002eedd, limb2: 0xe506536da7bf16e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd126cb3cd730b818de2624bc, limb1: 0x8b751c7c64c6aaa38b98601c, limb2: 0x2e8714c387fd6f82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe555573b080a984b0ddfd5b7, limb1: 0xc8f02fa06451530e73be6f63, limb2: 0x39bcdb5b56883e9a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1798726c819c7783ab7f038f, limb1: 0xe788b5ea9c47e1826090898e, limb2: 0x13ec5f23c8b5bc43, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8cc0da6a6236ef707bda54b8, limb1: 0x10a3b1ad2a34798976966a53, limb2: 0x136193a2885eccd0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9186b9521e2d6f1ece443b58, limb1: 0x87c456fb5d8489efe4d7509b, limb2: 0x78293def00ee1577, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x41601c2865a912db7c8ac9c9, limb1: 0xb7b885823e953ca30f6a77cd, limb2: 0x78ce2847f63ec245, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x558c0309f34095a5fe799977, limb1: 0xc1391d44788ef596587bf63a, limb2: 0x6e904194151f085e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd99813daa943071c30475839, limb1: 0xe062f33ade676b0aa9a897e4, limb2: 0x411a45534b170b7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa8a468151642d97b8a6cecd1, limb1: 0x22578b4c1029bee6f4578ff8, limb2: 0x478a7690da534a58, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x794dbe931d56a7939a061049, limb1: 0x31e7a3b41d762eafbf4f5dae, limb2: 0x5a988b05b1f64236, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc022279cf32a8b05c80e6a62, limb1: 0x9b6fc2bd314c187b5f1cd6ce, limb2: 0x1b483b2da7027421, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -76928,77 +76928,77 @@ mod msm_tests { limb0: 0x9cda2e302366377171cc82a6, limb1: 0xe3e3dad3bdeaa33063fddc6, limb2: 0x4329fbf9c026acea, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3770918da7441cb0ab4196f7, limb1: 0x2d2f16fd65dbbd5c10cd75a2, limb2: 0x17ff3edc194d68b6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x391373027457fdc75d4444b2, limb1: 0x5f4bcbc3bc90f4ee8ea015f9, limb2: 0x6926f31aadd8ec3f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x320ea95d2516fdf758d23671, limb1: 0xd5023c332d003ff97758bfd1, limb2: 0x7db2fe4b91bf5870, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x66c5c34e88ce615c6cb290a0, limb1: 0x4cfedd0c32af5cd2d30761b9, limb2: 0x4cb66588dedde84a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6acaa0a007d782b1f43b6bc3, limb1: 0x81b46d1da5e337db7372f479, limb2: 0x1e1e7516f1548702, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe9c4cdc8e7ea4eb45fdf792e, limb1: 0xf058d29c9c57cf1087ae8cc, limb2: 0x3cf7669396f0898e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8fd6406980cc1513e3e70bb, limb1: 0x301de9cb700fcb44f0834303, limb2: 0x1230985ecf8ec3b3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x291d1ebdcccec5063d394648, limb1: 0xd1873d2257f45fc052784cff, limb2: 0x2f8c26f8e4f4c6fd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc6516ff2a21c364dedafac02, limb1: 0xed140f7803ed0f768d900597, limb2: 0x50b5051c47a60371, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x499fd02245dca6202fd54521, limb1: 0x6280a650a5f4c94fa8c10d03, limb2: 0x19470e3f920d110b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd205e9921108aa553f45b75a, limb1: 0x776f5ac2b8cbd09c55bc0fee, limb2: 0x1e3efb0c587fbf57, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -77006,82 +77006,82 @@ mod msm_tests { limb0: 0x93ad4b9763b0de0fc0c0844e, limb1: 0xd518af12b6e63e2c7bd54e2, limb2: 0x72cc0485b6ed657a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9b764061d9098e862f8cd4a8, limb1: 0xeaad0e30d30091cd364a4cad, limb2: 0x763f590fa9389c9d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd2eeb3978979aba4d02c944, limb1: 0xdb699a680afdbcd70a1651c9, limb2: 0x376757ee3a1fac9f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5c86da72aedf5b98305a365, limb1: 0x5d74aa401fd4f539512c23f6, limb2: 0x165018b95032b2fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x25a98febef34ad7480b7b529, limb1: 0xeab5cb6e32f485662d583196, limb2: 0x721453673c96d326, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe745c9baa70ee618755c7fd4, limb1: 0xf82eff8dd6332652787b6b86, limb2: 0x306d0d5a7a2d978d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x74aa65ccd9252aa8a84465d5, limb1: 0xfb6056154834c19887b891eb, limb2: 0x12fb4eddd947ddef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6fe1fbddac1a39d990a2067c, limb1: 0xf3683dbbe173344764f7505a, limb2: 0x1a2e3eda21b0ebe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x280be09493f5a8b91bb1b6a7, limb1: 0x1f95f721eec5c731026cb4e0, limb2: 0x6d542e5bf042b94d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe7cfb9f1d99def11b0233390, limb1: 0x79954b3cac6c7e339af268a2, limb2: 0x4e97add6c732166, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3ce90a9542916b32952b82bb, limb1: 0xa8c0339320480164d1512b55, limb2: 0x3eece52f40b4681c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7ed13ab720c15ed86e6e6e61, limb1: 0x1635d187018bd92ade2a5bc9, limb2: 0x66f7975dcc19630a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa9e6cabae8b56b48f983853, limb1: 0x26eeb471d00e1aa629a3d351, limb2: 0x25afb6f5c9f9fa5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -77089,97 +77089,97 @@ mod msm_tests { limb0: 0x7789a937a1bce0e5d0e3847, limb1: 0x69ffbf6df08ea603182cb143, limb2: 0x47f7faef3d5b9e2c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f41440f1a825a594286b43d, limb1: 0x811124125910aca02374b18f, limb2: 0x5f7d10700d0e580a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4a65f9be094f9ab8d3851649, limb1: 0xbce603238b381116f4957645, limb2: 0xdb46c1a5b4948d6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5284ed62f63b70f5e656c5e0, limb1: 0x65b8f31d47b89defc245bfaf, limb2: 0x7f3d15c11345bb3b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5b35440d0cbd4d01c1b2ebc9, limb1: 0x2fd64a4cc840e16f23de1f0a, limb2: 0x4c614d91bf42dc01, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe1d31429454ed8b3ecefc67c, limb1: 0x366d0c3b1ab432aab2ed6c7e, limb2: 0x3364cdedc20c8f30, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6abe7d3bafe0312bc3929fd7, limb1: 0x43c0dea9724dd31936a39328, limb2: 0x1c2c0c85b2bf229b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x217ec2ffca7cc593364532f0, limb1: 0x242fdb8aafd09bec78a7143a, limb2: 0x75b3566b974acb9c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfcc3abd1fc0b7f1f289df44b, limb1: 0x87c919b0e10a7a0b5b9dd2d9, limb2: 0x8686ce11fd1724d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x54b31f1351a94e1886070e4b, limb1: 0xa75325315d1fc66c112bc40a, limb2: 0x5925f7d4025073b7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeb04a4df264f94a640ccc985, limb1: 0x416e98ad4fa5488ca54c66d4, limb2: 0x1449e7f9bc3a7f43, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7d9bb529995917ef940de5ff, limb1: 0x1534686a0f9e98335b3da8ae, limb2: 0x8ee7000cd3da1f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1fd7e65d4b6df32ef5e8c9f, limb1: 0x6813c2e9ee4edc8747844577, limb2: 0x710c1abc39ccd151, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5644fb19f24e87af28915c4e, limb1: 0x9418875e077007261479c360, limb2: 0x7695bb1337c6cff1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd205e9921108aa553f45b75a, limb1: 0x776f5ac2b8cbd09c55bc0fee, limb2: 0x1e3efb0c587fbf57, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -77187,7 +77187,7 @@ mod msm_tests { limb0: 0xc60200a5e3dd769d410ff97b, limb1: 0xcbebb6afca6d06b305602a19, limb2: 0x390c4955f0f30842, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -77197,184 +77197,184 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf4ac3e1f1f068dd64c86fdda, limb1: 0x24594e591d82a7f964b5ec9f, limb2: 0x6ca311b5421c57fc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x42745cd7b146012455434d0f, limb1: 0x6aa4f552b7bdc93a613bd9df, limb2: 0x5832a065d7199c7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x341786b7854e3e0104e2e416, limb1: 0xbb368441c295043bee7b1d2f, limb2: 0x35c88542e11463b4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3c36e7fcc4e2fde28308132, limb1: 0xf58043d0e3d1a36d1f8137fc, limb2: 0x58c1508fbe8868a8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x560a37951d69a6c8d7138239, limb1: 0x462d454a509846714184ef71, limb2: 0x3aaf8fb4f60e3e9c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb70cea4e13db5322899753f9, limb1: 0x6c62656b6d7ffb5c2af44fd5, limb2: 0x4b5ae4567dc6a7c0, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb06cccb4b425d5179f528270, limb1: 0xce017c281a3861570706cd86, limb2: 0x42d14846dc4860ab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x646bf486f6e77663c597ece8, limb1: 0xd87c8c36a430a6fe42305b88, limb2: 0x7964c7742b6f13da, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8 + low: 0x2648ee38e07405eb215663abc1f254b8, high: 0x29164ebd7ab792809e469e6ec62b2c8, }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d, }, u256 { - low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38 + low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38, }, u256 { - low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa + low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa, }, u256 { - low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe + low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe, }, u256 { - low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d + low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d, }, u256 { - low: 0x4d125e7fa59cec98126cbc8f38884479, high: 0x1f40f472e2950656fa231e959acdd98 + low: 0x4d125e7fa59cec98126cbc8f38884479, high: 0x1f40f472e2950656fa231e959acdd98, }, u256 { - low: 0x98b33c6e0a14b90a7795e98680ee526e, high: 0xc8555a9fcfcfa81b306d70019d5f970 + low: 0x98b33c6e0a14b90a7795e98680ee526e, high: 0xc8555a9fcfcfa81b306d70019d5f970, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -77382,15 +77382,15 @@ mod msm_tests { limb0: 0x9689eff36e40c5d4f7aa9e26, limb1: 0x4fca2ba1936adf005148db8e, limb2: 0x61682ebc3050d122, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x8c505d80ce528ebd36300c7b, limb1: 0xad9bf81c921211418dd07111, limb2: 0x228d83528b2b7ad0, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -77399,7 +77399,7 @@ mod msm_tests { fn test_msm_ED25519_12P() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -77566,7 +77566,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -77735,7 +77735,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -77902,7 +77902,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -78070,7 +78070,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -78239,7 +78239,7 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -78405,7 +78405,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -78572,7 +78572,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -78738,7 +78738,7 @@ mod msm_tests { -0x1, 0x1, ] - .span() + .span(), ), ( array![ @@ -78906,7 +78906,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -79072,7 +79072,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -79239,10 +79239,10 @@ mod msm_tests { 0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -79250,42 +79250,42 @@ mod msm_tests { limb0: 0x12d1b444ec39ae839807573c, limb1: 0x50cb70680dcb8804e2a1c6cb, limb2: 0x5d529b896d65150a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf0fbd5d96b7a64beee6206b7, limb1: 0x6982ef15e68d6f6c204de74a, limb2: 0x12537fc27fadb2bf, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x5a69deb6f89b3673b868547b, limb1: 0x4bff35db66fccba1976a7225, limb2: 0x77f294fd97e3f80d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x9d0b7c8c5ae15973adfe68fd, limb1: 0xdcfad41176059fc275b3c281, limb2: 0x56e82a35fc7cab60, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x9e594e333ff5e969a7e67fe2, limb1: 0x6f1c567b169fb2641e9523af, limb2: 0x5f281f6b0b94ae25, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xfcf298a0835b6605577aba8d, limb1: 0xcbc74b0c4dd9416799ec7c87, limb2: 0x2bc94fc7f719122c, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -79293,82 +79293,82 @@ mod msm_tests { limb0: 0xffecbce3b121b61e3a57f55b, limb1: 0x5e6bfbfb7b574c128eb240a1, limb2: 0x2bc9be23492bcad7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe0196ab9ccdd78fdf5ef245, limb1: 0x1ba34dfb4627182d469d5d56, limb2: 0x775a03c7cc2703c8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x235a3a02324481f4df62710d, limb1: 0x5b2e992df083497642154e73, limb2: 0x34fd6cd3a82c5c48, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd06187c8a1d0376a5f000d9, limb1: 0x68d90153c1e8d7a7ee899c34, limb2: 0x6aedcb7e52cbcb5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb94f7efe60a13f7f5962d92c, limb1: 0xa34c5108ee4161db1e497d8e, limb2: 0x72a24aea2ebaa210, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5a9df54c263239333ab644fa, limb1: 0x6124f61660a22d2341fdf5a, limb2: 0x72a6f4d9cd5fbf35, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x72f29c59e6ea900a1d85ae34, limb1: 0x482643cf2b12a5734b2e17fa, limb2: 0x3bac234f4e4a138f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb77fa7636d51eb2343438d65, limb1: 0xe4e3805368a9ce4981c64bfb, limb2: 0x7d272e264bc9d02, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4483a338e345c4b861d0dc80, limb1: 0xc08a11e883dfb6475bafc3ae, limb2: 0x33264c490729f9b4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xaa339804960b019881d23878, limb1: 0xfe2fdec8bbba1d4e60076c62, limb2: 0x535e585bb632c906, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8882b0fdc437cfb58dbaa4c3, limb1: 0xa5877b1ca8ad42ea12efa2a7, limb2: 0x5d4263824619549a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xde92947601ea0c23d920cd45, limb1: 0x221050bd14536c12823673b8, limb2: 0x3c76165d4494108f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6a2ac381735f9520b8d3e487, limb1: 0xfbd4b1dceecb9329a8b0df79, limb2: 0x342677d07b838035, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -79376,83 +79376,83 @@ mod msm_tests { limb0: 0xb442043f2dd169cb9f9e8d72, limb1: 0xef8d7c1088054da15cb3220, limb2: 0x19d4ec5188918bed, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x56c7048885523c4ceb181873, limb1: 0xd86fa1e82c2b6b594ac1513a, limb2: 0x45bd08a012b8f10d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2bf497607588487997e50892, limb1: 0x5e41bda23b95bca24f89a4da, limb2: 0x787ce84ba33784a4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbd9e9cd5b04f5b78530e320f, limb1: 0x9a00b0073e3d256cc8a18611, limb2: 0x60fbcec6847c3bf2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7347ade9ac9b92d7f86554ec, limb1: 0x18f252c46d5f218070a956e3, limb2: 0x54c6a9a8e8629e8b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x958c45a19341e4062d1bd308, limb1: 0xdd6bd4b65c0c8ce183ac23e9, limb2: 0x454f22d5cb9bd4f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x11137d2de8923838b19dd603, limb1: 0xa79d4603ddd85ab4367cbc08, limb2: 0x496cf7bba9bfdc01, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbd6480d88107d06896005ba5, limb1: 0x2659f0135f6184e7eca0b6b4, limb2: 0x1ed73aad3ef8c330, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc2eee205a96e240001143a42, limb1: 0x8264f7e173eac7264eff3c41, limb2: 0x53db64ec15475bd0, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3d3b91ef5607b2d47be4b87c, limb1: 0xa1df8d81703f144d77347631, limb2: 0x6818feb8ecb0d46e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6a48daf6f303d53ce5e97319, limb1: 0x45277035b39e7e5c264d1b7d, limb2: 0x6bc39abb3ab0eaf3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x784ca0b979984062a03cdee4, limb1: 0x6bcea28c476eb635ebcec93f, limb2: 0x2ef058f42d482d29, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x30ad938acd85cc182e3509f4, limb1: 0x21efbaf20d88c8824a3ab8b2, limb2: 0x5414d4a72bb09b38, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -79460,88 +79460,88 @@ mod msm_tests { limb0: 0x43e7029d069a5f1fb92af1fc, limb1: 0xceb43171d1fe7247c35ca21a, limb2: 0x6f50926b9de1db2f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x613a9e92167baa9c907fe071, limb1: 0x1521f98e126eeab77278ac5f, limb2: 0x4814a779588a7ff1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xef5acd63333377c18ab4abe8, limb1: 0xfc5e6d86e3db7b2adb5e0f0b, limb2: 0x36eef4965f7429b9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x54a5f0de4d02d39b5d02a85f, limb1: 0xa1daaf026f649aaf5450c14, limb2: 0x74aa9cdbdd9bc48, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb59e56842f3b2045d388c59f, limb1: 0x8e7c2f30f823d27d1afe32ec, limb2: 0x35c5495669061993, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x22b6c28d47f9fe23ea98cc0f, limb1: 0x9352a8fddb42e3af57a1db5b, limb2: 0x57e46fe6f26721eb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6ac322985e5cbd757a26c312, limb1: 0xb72e4d7a3d3133605b29eef4, limb2: 0x667a9f508e4c31a7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x138da36f8db83531b8bfe35a, limb1: 0xff7f7ad2e6074e3f382af432, limb2: 0x7ea13422f0a3ade4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc25397638998cfbd1f112b2, limb1: 0x9452ee4e8cdbbba4a9544644, limb2: 0x3a8575017a1b496d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xeaa2b73f3c4d41a518c09910, limb1: 0x2a58a7215ca86758f559e51f, limb2: 0x7e39c2d53f220d48, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5cd98181a39cf81f142d8e12, limb1: 0xa09d1ed85bd0b4ff2d591f00, limb2: 0x1fa3ee2c543656fc, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x604d49c963cbb242ae4699cc, limb1: 0x4120430346cf35eb0cdcdcea, limb2: 0x379089f50b55d75f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x953a6c905b8c17a590b257e, limb1: 0xbb4d9708aa18caf5412b0b12, limb2: 0xab9f2fa1e6ca8f7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x85e23a73156e071ec56c4243, limb1: 0x26618a13a93d3db4a8727078, limb2: 0x5595e4ff55323198, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -79549,103 +79549,103 @@ mod msm_tests { limb0: 0xd80911ca9d9c52cf5007b2d4, limb1: 0xa988a21876e7f3f6f1cffbf0, limb2: 0x5e56ba88bda584c2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf12c577c8cff913b30424c7f, limb1: 0x69b8e77f5b8a593e133d4705, limb2: 0x61c5a60d9ce47d20, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe2413379f703b8ed14571e04, limb1: 0xa2ae3de9491abb55d2939105, limb2: 0x3a16c004915abf60, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x738ea03ade03ad171d97bd9b, limb1: 0xcc2687e0678e260a4ae9b61b, limb2: 0x73694049c683b2ef, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x280a445d65d47cfb27eb0b23, limb1: 0xefd8c69d8d1e1629ff1d8e4b, limb2: 0x4462fdb993b637bd, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7d4a2bd9258173630361d048, limb1: 0xb860d494e52ca141055e3a55, limb2: 0x1d50d030cd0b3f22, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2d64035a28db7775b974b615, limb1: 0xce1ea0fc572351ab986decc4, limb2: 0x34ae3e33014c6c03, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x206f1a49ca2bdb9de5036245, limb1: 0x9c5578633b811d1a992e45ae, limb2: 0x48f33526b6808e2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc821849124d4456aeb06b504, limb1: 0xd62fc35444a18345870d819f, limb2: 0x154da4487ac33d97, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xd224f8876e6673cd74f74f91, limb1: 0x44b8d3909dfe86be97cc8080, limb2: 0x6ab6f249a134c42e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x244793cf806308769ed032f9, limb1: 0x151791bb5831430f944639b8, limb2: 0x5f81773a904186df, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x22f81119ece42751eefbc7fe, limb1: 0x5cacdebb5662860e787cac4d, limb2: 0x1d309e6a341431e6, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2870678e739aba01be2bba3e, limb1: 0x3a9bb539c332fdac2d6d5017, limb2: 0x49d609dc01ea2eb9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa2d7603688a72b0868a7535e, limb1: 0xd235f1124858ef82b7acd5d8, limb2: 0x647cc238e6dcef1, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x84f1cbb1260a21f198f8f624, limb1: 0x9d668399a8e9f40c57877f9c, limb2: 0xc3f05c7d301ec0f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x30ad938acd85cc182e3509f4, limb1: 0x21efbaf20d88c8824a3ab8b2, limb2: 0x5414d4a72bb09b38, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -79653,7 +79653,7 @@ mod msm_tests { limb0: 0x64c3a97434138b47cdb949a6, limb1: 0xa03ceda5529dfec13d8af56e, limb2: 0x10e5f7624aac3ed3, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -79663,201 +79663,201 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xa6832ef7fe97f77de7cd9a62, limb1: 0xf18a70dbf1dc5a76c685da4a, limb2: 0x6ac1b7bfc409119f, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7751161b1a9ef600b865a5af, limb1: 0xed28aad4835a39a9e8318ceb, limb2: 0x572e95c429f0e07a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5e71d0fc5d1c016834779173, limb1: 0xadd002dfc0ebf1b25c23c252, limb2: 0x40a868d928ae5233, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x423fa293418d6e3f59c2e830, limb1: 0x7a4bcf26f93e71ffd903e68e, limb2: 0x7837b851ad8da6e3, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x5907087f8e8e4dacdd039371, limb1: 0xc390e2073b4e64b9ede0570d, limb2: 0x6b039a85962f1594, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc45eefa03155b8f7eb780b42, limb1: 0x3db57eb22f9b0394a4d7b78e, limb2: 0x6cf45b6d90883f60, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x60dd8ed0a614b596fb37eb1f, limb1: 0xabb99f371be41e26ec2d8e4b, limb2: 0x187ecd72c40f159d, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7b66c9263de5e1663622985d, limb1: 0x118b032cc27a1d6dd192eca6, limb2: 0x312fb405788616e8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xf4ac3e1f1f068dd64c86fdda, limb1: 0x24594e591d82a7f964b5ec9f, limb2: 0x6ca311b5421c57fc, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x42745cd7b146012455434d0f, limb1: 0x6aa4f552b7bdc93a613bd9df, limb2: 0x5832a065d7199c7a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x341786b7854e3e0104e2e416, limb1: 0xbb368441c295043bee7b1d2f, limb2: 0x35c88542e11463b4, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x3c36e7fcc4e2fde28308132, limb1: 0xf58043d0e3d1a36d1f8137fc, limb2: 0x58c1508fbe8868a8, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x560a37951d69a6c8d7138239, limb1: 0x462d454a509846714184ef71, limb2: 0x3aaf8fb4f60e3e9c, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb70cea4e13db5322899753f9, limb1: 0x6c62656b6d7ffb5c2af44fd5, limb2: 0x4b5ae4567dc6a7c0, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xb06cccb4b425d5179f528270, limb1: 0xce017c281a3861570706cd86, limb2: 0x42d14846dc4860ab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x646bf486f6e77663c597ece8, limb1: 0xd87c8c36a430a6fe42305b88, limb2: 0x7964c7742b6f13da, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x52c487a17925c92335926072, limb1: 0x13155d04b743220ba9c4dd31, limb2: 0x1106c832e8e52057, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xbc69df5aa9a21ba08f160d5f, limb1: 0xc207c95ac5d454f546b05fc3, limb2: 0x574515b32b35f440, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625 + low: 0x85940927468ff53d864a7a50b48d73f1, high: 0x6e2edd0d977e9933c49d76fcfc6e625, }, u256 { - low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74 + low: 0xd344749096fd35d0adf20806e5214606, high: 0x8ce86e89466e4726b5f5241f323ca74, }, u256 { - low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d + low: 0x30bcab0ed857010255d44936a1515607, high: 0x8ac57cfbb42e0b20426465e3e37952d, }, u256 { - low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38 + low: 0x5f3f563838701a14b490b6081dfc8352, high: 0xda2ddc3552116dd2ba4b180cb69ca38, }, u256 { - low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa + low: 0xc87a746319c16a0d0febd845d0dfae43, high: 0x7003168b29a8b06daf66c5f2577bffa, }, u256 { - low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe + low: 0x176ea1b164264cd51ea45cd69371a71f, high: 0x3b6a666fb0323a1d576d4155ec17dbe, }, u256 { - low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d + low: 0x9edfa3da6cf55b158b53031d05d51433, high: 0x23d79a9428a1c22d5fdb76a19fbeb1d, }, u256 { - low: 0x4d125e7fa59cec98126cbc8f38884479, high: 0x1f40f472e2950656fa231e959acdd98 + low: 0x4d125e7fa59cec98126cbc8f38884479, high: 0x1f40f472e2950656fa231e959acdd98, }, u256 { - low: 0x98b33c6e0a14b90a7795e98680ee526e, high: 0xc8555a9fcfcfa81b306d70019d5f970 + low: 0x98b33c6e0a14b90a7795e98680ee526e, high: 0xc8555a9fcfcfa81b306d70019d5f970, }, u256 { - low: 0xebe2136898c752051e01a934402d0baf, high: 0x6c2a492cc0f859aa6524ab713b7e05 + low: 0xebe2136898c752051e01a934402d0baf, high: 0x6c2a492cc0f859aa6524ab713b7e05, }, u256 { - low: 0x637e0edc5b6e4ae7a62081434fbaecc0, high: 0x4e8c1e4403d1f83a859890cd670f668 + low: 0x637e0edc5b6e4ae7a62081434fbaecc0, high: 0x4e8c1e4403d1f83a859890cd670f668, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -79865,15 +79865,15 @@ mod msm_tests { limb0: 0x7c410eb46bef1f4bbd9bc435, limb1: 0xf8e9e58aa621db96880b0f17, limb2: 0xd09eb5f2667189b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xdc7785ceb6c9231f86e4b328, limb1: 0xa8f46608017bf64838b1e72f, limb2: 0x5a4e1c9619ed8aa3, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -79881,27 +79881,27 @@ mod msm_tests { #[test] fn test_msm_BN254_1P_edge_case() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -79909,7 +79909,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -79917,7 +79917,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -79928,9 +79928,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -79938,27 +79938,27 @@ mod msm_tests { limb0: 0xb4b30030d604f094d3602296, limb1: 0xa0e983b28babaffaeaa2a062, limb2: 0x471c9e526d4e91e, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -79967,7 +79967,7 @@ mod msm_tests { fn test_msm_BN254_2P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -80135,23 +80135,23 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -80159,7 +80159,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -80168,7 +80168,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -80177,7 +80177,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -80189,9 +80189,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -80199,15 +80199,15 @@ mod msm_tests { limb0: 0x4438dbd4fc537b19aa9029a1, limb1: 0x71338662165803d1aeba36ff, limb2: 0x8463adc2f6b3ff5, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x75937bc3dba286ad2bd8fe5, limb1: 0x575d166325014e975405464f, limb2: 0x1437873db8d7dca1, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -80217,37 +80217,37 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x967d0cae6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x967d0cae6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -80256,7 +80256,7 @@ mod msm_tests { fn test_msm_BN254_3P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -80423,7 +80423,7 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ( array![ @@ -80592,10 +80592,10 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -80603,42 +80603,42 @@ mod msm_tests { limb0: 0x5b9b511a35490c4f05d6e4e7, limb1: 0xf11ec8642a0df9cb0b8f2cdd, limb2: 0x2b568cd4a3e221ca, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb45c3680d8359a0fdb47de6f, limb1: 0x4c17fe1c96f237095df8c737, limb2: 0x118fc0474955ac2b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x47bec5e5e1f295cdcd7689e9, limb1: 0xcb171283d651071401630545, limb2: 0xa401c0298cd5f83, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe5d2831c05e61956d8725b57, limb1: 0x6bb84991518471727263fde0, limb2: 0x15e82f62ee3caf32, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xd15f8e23aaf3af13ab5ba169, limb1: 0xb0ff9631870f189040aec289, limb2: 0x1c77509b88d3bab7, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb620e3716b30b1003beab421, limb1: 0x1d6aad1137155249c5d4f785, limb2: 0xbf95d2db0be45f9, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -80646,28 +80646,28 @@ mod msm_tests { limb0: 0xbba74f84d6d3a3c60dc3cd41, limb1: 0xf36f80b4b1a3f69f44ab1b6a, limb2: 0x16adf9385577d09, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe3748a5201028055d851d0da, limb1: 0x7d4d0c483a8050c66e35c6e1, limb2: 0xe58ca0d31a6a8d2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa59f084b703ac17683ca07f9, limb1: 0x7f1a924087f5442a95a66068, limb2: 0x284cb90ec99aa375, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1c72c56de666104df8056a9f, limb1: 0x3b0db6cd914b52831fc41396, limb2: 0x1953864f49cc904c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -80675,29 +80675,29 @@ mod msm_tests { limb0: 0x36208c0885fb7058abddd334, limb1: 0x3db412a5e6005a05ab374adf, limb2: 0x2b398812b30eb292, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdf68dc78906c44847536a23d, limb1: 0xa6bbd9ceb18275da98d88a68, limb2: 0x11b898e607064ade, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f0aaf5b805720e403eddcdc, limb1: 0x11afb25fbfae966d38aea0d6, limb2: 0xc14f6e4a6a37797, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x712f22263ef5e91c488b0722, limb1: 0xbf68443cfd66208b1f0a2b4e, limb2: 0x19990ced3afb3faa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -80705,34 +80705,34 @@ mod msm_tests { limb0: 0x210edfad5881dc6bf8ec5f58, limb1: 0x3c354ff8e0cba98c03e7c606, limb2: 0x1d8c9c28e2545384, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x95055f0bf55a751df0f89316, limb1: 0x652b61b3a2e6073c3af64fcc, limb2: 0x23080aa3e59e0cc4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9e36b036fbad71c308a43548, limb1: 0x5261fa4f1b50b2519194e556, limb2: 0x218c5e7ffb07ea5e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc8285d3649f36c8f5daaa331, limb1: 0x3f053e816c7552d20ecadbc7, limb2: 0x2527827f86516567, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7b5fb11b84d5950d23c96fa4, limb1: 0xe2b051a2b9c1cc88b1d77617, limb2: 0x1edee19e79e4e9ad, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -80740,49 +80740,49 @@ mod msm_tests { limb0: 0xd17e0eff19b138dc529f7f0e, limb1: 0x487bac84aefe5d55d2a30b7a, limb2: 0x20e3fb5256c8d763, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x35c8cadc752441768726e970, limb1: 0x3be347b593060932330834a9, limb2: 0x4c57c3f33e14072, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d200e12810562ac0bc99694, limb1: 0x350f171f3f0bc347aa0be283, limb2: 0x243ee4adf3ea66c5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb8ca5d60ca9c137fd484ee0c, limb1: 0xb4c53efdb300aebd952f7a7, limb2: 0x173c11f4a19d313f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdf68dc78906c44847536a240, limb1: 0xa6bbd9ceb18275da98d88a68, limb2: 0x11b898e607064ade, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x6f0aaf5b805720e403eddcdc, limb1: 0x11afb25fbfae966d38aea0d6, limb2: 0xc14f6e4a6a37797, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x712f22263ef5e91c488b0722, limb1: 0xbf68443cfd66208b1f0a2b4e, limb2: 0x19990ced3afb3faa, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -80790,7 +80790,7 @@ mod msm_tests { limb0: 0x48c8946a24cb60456d420600, limb1: 0x9ed381bdd7c9eeb7bafa2d1, limb2: 0xa24e6a0b6a74206, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -80800,48 +80800,48 @@ mod msm_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x1521f387af19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x1521f387af19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x28fcb26f9c6316b950f244556f25e2a2, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 0, ); assert!( res == G1Point { @@ -80849,15 +80849,15 @@ mod msm_tests { limb0: 0x21725fdb9f487676e547051, limb1: 0xc23930e4f96498a77a316418, limb2: 0x1244cb13309195ed, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6251c487cf0f5a44ac24a45b, limb1: 0xf1db336c10ce7fae206dd8dd, limb2: 0x1da9c56792006d76, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -80865,27 +80865,27 @@ mod msm_tests { #[test] fn test_msm_BLS12_381_1P_edge_case() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -80893,7 +80893,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -80901,7 +80901,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -80912,9 +80912,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -80922,35 +80922,35 @@ mod msm_tests { limb0: 0x64c9ef86686ed7cb0fa42251, limb1: 0x17c282e8624e1788ff8fbc5b, limb2: 0x712b5be5bb66eb8f72af3c9c, - limb3: 0xc182b0f0e8d6cf017feeb4d + limb3: 0xc182b0f0e8d6cf017feeb4d, }, g_rhs_sqrt: array![ u384 { limb0: 0x5c35d2ca01541a34fb66d844, limb1: 0xda7b85c12db291e5c2c802b2, limb2: 0x5987ec0b8e681de8e6dd0e3c, - limb3: 0x1d4ef28e7e9c0cae8144b52 - } + limb3: 0x1d4ef28e7e9c0cae8144b52, + }, ] .span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -80959,7 +80959,7 @@ mod msm_tests { fn test_msm_BLS12_381_2P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -81128,23 +81128,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -81152,7 +81152,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -81161,7 +81161,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -81170,7 +81170,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -81182,9 +81182,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -81192,7 +81192,7 @@ mod msm_tests { limb0: 0xa9125be5f17f34ce6de5896b, limb1: 0x77ff67ddaf6b61c4088ee57a, limb2: 0xb4940789dbaf29c60e3ae417, - limb3: 0xbab38248ecf0eb99f06ac59 + limb3: 0xbab38248ecf0eb99f06ac59, }, g_rhs_sqrt: array![].span(), }; @@ -81202,37 +81202,37 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x12cfa194e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x12cfa194e6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -81241,7 +81241,7 @@ mod msm_tests { fn test_msm_BLS12_381_3P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -81408,7 +81408,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -81578,10 +81578,10 @@ mod msm_tests { 0x1, 0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -81589,42 +81589,42 @@ mod msm_tests { limb0: 0xf6a31a9a41fd0378150dc360, limb1: 0x7a355df87079a4cf4c78fd36, limb2: 0xbd92b81f9f87a14ded17256e, - limb3: 0x1259b26908470ad4f6be037c + limb3: 0x1259b26908470ad4f6be037c, }, y: u384 { limb0: 0xfbe2abbd7e05b561703438fe, limb1: 0x892d1cc404bcc0c000d206cf, limb2: 0x962b60138682dd48428b2a8d, - limb3: 0xa68b20ba71d8fde199d485b - } + limb3: 0xa68b20ba71d8fde199d485b, + }, }, Q_high: G1Point { x: u384 { limb0: 0x7c866be61fbaed5ef7d1122e, limb1: 0x7fed89acb87ce49d38175a6f, limb2: 0x30dbb6ee5876fa6873045668, - limb3: 0x60c4285948cc11859881060 + limb3: 0x60c4285948cc11859881060, }, y: u384 { limb0: 0x5a931aaa036da6ee08c49738, limb1: 0x1c92b3a560ce474174cfa275, limb2: 0xa4f783dad6c9da34040c6553, - limb3: 0x8d9752128e5b2be6254e2b - } + limb3: 0x8d9752128e5b2be6254e2b, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x663acbe46ab1edf9e0302ddb, limb1: 0x133eafb6b82660d39354a91b, limb2: 0xec9146f8b18f4ccfa8f938e, - limb3: 0x1127139158d2558af3ede6c1 + limb3: 0x1127139158d2558af3ede6c1, }, y: u384 { limb0: 0x2e2dc7b89be127d3eee7e15f, limb1: 0xb9b688b1096640c721587415, limb2: 0xd09f1d870e1c2d4e08674d2b, - limb3: 0x12308a0685f2c08876496459 - } + limb3: 0x12308a0685f2c08876496459, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -81632,28 +81632,28 @@ mod msm_tests { limb0: 0xeb35755831b8b274a72187ca, limb1: 0x619d73fdc8ca106f251bb23f, limb2: 0x83526e9a98267e300003744c, - limb3: 0x74e843f7fd9b3c1eb4f8a71 + limb3: 0x74e843f7fd9b3c1eb4f8a71, }, u384 { limb0: 0x263294ccc2a97ffb2ec76a8e, limb1: 0xd158f356f93267263354d7e2, limb2: 0x714889219b424296b85139b5, - limb3: 0xa8f3019b0a505d2ffd1caac + limb3: 0xa8f3019b0a505d2ffd1caac, }, u384 { limb0: 0xbf917add7208b045d906ff3f, limb1: 0xcd23d9673211a97506787efc, limb2: 0x7179e6dc54430c65b26530b3, - limb3: 0x17bb9453c160e11d98066ff9 + limb3: 0x17bb9453c160e11d98066ff9, }, u384 { limb0: 0xebd56ed5f538ae24aa8dc0e2, limb1: 0x3ba413917f065ec7e45c2721, limb2: 0xa9b1360228e4503e35364d2b, - limb3: 0x1301d2f14e9626ee2309422 + limb3: 0x1301d2f14e9626ee2309422, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -81661,29 +81661,29 @@ mod msm_tests { limb0: 0x9b4aac8938de0d6d29299aec, limb1: 0xed00b7c2b8d648ca0d5cb5bc, limb2: 0xa052f33dafe080f320f1ff8e, - limb3: 0xa83d431853448de44c440fa + limb3: 0xa83d431853448de44c440fa, }, u384 { limb0: 0xc5a014c4a628fb418afdc431, limb1: 0xff1bc5487dcfd4fac800f591, limb2: 0xf09802d0f98c9a1e7d8b3326, - limb3: 0x125f173ee992bebf294f042f + limb3: 0x125f173ee992bebf294f042f, }, u384 { limb0: 0xb9100f1617268243b95b9208, limb1: 0xb1f5e20e709d1d7cf3b2d087, limb2: 0x39c86f0b79ca465e49a95325, - limb3: 0x1269c9e792e7575a1b407349 + limb3: 0x1269c9e792e7575a1b407349, }, u384 { limb0: 0x2cb2b76ffc0a57eef2f100c5, limb1: 0x8c7ae8ef5688c4968d0ade85, limb2: 0xf0719994ff5b34265dca49d0, - limb3: 0x141860f0e8a032121ffd28c2 + limb3: 0x141860f0e8a032121ffd28c2, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -81691,34 +81691,34 @@ mod msm_tests { limb0: 0xda7bc5a089fc35de52b5ab6d, limb1: 0x374d31abeda2bc7d1fa3314b, limb2: 0xdc9b575368802cb064ea215d, - limb3: 0x586829f9bf69e05abd324e6 + limb3: 0x586829f9bf69e05abd324e6, }, u384 { limb0: 0xdf7cbeaa6d31e6304e21b449, limb1: 0x98191ab75477b88d9100a3b0, limb2: 0xaccec7142afafc55a16d5a5d, - limb3: 0x2145b524c0790e06e301e66 + limb3: 0x2145b524c0790e06e301e66, }, u384 { limb0: 0xc03bb07a666edb299db815a6, limb1: 0xfc9f8e6a16f220fde529492c, limb2: 0xa907065eb5bf6b0eb40cf236, - limb3: 0x1149cca478baba09dee1d533 + limb3: 0x1149cca478baba09dee1d533, }, u384 { limb0: 0x8e5d1fd64b21b819208b11ea, limb1: 0x66e777b31da1abe09cc24423, limb2: 0x426e7a0bf850c1501a08cee7, - limb3: 0x7dbacd73a097db82eaceab9 + limb3: 0x7dbacd73a097db82eaceab9, }, u384 { limb0: 0x7b6589cb116ffb6c5cd73707, limb1: 0xa62d2451aecbbdb4a8c8ed99, limb2: 0xca0de292aeae27f922326d89, - limb3: 0xd8a62ad9db2e6794979a947 + limb3: 0xd8a62ad9db2e6794979a947, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -81726,49 +81726,49 @@ mod msm_tests { limb0: 0xbbd6b225297935b4a4a6c105, limb1: 0x4cd20c69eca82d0416c6d6f3, limb2: 0x3e00201f5b0ab8479042eb7c, - limb3: 0x100e3edbdb513cdec7f55c34 + limb3: 0x100e3edbdb513cdec7f55c34, }, u384 { limb0: 0xb3d8531324a5ed062bf7bb6e, limb1: 0x2e0d6fe009dd67a2e2abd649, limb2: 0x3bc8b1951d43d1700f22a71d, - limb3: 0x157a3927334b2dc80f04c153 + limb3: 0x157a3927334b2dc80f04c153, }, u384 { limb0: 0x81983c58e89c090ee56ef2ca, limb1: 0xf975e2f7d51289ab91734221, limb2: 0x608a627f1e3a826f3f9b2717, - limb3: 0x15a503c9d89d9033d6ca7db8 + limb3: 0x15a503c9d89d9033d6ca7db8, }, u384 { limb0: 0x3a198a49fb0a6d28f4ee9dff, limb1: 0xe959e39d2ee678b7e5842fd5, limb2: 0x9836530b7fe76efdbd8bee92, - limb3: 0xce222367b355d57e365ece3 + limb3: 0xce222367b355d57e365ece3, }, u384 { limb0: 0xc5a014c4a628fb418afdc435, limb1: 0xff1bc5487dcfd4fac800f591, limb2: 0xf09802d0f98c9a1e7d8b3326, - limb3: 0x125f173ee992bebf294f042f + limb3: 0x125f173ee992bebf294f042f, }, u384 { limb0: 0xb9100f1617268243b95b9208, limb1: 0xb1f5e20e709d1d7cf3b2d087, limb2: 0x39c86f0b79ca465e49a95325, - limb3: 0x1269c9e792e7575a1b407349 + limb3: 0x1269c9e792e7575a1b407349, }, u384 { limb0: 0x2cb2b76ffc0a57eef2f100c5, limb1: 0x8c7ae8ef5688c4968d0ade85, limb2: 0xf0719994ff5b34265dca49d0, - limb3: 0x141860f0e8a032121ffd28c2 + limb3: 0x141860f0e8a032121ffd28c2, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -81776,7 +81776,7 @@ mod msm_tests { limb0: 0xdd789d7c02428dc60246d081, limb1: 0xc9de1388dd3a5eaff5de8784, limb2: 0x6eac6c37a0a90e65dd33fbc8, - limb3: 0x89f38f13155da73ef366afc + limb3: 0x89f38f13155da73ef366afc, }, g_rhs_sqrt: array![].span(), }; @@ -81786,48 +81786,48 @@ mod msm_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, G1Point { x: u384 { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x2a43e70faf19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0x2a43e70faf19922ad9b8a714e61a441c, }, u256 { - low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2 + low: 0x5a92118719c78df48f4ff31e78de5857, high: 0x51f964df9c6316b950f244556f25e2a2, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 1, ); assert!( res == G1Point { @@ -81835,15 +81835,15 @@ mod msm_tests { limb0: 0x2b828af1f5fe30bbe7a1074a, limb1: 0x5669beaa69827b52dc874c9f, limb2: 0x648af2c24d82a5a758c96b8e, - limb3: 0x188bc245620ae6b6afec9dc3 + limb3: 0x188bc245620ae6b6afec9dc3, }, y: u384 { limb0: 0xdc96192f803ef92f56d59758, limb1: 0xfc6139925c05a030065d564, limb2: 0xb24447300bec56efec94dcf4, - limb3: 0x156f97e5d31055c0a5fe154d - } - } + limb3: 0x156f97e5d31055c0a5fe154d, + }, + }, ); } @@ -81851,27 +81851,27 @@ mod msm_tests { #[test] fn test_msm_SECP256R1_1P_edge_case() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -81879,7 +81879,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -81887,7 +81887,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -81898,9 +81898,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -81908,27 +81908,27 @@ mod msm_tests { limb0: 0x3ca5552c96ec2a5049d28426, limb1: 0xc8669717174b973f4de5a646, limb2: 0x4fbfb38ec0c14e6e, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -81937,7 +81937,7 @@ mod msm_tests { fn test_msm_SECP256R1_2P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -82108,23 +82108,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -82132,7 +82132,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -82141,7 +82141,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -82150,7 +82150,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -82162,9 +82162,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -82172,21 +82172,21 @@ mod msm_tests { limb0: 0xcab2bdb49d36853afc772e84, limb1: 0x9388d6adcd576a1b6ae83895, limb2: 0x4a4640dc5b206990, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xa65fee3201baba3b9c2f59b5, limb1: 0x1ff3274e058360d6b1e64db3, limb2: 0x2af2ec2fe4bf31ee, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xda5e742b60f13ba9478a5085, limb1: 0x4ef5a3a77cc1f80dedc41ae6, limb2: 0x511bc713034c93d4, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -82196,37 +82196,37 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639 + low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -82235,7 +82235,7 @@ mod msm_tests { fn test_msm_SECP256R1_3P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -82404,7 +82404,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -82574,10 +82574,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -82585,42 +82585,42 @@ mod msm_tests { limb0: 0xf831856624736393b3b76d11, limb1: 0xc165a27df5b76589fe2ce1e2, limb2: 0x2a23444ace6bef77, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xa6bbeec6fb0369c3de339579, limb1: 0xd394f6a5704d1de2da06048, limb2: 0xe8057073c0fde87b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x3b1d72dc227f75f02874e08b, limb1: 0xd395fa7c14d6ff33d03e1baf, limb2: 0xbf16fcc65f95b486, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe2461ebbe7a5b4d76dbef92b, limb1: 0x3eecb75c5315cd3d2d0b9456, limb2: 0x8192517353bc6523, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0xcff970bda4db69dac06ebad8, limb1: 0xdee4204cca252abd67132509, limb2: 0xa79c0006b6ca7fab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x759642b853dd01b9d2d7bb18, limb1: 0xe1e1d2f8bf0f2f5b463bfae0, limb2: 0xbc3c71be130f204d, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -82628,28 +82628,28 @@ mod msm_tests { limb0: 0x9103bd16e2232359c067051c, limb1: 0x47056dacf5ebc26121584255, limb2: 0x510b978b1c20d16d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3866c583186023310ae6006f, limb1: 0x94b09aee6293fdcebd256a74, limb2: 0xe9964a385943e6e7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4e66f352e983f05cd787905a, limb1: 0x23e4fc7f433c2785b079f227, limb2: 0x6b71075ebbeffe51, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x8d716d3dc708179fd42941cc, limb1: 0xd8e4a54aef03a57c0c4a1845, limb2: 0xed1182498b974526, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -82657,29 +82657,29 @@ mod msm_tests { limb0: 0x32f47eb672f5bb330a73bb4a, limb1: 0x1a8091c6f1f3893bc55d0fa5, limb2: 0x8f7089d778e965c2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc7a8f052fc045a7c4ceff3e, limb1: 0x8b14021f73a80543f9ad14a3, limb2: 0x508a2680c93698e4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc72a135b2aaa8dee44f9400, limb1: 0x9f66c7f22c15ecf4bac82c86, limb2: 0x6724ac9ffc3487b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x28b8828023437a8d6e45900c, limb1: 0x490cdc11b822023a5eedbb11, limb2: 0xcf427b32bdfa36c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -82687,34 +82687,34 @@ mod msm_tests { limb0: 0xc31b8bfe95c99a953dfbeabd, limb1: 0xe63b42304b4dc475c331d5ac, limb2: 0x499b1e200475197c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf166baa3bc64785c42f2e9eb, limb1: 0xd575ea7fa8f28aaa7a9b0f64, limb2: 0x128864b271e1ebf2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x116db906aee291051c9ce08, limb1: 0x2943633ba402debefac3b9a0, limb2: 0x36d5e25b3ef465fb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x525c3dbd1864649780b5a73e, limb1: 0x65b5ed8ec92dd969aa336caa, limb2: 0x3f69b099f8b6619c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdcb8bc014e35c6d4febb77c9, limb1: 0x25ffc8096d6e87b1e76b8e6e, limb2: 0x45eaa89a67cda802, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -82722,49 +82722,49 @@ mod msm_tests { limb0: 0xbeada704feb34546e4301ab0, limb1: 0x5b533141bf8fd64c6afe4bd9, limb2: 0x4e4368ec25ed3c45, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a26c33296a4cf0e96b4d599, limb1: 0x27f1e1d4a919a68c6edaf9df, limb2: 0x7e1cc39a4fc825b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xa37d8288f41c6ce32ecb17e2, limb1: 0x56f36c3517bd230fefdbda97, limb2: 0xde1b03a23f8bb59e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x9d3ed76f0cda7c44b1892480, limb1: 0xad525772678432d3dd0efe6, limb2: 0x1e5683ea757beea2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x5ea4b87b01c4123da1d0af63, limb1: 0x63d92b3fc1da85514200ea22, limb2: 0x3d88eabf39828878, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfc72a135b2aaa8dee44f93fd, limb1: 0x9f66c7f22c15ecf4bac82c86, limb2: 0x6724ac9ffc3487b8, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x28b8828023437a8d6e45900c, limb1: 0x490cdc11b822023a5eedbb11, limb2: 0xcf427b32bdfa36c7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -82772,7 +82772,7 @@ mod msm_tests { limb0: 0x4d4cd96c2a9c3eeb03a36099, limb1: 0x68066c4db63f81f0b9abcbb6, limb2: 0x3cf75d802ff73183, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -82782,48 +82782,48 @@ mod msm_tests { limb0: 0x113c8d620e3745e45e4389b8, limb1: 0x85b8ff52d905fd02fe191c3f, limb2: 0xf5d132d685201517, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x60c0ba1b358f375b2362662e, limb1: 0x6abfc829d93e09aa5174ec04, limb2: 0x7bc4637aca93cb5a, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xd3ff147ff0ee4213f51f677d, limb1: 0x431366a7732a6e4a6b942255, limb2: 0x9fe743b25d39a591, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x7f8bb562ff60a902ef14bcb0, limb1: 0xeb9420089fa531db62e806a6, limb2: 0xfd028df433dfd5cc, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613 + low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613, }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 3, ); assert!( res == G1Point { @@ -82831,15 +82831,15 @@ mod msm_tests { limb0: 0x33ee7695471a03192ef22266, limb1: 0xb449dd8cfd0c3438e14a718c, limb2: 0x1fbb33f079b828e2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xb411f97aeec2eae6044122ec, limb1: 0xcdce180b60667260d7ce284e, limb2: 0xa73a7381dd3b07c, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -82847,27 +82847,27 @@ mod msm_tests { #[test] fn test_msm_SECP256K1_1P_edge_case() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -82875,7 +82875,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -82883,7 +82883,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -82894,9 +82894,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -82904,27 +82904,27 @@ mod msm_tests { limb0: 0x69588367250041f054620d3b, limb1: 0x1174ea4879bb0b580868e8e8, limb2: 0x7ea9eb687089d547, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -82933,7 +82933,7 @@ mod msm_tests { fn test_msm_SECP256K1_2P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x1, @@ -83104,23 +83104,23 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -83128,7 +83128,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -83137,7 +83137,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -83146,7 +83146,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -83158,9 +83158,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -83168,15 +83168,15 @@ mod msm_tests { limb0: 0x862bbbc7625bb23fe3ee10f0, limb1: 0x868baf0626c044f9a077a0ca, limb2: 0x155e74b122885e85, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x610f7ffe1889436670829e43, limb1: 0xb1f2329808ffbbfd2a7fce4c, limb2: 0x56c9e223dae04be9, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -83186,37 +83186,37 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639 + low: 0xeb1167b367a9c3787c65c1e582e2e662, high: 0xf7c1bd874da5e709d4713d60c8a70639, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -83225,7 +83225,7 @@ mod msm_tests { fn test_msm_SECP256K1_3P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ -0x1, @@ -83394,7 +83394,7 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ( array![ @@ -83564,10 +83564,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -83575,42 +83575,42 @@ mod msm_tests { limb0: 0x81f93764cd87ff5af9aad87f, limb1: 0x8aa0792747a5b8ca16b9e369, limb2: 0xce30fe4be7b17451, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5b77703ae4639b17cfca6124, limb1: 0x86b771c3a15eee8b1ca9feaa, limb2: 0x5acc99b6152d28a4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0xff8927eca139c99d7960c8ef, limb1: 0xec91eee7a0301418e07f41fc, limb2: 0xb49b07479d1c26aa, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xe496c28fbc13ed8a0324b632, limb1: 0x2d5583856241be833fec7c9d, limb2: 0xff1c723bbb39f40b, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x3efedfaf5b7ce0a80c4fa5a1, limb1: 0x2c16205bc2efe9dcc6eefa9a, limb2: 0x3f2cefb8efbcc695, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xc3eeedd13fa2c621a214d57, limb1: 0x5e42015603c2cf1a184c7bdb, limb2: 0x8ab02685472a4433, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -83618,28 +83618,28 @@ mod msm_tests { limb0: 0x20a01cfce8a5bce328cd8cb6, limb1: 0x611f3fb42b516f17cb0584f8, limb2: 0x763b2c950e4c198e, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x462d15939fcd221751c6ac8b, limb1: 0x946592683858eab6a9652826, limb2: 0xa1544fca41ad8c11, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x31f0a0eca245552ecd7315f8, limb1: 0xf2429ee89609dddcb454a01b, limb2: 0x2c1624c1c090dd7d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc709d17953074ae5eadde9bc, limb1: 0xeb446dc59a11fc094796dd40, limb2: 0x47408b85eea80d47, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -83647,29 +83647,29 @@ mod msm_tests { limb0: 0xb491b2471055bcbdd1dbef77, limb1: 0xb90603fde64b1a2ce0b61eca, limb2: 0xb4aaae5c76b88642, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3eba2b268c80681c5c311e90, limb1: 0xf11a024b8e0531687340bd0b, limb2: 0xc1b2df975bb5b863, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2eaecbac827c9f309771dbcd, limb1: 0x4f246630ea9180999a632579, limb2: 0x39f4d03f54586bae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4180fbf542589c18eb2d7044, limb1: 0xced4c189fdc0356f499c8870, limb2: 0x7b2973b1222292cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -83677,34 +83677,34 @@ mod msm_tests { limb0: 0x875809d83e33cb3b603309aa, limb1: 0x6ad6d4a704b31d0441fad306, limb2: 0xe478235415e659d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc29722eb23a6c51f15c5b6b7, limb1: 0xcaad40fc21df62667f2f7c9f, limb2: 0x283d3160bb315f86, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4524bfca28d2a6c6ba96c39, limb1: 0xa35f0c26665675ff32ee3a9c, limb2: 0x92cb938207ec8ab2, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x151c89d4b8f7c9e45b67a274, limb1: 0x5a281d2133f588c400ee55b1, limb2: 0x53876cce8038fdba, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7ac4deddb182928226db63f1, limb1: 0xb766e28c02e373347c52e9b0, limb2: 0x4a7ea9b2ab26031a, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -83712,49 +83712,49 @@ mod msm_tests { limb0: 0xeffbdff172582934bd039b85, limb1: 0xf2a1bf14c0db73a24fad78a, limb2: 0xf0aac4873f0babd3, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xb7172e0dd782d8cb8557e905, limb1: 0x97b61010e22459db26c52b4e, limb2: 0x4be41d2381f80abb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x46c791b791685a55241d066c, limb1: 0x29fecb5669fa843338b60650, limb2: 0x95b1b1bb4e6af1c4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x7f1895fbe0c20170401a1097, limb1: 0x60d74ec3d68c9037e3fdd9dc, limb2: 0x12ccd83465aa89d5, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3eba2b268c80681c5c311e97, limb1: 0xf11a024b8e0531687340bd0b, limb2: 0xc1b2df975bb5b863, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x2eaecbac827c9f309771dbcd, limb1: 0x4f246630ea9180999a632579, limb2: 0x39f4d03f54586bae, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4180fbf542589c18eb2d7044, limb1: 0xced4c189fdc0356f499c8870, limb2: 0x7b2973b1222292cb, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -83762,15 +83762,15 @@ mod msm_tests { limb0: 0x2c77bb8f219c4f86d830378a, limb1: 0x7762e343071b3889761f79fb, limb2: 0x96e3952b500641, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x9d1cd65376303ffbede41478, limb1: 0xc58c82a3af69a89f7f34d76, limb2: 0x4446aa183d69a768, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -83780,48 +83780,48 @@ mod msm_tests { limb0: 0x393dead57bc85a6e9bb44a70, limb1: 0x64d4b065b3ede27cf9fb9e5c, limb2: 0xda670c8c69a8ce0a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x789872895ad7121175bd78f8, limb1: 0xc0deb0b56fb251e8fb5d0a8d, limb2: 0x3f10d670dc3297c2, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0xfdfdc509f368ba4395773d3a, limb1: 0x8de2b60b577a13d0f83b578e, limb2: 0xc2dd970269530ba2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x589fa250d638e35400c12ddf, limb1: 0xb3aac19fcb5095808402aa7f, limb2: 0xed6de6590d0195d1, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613 + low: 0xe443df789558867f5ba91faf7a024204, high: 0x23a7711a8133287637ebdcd9e87a1613, }, u256 { - low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c + low: 0x1846d424c17c627923c6612f48268673, high: 0xfcbd04c340212ef7cca5a5a19e4d6e3c, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 2, ); assert!( res == G1Point { @@ -83829,15 +83829,15 @@ mod msm_tests { limb0: 0x55909ba28af82ea934a4b85d, limb1: 0x4bf448ca5d57fb119c843e0a, limb2: 0x6a2275491b991ee3, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x5bf4bf0cefc9553422e60eb0, limb1: 0x178d55925d3d72f44783f626, limb2: 0xe13a21d7302f8139, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -83845,27 +83845,27 @@ mod msm_tests { #[test] fn test_msm_ED25519_1P_edge_case() { let scalars_digits_decompositions = Option::Some( - array![(array![0x0,].span(), array![0x0,].span()),].span() + array![(array![0x0].span(), array![0x0].span())].span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -83873,7 +83873,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -83881,7 +83881,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -83892,9 +83892,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -83902,35 +83902,35 @@ mod msm_tests { limb0: 0x1e98736cf961394cfa6dfe5e, limb1: 0xd7fb6593bc4d484738ba5ff9, limb2: 0x3133b3e2100f63a6, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0x785094dfbbba459c666beaef, limb1: 0x55c307610d1a86f697251ba6, limb2: 0x3a9bf57c2d1f3f50, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; let points = array![ G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); - let scalars = array![u256 { low: 0x0, high: 0x0 },].span(); + let scalars = array![u256 { low: 0x0, high: 0x0 }].span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -83939,7 +83939,7 @@ mod msm_tests { fn test_msm_ED25519_2P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -84106,23 +84106,23 @@ mod msm_tests { 0x0, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -84130,7 +84130,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -84139,7 +84139,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -84148,7 +84148,7 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -84160,9 +84160,9 @@ mod msm_tests { u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -84170,21 +84170,21 @@ mod msm_tests { limb0: 0x732ddc8e2cc76b36024c51f4, limb1: 0xc4691da0ba50feaacb01549d, limb2: 0x3b4ce309a9762fe, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![ u384 { limb0: 0xeb61555ff2e8eab1c46d48bd, limb1: 0x470b0eae7200060f8562df1c, limb2: 0x1e45be405dcbf244, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xf4bfa5b3cc5f0d550830ebba, limb1: 0x60db6b1216fe71b94bfc06f8, limb2: 0x253e2357d973bcd8, - limb3: 0x0 - } + limb3: 0x0, + }, ] .span(), }; @@ -84194,37 +84194,37 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x4b3e865e6f4590b9a164106cf6a659e + low: 0xb4862b21fb97d43588561712e8e5216a, high: 0x4b3e865e6f4590b9a164106cf6a659e, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -84233,7 +84233,7 @@ mod msm_tests { fn test_msm_ED25519_3P_edge_case() { let scalars_digits_decompositions = Option::Some( array![ - (array![0x0,].span(), array![0x0,].span()), + (array![0x0].span(), array![0x0].span()), ( array![ 0x0, @@ -84399,7 +84399,7 @@ mod msm_tests { 0x0, 0x1, ] - .span() + .span(), ), ( array![ @@ -84567,10 +84567,10 @@ mod msm_tests { -0x1, -0x1, ] - .span() + .span(), ), ] - .span() + .span(), ); let msm_hint = MSMHint { Q_low: G1Point { @@ -84578,42 +84578,42 @@ mod msm_tests { limb0: 0x6889d75e36c152c1cc46f152, limb1: 0xab6c91609cc41b1c6148652e, limb2: 0x6d04cda48b959e7b, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xd12689aa4a75942f20369ac5, limb1: 0x5d6ae4c0a9977c4e19538008, limb2: 0x101fd900dd268a39, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high: G1Point { x: u384 { limb0: 0x4cf7cf1e83ac6ddeb4c0d88, limb1: 0xdf032c7d359dec2b1b30b922, limb2: 0x1b4e7ef7358304ab, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x90887d2f101702d94aa5377f, limb1: 0x3fdfadebd967a872d02af758, limb2: 0x2ea0b09931ec6dc4, - limb3: 0x0 - } + limb3: 0x0, + }, }, Q_high_shifted: G1Point { x: u384 { limb0: 0x506c121a6c7fd9aa60e121a3, limb1: 0x23b636b641b29ef8bdd1c639, limb2: 0x791b6ec60b5f8598, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x59f9c615c1fecf831ca3b5fc, limb1: 0x2f6fb1f6358caa9cb6f8c9f7, limb2: 0x6e62064b941a23df, - limb3: 0x0 - } + limb3: 0x0, + }, }, RLCSumDlogDiv: FunctionFelt { a_num: array![ @@ -84621,28 +84621,28 @@ mod msm_tests { limb0: 0xe69974737b88f1268fe9aaae, limb1: 0x8c1559e40bcf30fa0bd7903c, limb2: 0x4b532cae5bfa2c57, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xfa9035e798d15baf399b3b7d, limb1: 0x8e289acf0c43e298455b089c, limb2: 0x5e626a1eb94c848c, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x654e97c8202baacafd347411, limb1: 0xbbc95eee2c80600c3e370615, limb2: 0x125df9e9282cba82, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x183a985c65551f6ba3d83980, limb1: 0x134ad9dbc6c8c9ef9842342a, limb2: 0x3a6b860a6754781f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -84650,29 +84650,29 @@ mod msm_tests { limb0: 0xe1dd890ca42bb6787953ac8e, limb1: 0xd1043346a7687fcd1c173684, limb2: 0x25ac41ef53a8b264, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1a927f53bc1929ea47a340ce, limb1: 0x1d066482260ad25a944af22a, limb2: 0x5099f019034be8fe, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xdd8253ada22de2f45fdf5202, limb1: 0x5441006694aef1a85b444399, limb2: 0x235d0862dfa6cdf4, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf55f655e635b433fffa06df, limb1: 0x9529a92891026d5feaca56b6, limb2: 0x66f328ef9578380b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -84680,34 +84680,34 @@ mod msm_tests { limb0: 0xff4a7e8b7f2cfcdbcee5a4b1, limb1: 0xe12c1714e746fb90fbaacda2, limb2: 0x74e32598c1f69b37, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xec4097839b45ff546026a0c2, limb1: 0xae7581a88eae4a5053b8f9dc, limb2: 0x39c19c5066a7bb2b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xe66b928f5f906da6b564a19, limb1: 0xe6eb535ca7ed037f82d2c152, limb2: 0x71e49573bad6c71d, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x3c366ce7ca838787367666b9, limb1: 0xe4fe0f13556bcdf6e6ed8414, limb2: 0x7242e8cce5ff3b6f, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xc199caa040b67c0c31530366, limb1: 0x862fb1b3977b470bdf71fa33, limb2: 0x56f64010ec27341b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_den: array![ @@ -84715,49 +84715,49 @@ mod msm_tests { limb0: 0x5c9b04b3b245e09a4194094c, limb1: 0xdd37f3697ab22b9010a7a63, limb2: 0x5128c8fdc31f7a9, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x823a7a3274ed4f8afd3da5ad, limb1: 0x97bab3dd38c5e707cb7b2c8, limb2: 0x5a9b9fb5a904e5b7, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x136a754b8e6ef4fbbdb2c19c, limb1: 0xccb7829961063c89b98962cb, limb2: 0x72b6443d8587b85b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x4d61d2ba560cb6cdace82b43, limb1: 0x4ec094a713c7dd9c57d2239e, limb2: 0x6d86d878336d2975, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x64419bccfa5228f31d1d0868, limb1: 0x3d89f6514c52a71529d25b3e, limb2: 0x6282237340916256, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xea277ea54e9fc483589b6942, limb1: 0x85d8e173f62a2f7ec6fcf9f6, limb2: 0xabb53685608cda, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0xbf55f655e635b433fffa06df, limb1: 0x9529a92891026d5feaca56b6, limb2: 0x66f328ef9578380b, - limb3: 0x0 + limb3: 0x0, }, u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }; let derive_point_from_x_hint = DerivePointFromXHint { @@ -84765,7 +84765,7 @@ mod msm_tests { limb0: 0x6fd4e3f593a17ba71159d847, limb1: 0x1118616a869823a48ad75add, limb2: 0x15473f9ff2346518, - limb3: 0x0 + limb3: 0x0, }, g_rhs_sqrt: array![].span(), }; @@ -84775,48 +84775,48 @@ mod msm_tests { limb0: 0x7238f02b9f20e09c2181a557, limb1: 0x2cedcc5b0be371c337fd7e9e, limb2: 0x41f3bbeb280fe8a2, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xf046f8cd6e5a75fca71dd19b, limb1: 0x892b4613ef5c58df4ef692a4, limb2: 0x7527fa36f5738847, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x82e4a33f8e4e5881e791d86b, limb1: 0xbcb062435ae8ec5fdaeac4bf, limb2: 0x179e1bae9e0f9f34, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x19657783ba5660e255c21849, limb1: 0x7ed7474bcea7551fc71e46bc, limb2: 0x596c0a76b75f4756, - limb3: 0x0 - } + limb3: 0x0, + }, }, G1Point { x: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(); let scalars = array![ u256 { low: 0x0, high: 0x0 }, u256 { - low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0xa90f9c3af19922ad9b8a714e61a441c + low: 0x12e0c8b2bad640fb19488dec4f65d4d9, high: 0xa90f9c3af19922ad9b8a714e61a441c, }, u256 { - low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6 + low: 0xeb2083e6ce164dba0ff18e0242af9fc3, high: 0x2fc154703983ca8ea7e9d498c778ea6, }, ] .span(); let res = msm_g1( - scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4 + scalars_digits_decompositions, msm_hint, derive_point_from_x_hint, points, scalars, 4, ); assert!( res == G1Point { @@ -84824,15 +84824,15 @@ mod msm_tests { limb0: 0xf7d884feff5aba51d9990dce, limb1: 0x999f1d302046c6266257ff5, limb2: 0x7f9caa5ee5815899, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x6d71279424538e87f8ecf2cc, limb1: 0x8a8a1d74581da5996a52bbaf, limb2: 0x29acff692eccea25, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } } diff --git a/src/src/tests/pairing_tests.cairo b/src/src/tests/pairing_tests.cairo index 73d17b11..63c5f9ad 100644 --- a/src/src/tests/pairing_tests.cairo +++ b/src/src/tests/pairing_tests.cairo @@ -18,41 +18,41 @@ mod pairing_tests { limb0: 0xcdb6d03cb7b9a5409b7efcd8, limb1: 0xd1df87eab84852372b905c9c, limb2: 0x1d0634f3f21e7890, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaa1d4f4d3021032564460978, limb1: 0xeb3f1d6ba3b10e2b53dc193b, limb2: 0x24c53532773dce26, - limb3: 0x0 - } + limb3: 0x0, + }, }, q: G2Point { x0: u384 { limb0: 0xf75edadd46debd5cd992f6ed, limb1: 0x426a00665e5c4479674322d4, limb2: 0x1800deef121f1e76, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0x35a9e71297e485b7aef312c2, limb1: 0x7260bfb731fb5d25f1aa4933, limb2: 0x198e9393920d483a, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0xc43d37b4ce6cc0166fa7daa, limb1: 0x4aab71808dcb408fe3d1e769, limb2: 0x12c85ea5db8c6deb, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0x70b38ef355acdadcd122975b, limb1: 0xec9e99ad690c3395bc4b3133, limb2: 0x90689d0585ff075, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, }; let pair1: G1G2Pair = G1G2Pair { p: G1Point { @@ -60,3914 +60,3914 @@ mod pairing_tests { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }, q: G2Point { x0: u384 { limb0: 0x335eb0538f718d8e6651eeb1, limb1: 0x635e573808d9d5c7178bdce7, limb2: 0x1314aaf1c372e6d7, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0x5289f29ccc5acf5e81526673, limb1: 0x2d4aba9e1448a8cc1048d01a, limb2: 0x14c25d3aec745e5a, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x10d1d0efd5869ecd23aab8e9, limb1: 0xba7d1de6d86501d49b6a8dab, limb2: 0x397391b7b25e2f, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0x385a553ea12434f4eda6db36, limb1: 0xb058c1ff7e4c5c7ec7e5859b, limb2: 0x1863ac65eca09e89, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, }; let lines = array![ G2Line { r0a0: u288 { limb0: 0x4d347301094edcbfa224d3d5, limb1: 0x98005e68cacde68a193b54e6, - limb2: 0x237db2935c4432bc + limb2: 0x237db2935c4432bc, }, r0a1: u288 { limb0: 0x6b4ba735fba44e801d415637, limb1: 0x707c3ec1809ae9bafafa05dd, - limb2: 0x124077e14a7d826a + limb2: 0x124077e14a7d826a, }, r1a0: u288 { limb0: 0x49a8dc1dd6e067932b6a7e0d, limb1: 0x7676d0000961488f8fbce033, - limb2: 0x3b7178c857630da + limb2: 0x3b7178c857630da, }, r1a1: u288 { limb0: 0x98c81278efe1e96b86397652, limb1: 0xe3520b9dfa601ead6f0bf9cd, - limb2: 0x2b17c2b12c26fdd0 - } + limb2: 0x2b17c2b12c26fdd0, + }, }, G2Line { r0a0: u288 { limb0: 0x7e165b3014d84802bf01484e, limb1: 0x3260b32ceced0b1243d4c84e, - limb2: 0x2d4b148197812cd9 + limb2: 0x2d4b148197812cd9, }, r0a1: u288 { limb0: 0xed50630084c5fc98c14adf76, limb1: 0x8b3e4e11609f5b1ec2a4a3fd, - limb2: 0x9449ebaa6581db4 + limb2: 0x9449ebaa6581db4, }, r1a0: u288 { limb0: 0x6dbbec1fa71f727fad9c2035, limb1: 0x2d74c51612b1473f7a789efb, - limb2: 0x219b1595f2e94586 + limb2: 0x219b1595f2e94586, }, r1a1: u288 { limb0: 0x18b802809d63c96cb122eb63, limb1: 0x971ad93ce0fb9233480bfe98, - limb2: 0x1cf3a36431cdb52c - } + limb2: 0x1cf3a36431cdb52c, + }, }, G2Line { r0a0: u288 { limb0: 0x1b3d578c32d1af5736582972, limb1: 0x204fe74db6b371d37e4615ab, - limb2: 0xce69bdf84ed6d6d + limb2: 0xce69bdf84ed6d6d, }, r0a1: u288 { limb0: 0xfd262357407c3d96bb3ba710, limb1: 0x47d406f500e66ea29c8764b3, - limb2: 0x1e23d69196b41dbf + limb2: 0x1e23d69196b41dbf, }, r1a0: u288 { limb0: 0x1ec8ee6f65402483ad127f3a, limb1: 0x41d975b678200fce07c48a5e, - limb2: 0x2cad36e65bbb6f4f + limb2: 0x2cad36e65bbb6f4f, }, r1a1: u288 { limb0: 0xcfa9b8144c3ea2ab524386f5, limb1: 0xd4fe3a18872139b0287570c3, - limb2: 0x54c8bc1b50aa258 - } + limb2: 0x54c8bc1b50aa258, + }, }, G2Line { r0a0: u288 { limb0: 0xb5ee22ba52a7ed0c533b7173, limb1: 0xbfa13123614ecf9c4853249b, - limb2: 0x6567a7f6972b7bb + limb2: 0x6567a7f6972b7bb, }, r0a1: u288 { limb0: 0xcf422f26ac76a450359f819e, limb1: 0xc42d7517ae6f59453eaf32c7, - limb2: 0x899cb1e339f7582 + limb2: 0x899cb1e339f7582, }, r1a0: u288 { limb0: 0x9f287f4842d688d7afd9cd67, limb1: 0x30af75417670de33dfa95eda, - limb2: 0x1121d4ca1c2cab36 + limb2: 0x1121d4ca1c2cab36, }, r1a1: u288 { limb0: 0x7c4c55c27110f2c9a228f7d8, limb1: 0x8f14f6c3a2e2c9d74b347bfe, - limb2: 0x83ef274ba7913a5 - } + limb2: 0x83ef274ba7913a5, + }, }, G2Line { r0a0: u288 { limb0: 0xea5b6f5d27484414197bb4f9, limb1: 0x85ef928994944d4b53aca242, - limb2: 0x31939f149b07350 + limb2: 0x31939f149b07350, }, r0a1: u288 { limb0: 0x7b21678cb75a8f7e17321dd1, limb1: 0x2d11f7a520e1fd3ed4dcc693, - limb2: 0x271fafb83ad98275 + limb2: 0x271fafb83ad98275, }, r1a0: u288 { limb0: 0xfab5de6d950119972ae0dd12, limb1: 0x8adb80a06ed0111e1d08cb95, - limb2: 0xec938dcee485aa3 + limb2: 0xec938dcee485aa3, }, r1a1: u288 { limb0: 0x4fb9c80c9ebcc2aa275a11e4, limb1: 0x21356c79a085c62a4f756bf9, - limb2: 0x1370ab0eaf63eafd - } + limb2: 0x1370ab0eaf63eafd, + }, }, G2Line { r0a0: u288 { limb0: 0xc0f94eb338d27e3d9c3c54bf, limb1: 0xcbc81234f5e7a25b356780b1, - limb2: 0x2d7855cb075109f7 + limb2: 0x2d7855cb075109f7, }, r0a1: u288 { limb0: 0x284c304021c8efe832d4019, limb1: 0xcf072fe1e6a5712c6939b2e5, - limb2: 0x2aebdfbcb148dbd2 + limb2: 0x2aebdfbcb148dbd2, }, r1a0: u288 { limb0: 0xd7b47c349d5fa8cbc0c0bdc4, limb1: 0x262a79a0c9001db94d4629e6, - limb2: 0x229b6a2be2e077d7 + limb2: 0x229b6a2be2e077d7, }, r1a1: u288 { limb0: 0x5ac06a263b3dad67c61b9b1a, limb1: 0x218d4cdc4cddee7306803f0c, - limb2: 0x2c404c393f42c23c - } + limb2: 0x2c404c393f42c23c, + }, }, G2Line { r0a0: u288 { limb0: 0xfc23a674d089e9cfdefb1db8, limb1: 0x9ddfd61d289b65a9b4254476, - limb2: 0x1e2f561324ef4447 + limb2: 0x1e2f561324ef4447, }, r0a1: u288 { limb0: 0xf67a6a9e31f6975b220642ea, limb1: 0xccd852893796296e4d1ed330, - limb2: 0x94ff1987d19b62 + limb2: 0x94ff1987d19b62, }, r1a0: u288 { limb0: 0x360c2a5aca59996d24cc1947, limb1: 0x66c2d7d0d176a3bc53f386e8, - limb2: 0x2cfcc62a17fbeecb + limb2: 0x2cfcc62a17fbeecb, }, r1a1: u288 { limb0: 0x2ddc73389dd9a9e34168d8a9, limb1: 0xae9afc57944748b835cbda0f, - limb2: 0x12f0a1f8cf564067 - } + limb2: 0x12f0a1f8cf564067, + }, }, G2Line { r0a0: u288 { limb0: 0x9e2613c20164688ed46379a, limb1: 0x716db3679a44c686aa59d1ab, - limb2: 0x15001844790ca939 + limb2: 0x15001844790ca939, }, r0a1: u288 { limb0: 0x6fbc98bc7a182aa3dd0cb359, limb1: 0xc97408d0c1cf3952033b11b0, - limb2: 0x1ab481f0cb16916b + limb2: 0x1ab481f0cb16916b, }, r1a0: u288 { limb0: 0x7f38f154b08df182e2924e74, limb1: 0xba31b530302528255113573a, - limb2: 0x933362e822d9bbb + limb2: 0x933362e822d9bbb, }, r1a1: u288 { limb0: 0xfe131760a10954277d407df3, limb1: 0x7fa6f47454535d07b1c8ffad, - limb2: 0x966415d59cef8df - } + limb2: 0x966415d59cef8df, + }, }, G2Line { r0a0: u288 { limb0: 0x9c963c4bdade6ce3d460b077, limb1: 0x1738311feefc76f565e34e8a, - limb2: 0x1aae0d6c9e9888ad + limb2: 0x1aae0d6c9e9888ad, }, r0a1: u288 { limb0: 0x9272581fdf80b045c9c3f0a, limb1: 0x3946807b0756e87666798edb, - limb2: 0x2bf6eeda2d8be192 + limb2: 0x2bf6eeda2d8be192, }, r1a0: u288 { limb0: 0x3e957661b35995552fb475de, limb1: 0xd8076fa48f93f09d8128a2a8, - limb2: 0xb6f87c3f00a6fcf + limb2: 0xb6f87c3f00a6fcf, }, r1a1: u288 { limb0: 0xcf17d6cd2101301246a8f264, limb1: 0x514d04ad989b91e697aa5a0e, - limb2: 0x175f17bbd0ad1219 - } + limb2: 0x175f17bbd0ad1219, + }, }, G2Line { r0a0: u288 { limb0: 0x894bc18cc70ca1987e3b8f9f, limb1: 0xd4bfa535181f0f8659b063e3, - limb2: 0x19168d524164f463 + limb2: 0x19168d524164f463, }, r0a1: u288 { limb0: 0x850ee8d0e9b58b82719a6e92, limb1: 0x9fc4eb75cbb027c137d48341, - limb2: 0x2b2f8a383d944fa0 + limb2: 0x2b2f8a383d944fa0, }, r1a0: u288 { limb0: 0x5451c8974a709483c2b07fbd, limb1: 0xd7e09837b8a2a3b78e7fe525, - limb2: 0x347d96be5e7fa31 + limb2: 0x347d96be5e7fa31, }, r1a1: u288 { limb0: 0x823f2ba2743ee254e4c18a1e, limb1: 0x6a61af5db035c443ed0f8172, - limb2: 0x1e840eee275d1063 - } + limb2: 0x1e840eee275d1063, + }, }, G2Line { r0a0: u288 { limb0: 0x97890ec993740b1ca0337563, limb1: 0x4fa454f0d8b7b9f3e996a148, - limb2: 0x2687d9105ae36d86 + limb2: 0x2687d9105ae36d86, }, r0a1: u288 { limb0: 0x94553c479c2341dd9d19c228, limb1: 0xf3893568e1c69e8691e6d21d, - limb2: 0x176dd970f5c96141 + limb2: 0x176dd970f5c96141, }, r1a0: u288 { limb0: 0x10b35743d178c928ae8988f3, limb1: 0x4e09ad83d2ef00527273723e, - limb2: 0x2357f050a2e191c4 + limb2: 0x2357f050a2e191c4, }, r1a1: u288 { limb0: 0x4c47ba83a5200a671c9a6e66, limb1: 0x9ed7cd2e0db8b052d78aeccf, - limb2: 0x2b778d052020e24f - } + limb2: 0x2b778d052020e24f, + }, }, G2Line { r0a0: u288 { limb0: 0x38f9cedd0c82018426759a6e, limb1: 0x44c9564dd70a19718df031b9, - limb2: 0x2c123a573f011ecf + limb2: 0x2c123a573f011ecf, }, r0a1: u288 { limb0: 0xdc5f6dd6fabcfd365452fd48, limb1: 0x3be2013bcd845c73bef09c2a, - limb2: 0x20a73a0d44be878 + limb2: 0x20a73a0d44be878, }, r1a0: u288 { limb0: 0x9d6fc1cc6d53b9b473418843, limb1: 0x179167ea194fa9a3fb5546bf, - limb2: 0x122aeeaaf6e42f52 + limb2: 0x122aeeaaf6e42f52, }, r1a1: u288 { limb0: 0x3b7e8d815b2f3ad687c6b33b, limb1: 0xbfacefc007f6e8b61a5b0930, - limb2: 0x14d40bc6eff71288 - } + limb2: 0x14d40bc6eff71288, + }, }, G2Line { r0a0: u288 { limb0: 0x18d630598e58bb5d0102b30e, limb1: 0x9767e27b02a8da37411a2787, - limb2: 0x100a541662b9cd7c + limb2: 0x100a541662b9cd7c, }, r0a1: u288 { limb0: 0x4ca7313df2e168e7e5ea70, limb1: 0xd49cce6abd50b574f31c2d72, - limb2: 0x78a2afbf72317e7 + limb2: 0x78a2afbf72317e7, }, r1a0: u288 { limb0: 0x6d99388b0a1a67d6b48d87e0, limb1: 0x1d8711d321a193be3333bc68, - limb2: 0x27e76de53a010ce1 + limb2: 0x27e76de53a010ce1, }, r1a1: u288 { limb0: 0x77341bf4e1605e982fa50abd, limb1: 0xc5cf10db170b4feaaf5f8f1b, - limb2: 0x762adef02274807 - } + limb2: 0x762adef02274807, + }, }, G2Line { r0a0: u288 { limb0: 0x3896b4539101a9d082d01df0, limb1: 0x1bdd4fa3c048c10eb04232b4, - limb2: 0x2bbc70702a7f5b2d + limb2: 0x2bbc70702a7f5b2d, }, r0a1: u288 { limb0: 0x617716ce0b0fc90781832057, limb1: 0x800927818218483eb3cf9245, - limb2: 0x211e4fc4a1ae2c66 + limb2: 0x211e4fc4a1ae2c66, }, r1a0: u288 { limb0: 0xe7b44e14a444b645b8c0b11f, limb1: 0x2b07f556a654bd49cd865885, - limb2: 0x1866e4634404cecf + limb2: 0x1866e4634404cecf, }, r1a1: u288 { limb0: 0x48a0768996bd4017ff614ce, limb1: 0x4f0066744ba90bd46ee6e88e, - limb2: 0x1de00ce581b3556f - } + limb2: 0x1de00ce581b3556f, + }, }, G2Line { r0a0: u288 { limb0: 0xa137b991ba9048aee9fa0bc7, limb1: 0xf5433785c186cd1100ab6b80, - limb2: 0xab519fd7cf8e7f9 + limb2: 0xab519fd7cf8e7f9, }, r0a1: u288 { limb0: 0x90832f45d3398c60aa1a74e2, limb1: 0x17f7ac209532723f22a344b, - limb2: 0x23db979f8481c5f + limb2: 0x23db979f8481c5f, }, r1a0: u288 { limb0: 0x723b0e23c2808a5d1ea6b11d, limb1: 0x3030030d26411f84235c3af5, - limb2: 0x122e78da5509eddb + limb2: 0x122e78da5509eddb, }, r1a1: u288 { limb0: 0xf1718c1e21a9bc3ec822f319, limb1: 0xf5ee6dfa3bd3272b2f09f0c7, - limb2: 0x5a29c1e27616b34 - } + limb2: 0x5a29c1e27616b34, + }, }, G2Line { r0a0: u288 { limb0: 0x7369b6adc59d1ad1956aa29c, limb1: 0x5a1a92f3dda868e7423f70bd, - limb2: 0x13da850286346586 + limb2: 0x13da850286346586, }, r0a1: u288 { limb0: 0x5eedbb4b5f1b8c52d4ff5734, limb1: 0x9988f4f6e06343ab4f5831ad, - limb2: 0xfbbd4d49b51a489 + limb2: 0xfbbd4d49b51a489, }, r1a0: u288 { limb0: 0x9cd983785651ba1c2c06bf74, limb1: 0x21f088328b5920e22e7a73f6, - limb2: 0x1e16dd13e77f83f4 + limb2: 0x1e16dd13e77f83f4, }, r1a1: u288 { limb0: 0x44bdd6e622016e7b7287c24f, limb1: 0xb454bfef81527e305bd509e6, - limb2: 0x25b37c864eb9335d - } + limb2: 0x25b37c864eb9335d, + }, }, G2Line { r0a0: u288 { limb0: 0xbc1ede480873fceb8739511e, limb1: 0xd5a60533bd0ce7869efbc15, - limb2: 0x182c17d793eba74d + limb2: 0x182c17d793eba74d, }, r0a1: u288 { limb0: 0x83bf38d91876ad8999516bc2, limb1: 0x7756322ea3dc079289d51f2d, - limb2: 0x1d0f6156a89a4244 + limb2: 0x1d0f6156a89a4244, }, r1a0: u288 { limb0: 0x6aba652f197be8f99707b88c, limb1: 0xbf94286c245794ea0f562f32, - limb2: 0x25a358967a2ca81d + limb2: 0x25a358967a2ca81d, }, r1a1: u288 { limb0: 0xc028cbff48c01433e8b23568, limb1: 0xd2e791f5772ed43b056beba1, - limb2: 0x83eb38dff4960e - } + limb2: 0x83eb38dff4960e, + }, }, G2Line { r0a0: u288 { limb0: 0xea4e2dfe89a1e44be7ce1e1c, limb1: 0x5a92c01d769c449c202b3214, - limb2: 0xff9af539be5c8c9 + limb2: 0xff9af539be5c8c9, }, r0a1: u288 { limb0: 0x787ac32ae432e43bed70fb07, limb1: 0x4a33b653a031d4b9f2785ff3, - limb2: 0x26614c3211203a55 + limb2: 0x26614c3211203a55, }, r1a0: u288 { limb0: 0xb191249d1a1f0c8c86ebe4ea, limb1: 0xad273f446b939f4f1f361ebf, - limb2: 0xedc66a88aa083a1 + limb2: 0xedc66a88aa083a1, }, r1a1: u288 { limb0: 0xdca5c397dab1714ac36c1bc8, limb1: 0x924f9820543a3519c11d3f74, - limb2: 0x1ad8a781081d4a96 - } + limb2: 0x1ad8a781081d4a96, + }, }, G2Line { r0a0: u288 { limb0: 0xc2a2b787d8e718e81970db80, limb1: 0x5372abeaf56844dee60d6198, - limb2: 0x131210153a2217d6 + limb2: 0x131210153a2217d6, }, r0a1: u288 { limb0: 0x70421980313e09a8a0e5a82d, limb1: 0xf75ca1f68f4b8deafb1d3b48, - limb2: 0x102113c9b6feb035 + limb2: 0x102113c9b6feb035, }, r1a0: u288 { limb0: 0x4654c11d73bda84873de9b86, limb1: 0xa67601bca2e595339833191a, - limb2: 0x1c2b76e439adc8cc + limb2: 0x1c2b76e439adc8cc, }, r1a1: u288 { limb0: 0x9c53a48cc66c1f4d644105f2, limb1: 0xa17a18867557d96fb7c2f849, - limb2: 0x1deb99799bd8b63a - } + limb2: 0x1deb99799bd8b63a, + }, }, G2Line { r0a0: u288 { limb0: 0xc32026c56341297fa080790c, limb1: 0xe23ad2ff283399133533b31f, - limb2: 0xa6860f5c968f7ad + limb2: 0xa6860f5c968f7ad, }, r0a1: u288 { limb0: 0x2966cf259dc612c6a4d8957d, limb1: 0xfba87ea86054f3db5774a08f, - limb2: 0xc73408b6a646780 + limb2: 0xc73408b6a646780, }, r1a0: u288 { limb0: 0x6272ce5976d8eeba08f66b48, limb1: 0x7dfbd78fa06509604c0cec8d, - limb2: 0x181ec0eaa6660e45 + limb2: 0x181ec0eaa6660e45, }, r1a1: u288 { limb0: 0x48af37c1a2343555fbf8a357, limb1: 0xa7b5e1e20e64d6a9a9ce8e61, - limb2: 0x1147dcea39a47abd - } + limb2: 0x1147dcea39a47abd, + }, }, G2Line { r0a0: u288 { limb0: 0x9fd5ab512989c347dc77f420, limb1: 0xc1c85ee38ca3eb02a0a92db3, - limb2: 0x2134aa9ca8e8d251 + limb2: 0x2134aa9ca8e8d251, }, r0a1: u288 { limb0: 0xe4f274770138210ec97f351c, limb1: 0x95d8dbdcefe97681885f8ca3, - limb2: 0x25c205641353bd02 + limb2: 0x25c205641353bd02, }, r1a0: u288 { limb0: 0x67e5fc30cb9d54c952e30530, limb1: 0xbed1776ffd1f34cef4d280ba, - limb2: 0x9bfcdc38d2edfbc + limb2: 0x9bfcdc38d2edfbc, }, r1a1: u288 { limb0: 0x2cdc4960c64fd9f1e1d8c062, limb1: 0x25ab4699c0326eb69704502c, - limb2: 0x1a1bfdd2477bfb3 - } + limb2: 0x1a1bfdd2477bfb3, + }, }, G2Line { r0a0: u288 { limb0: 0xc01f15fdcbfada9ddb6d29e5, limb1: 0x1c597a278f91d2146e39417b, - limb2: 0x1e738c819e505603 + limb2: 0x1e738c819e505603, }, r0a1: u288 { limb0: 0xc448617c638a5f5a3d7bb80b, limb1: 0xe5c0daa3ccc9d0066e8748e6, - limb2: 0x1531822272e52502 + limb2: 0x1531822272e52502, }, r1a0: u288 { limb0: 0xe6dcbe5738e474a779a48437, limb1: 0x778679b9709f1160945eb1f4, - limb2: 0x1c4c788451e4cdd3 + limb2: 0x1c4c788451e4cdd3, }, r1a1: u288 { limb0: 0x9bb0e3bca45c662cc5a01154, limb1: 0xdcc6384e4ed67039e4f3a54d, - limb2: 0x1e8aea6fd2e608bf - } + limb2: 0x1e8aea6fd2e608bf, + }, }, G2Line { r0a0: u288 { limb0: 0x4033c51e6e469818521cd2ae, limb1: 0xb71a4629a4696b2759f8e19e, - limb2: 0x4f5744e29c1eb30 + limb2: 0x4f5744e29c1eb30, }, r0a1: u288 { limb0: 0xa4f47bbc60cb0649dca1c772, limb1: 0x835f427106f4a6b897c6cf23, - limb2: 0x17ca6ea4855756bb + limb2: 0x17ca6ea4855756bb, }, r1a0: u288 { limb0: 0x7f844a35c7eeadf511e67e57, limb1: 0x8bb54fb0b3688cac8860f10, - limb2: 0x1c7258499a6bbebf + limb2: 0x1c7258499a6bbebf, }, r1a1: u288 { limb0: 0x10d269c1779f96946e518246, limb1: 0xce6fcef6676d0dacd395dc1a, - limb2: 0x2cf4c6ae1b55d87d - } + limb2: 0x2cf4c6ae1b55d87d, + }, }, G2Line { r0a0: u288 { limb0: 0xc55a9ab2be5b1c5f99b4afdf, limb1: 0x443b75328adfb9d1d45195be, - limb2: 0x568d5a8780d1576 + limb2: 0x568d5a8780d1576, }, r0a1: u288 { limb0: 0x85b522186579e779a3606ede, limb1: 0x1ebb4d198b300f1f7309a38f, - limb2: 0x9f9cb82898a523d + limb2: 0x9f9cb82898a523d, }, r1a0: u288 { limb0: 0x731bed2ccf3a6cbf023ed5b, limb1: 0xcf340b50f74cdea1da20612a, - limb2: 0x21d63865d400949d + limb2: 0x21d63865d400949d, }, r1a1: u288 { limb0: 0x552864462eb5b6c21cb44edb, limb1: 0x79eaf9afc4175e8707d58a17, - limb2: 0x2f0de7da33934176 - } + limb2: 0x2f0de7da33934176, + }, }, G2Line { r0a0: u288 { limb0: 0xab74a6bae36b17b1d2cc1081, limb1: 0x904cf03d9d30b1fe9dc71374, - limb2: 0x14ffdd55685b7d82 + limb2: 0x14ffdd55685b7d82, }, r0a1: u288 { limb0: 0x277f7180b7cf33feded1583c, limb1: 0xc029c3968a75b612303c4298, - limb2: 0x20ef4ba03605cdc6 + limb2: 0x20ef4ba03605cdc6, }, r1a0: u288 { limb0: 0xd5a7a27c1baba3791ab18957, limb1: 0x973730213d5d70d3e62d6db, - limb2: 0x24ca121c566eb857 + limb2: 0x24ca121c566eb857, }, r1a1: u288 { limb0: 0x9f4c2dea0492f548ae7d9e93, limb1: 0xe584b6b251a5227c70c5188, - limb2: 0x22bcecac2bd5e51b - } + limb2: 0x22bcecac2bd5e51b, + }, }, G2Line { r0a0: u288 { limb0: 0x340c82974f7221a53fc2f3ac, limb1: 0x7146f18cd591d423874996e7, - limb2: 0xa6d154791056f46 + limb2: 0xa6d154791056f46, }, r0a1: u288 { limb0: 0x70894ea6418890d53b5ee12a, limb1: 0x882290cb53b795b0e7c8c208, - limb2: 0x1b5777dc18b2899b + limb2: 0x1b5777dc18b2899b, }, r1a0: u288 { limb0: 0x99a0e528d582006a626206b6, limb1: 0xb1cf825d80e199c5c9c795b5, - limb2: 0x2a97495b032f0542 + limb2: 0x2a97495b032f0542, }, r1a1: u288 { limb0: 0xc7cf5b455d6f3ba73debeba5, limb1: 0xbb0a01235687223b7b71d0e5, - limb2: 0x250024ac44c35e3f - } + limb2: 0x250024ac44c35e3f, + }, }, G2Line { r0a0: u288 { limb0: 0xd60abda751022b3ab52a71fb, limb1: 0xac2bdbc297c0590db6bfc3f6, - limb2: 0x8eb71504cf2858c + limb2: 0x8eb71504cf2858c, }, r0a1: u288 { limb0: 0x6120b9134e8c6243cb4b6ab2, limb1: 0xd2116c2eb5a22f2b5c828eb8, - limb2: 0x659ba27e279a722 + limb2: 0x659ba27e279a722, }, r1a0: u288 { limb0: 0x89052eb421e5e6c50c145ffa, limb1: 0x61d9216517954ead7424ae94, - limb2: 0x284310b8977a380c + limb2: 0x284310b8977a380c, }, r1a1: u288 { limb0: 0xbb92f5394c4983a885a8f465, limb1: 0x6246bb3479c74157b24f6745, - limb2: 0x24da3c02db70be46 - } + limb2: 0x24da3c02db70be46, + }, }, G2Line { r0a0: u288 { limb0: 0xb876e41dfcbf9c2c748bcbbf, limb1: 0xa86948ab4d29ceba965253f9, - limb2: 0xd0080dd30431eab + limb2: 0xd0080dd30431eab, }, r0a1: u288 { limb0: 0x1f7efe01d08f305661f923b3, limb1: 0xf265d5179bafe8cf813b9077, - limb2: 0x1f37e85fd504232f + limb2: 0x1f37e85fd504232f, }, r1a0: u288 { limb0: 0xdeb3dcf52e8219964b3ca860, limb1: 0x8b80044bac7a9a9540370b1d, - limb2: 0x208591589c3eecb3 + limb2: 0x208591589c3eecb3, }, r1a1: u288 { limb0: 0x32af49c4ba67546152124706, limb1: 0xf1767348c820427b48c1137d, - limb2: 0x248a2111fa7d4710 - } + limb2: 0x248a2111fa7d4710, + }, }, G2Line { r0a0: u288 { limb0: 0xccf841cf5c1cf8f4a0485e28, limb1: 0xb5077662d0ce9d755af1446b, - limb2: 0x2b08658e9d5ba5cb + limb2: 0x2b08658e9d5ba5cb, }, r0a1: u288 { limb0: 0x6ce62184a15685babd77f27f, limb1: 0x5ff9bb7d74505b0542578299, - limb2: 0x7244563488bab2 + limb2: 0x7244563488bab2, }, r1a0: u288 { limb0: 0xec778048d344ac71275d961d, limb1: 0x1273984019753000ad890d33, - limb2: 0x27c2855e60d361bd + limb2: 0x27c2855e60d361bd, }, r1a1: u288 { limb0: 0xa7a0071e22af2f3a79a12da, limb1: 0xc84a6fd41c20759ff6ff169a, - limb2: 0x23e7ef2a308e49d1 - } + limb2: 0x23e7ef2a308e49d1, + }, }, G2Line { r0a0: u288 { limb0: 0x159e03e80a712c3eb4bb2322, limb1: 0x152e9c0687bd5b6ed027fddc, - limb2: 0xa5e3c400f76af96 + limb2: 0xa5e3c400f76af96, }, r0a1: u288 { limb0: 0xad170c2df32989054acf70f0, limb1: 0x90e09c7dcbb9bf4ceb2c5ea4, - limb2: 0xe20987b18a95c02 + limb2: 0xe20987b18a95c02, }, r1a0: u288 { limb0: 0xd41b9cbc90b68f69379ec96b, limb1: 0x6c8e7199aa1fea5f81256ace, - limb2: 0xbacee39e0dd19dd + limb2: 0xbacee39e0dd19dd, }, r1a1: u288 { limb0: 0xcf578a12f806c50b19311642, limb1: 0x2e7d9a7d24ff529e1b2e6943, - limb2: 0x262bbe97a5dc53fe - } + limb2: 0x262bbe97a5dc53fe, + }, }, G2Line { r0a0: u288 { limb0: 0x7105024c431a33683d9d0b9d, limb1: 0x12e23637b641ab0e5b322ad8, - limb2: 0x2918e9e08c764c28 + limb2: 0x2918e9e08c764c28, }, r0a1: u288 { limb0: 0x26384979d1f5417e451aeabf, limb1: 0xacfb499e362291d0b053bbf6, - limb2: 0x2a6ad1a1f7b04ef6 + limb2: 0x2a6ad1a1f7b04ef6, }, r1a0: u288 { limb0: 0xba4db515be70c384080fc9f9, limb1: 0x5a983a6afa9cb830fa5b66e6, - limb2: 0x8cc1fa494726a0c + limb2: 0x8cc1fa494726a0c, }, r1a1: u288 { limb0: 0x59c9af9399ed004284eb6105, limb1: 0xef37f66b058b4c971d9c96b0, - limb2: 0x2c1839afde65bafa - } + limb2: 0x2c1839afde65bafa, + }, }, G2Line { r0a0: u288 { limb0: 0x5725ce4f02f7ca75d7189073, limb1: 0xd105fefd57a1a89e7a69faa3, - limb2: 0x16a43b8238e9776f + limb2: 0x16a43b8238e9776f, }, r0a1: u288 { limb0: 0x25c4f2d5b972ced61efac33b, limb1: 0x7b68646179eb9d2ceda7914a, - limb2: 0x1652bf6b8b1d3e3e + limb2: 0x1652bf6b8b1d3e3e, }, r1a0: u288 { limb0: 0xcb753ca19e3c38273d73e58a, limb1: 0xa9a697028f43b5b5c1faf7f8, - limb2: 0x176d848a309eb7a + limb2: 0x176d848a309eb7a, }, r1a1: u288 { limb0: 0x88a5193c45c3a80b0e66981a, limb1: 0xfd6ff58f8f6f9027281fb5f9, - limb2: 0x25df2ca1dfba7366 - } + limb2: 0x25df2ca1dfba7366, + }, }, G2Line { r0a0: u288 { limb0: 0x6bf13a27b0f4eb6657abc4b, limb1: 0xf78d57f089bffdf07c676bb3, - limb2: 0x228e4aefbdd738df + limb2: 0x228e4aefbdd738df, }, r0a1: u288 { limb0: 0x4f41a40b04ec964619823053, limb1: 0xfa3fb44f4a80641a9bb3bc09, - limb2: 0x29bf29a3d071ec4b + limb2: 0x29bf29a3d071ec4b, }, r1a0: u288 { limb0: 0x83823dcdff02bdc8a0e6aa03, limb1: 0x79ac92f113de29251cd73a98, - limb2: 0x1ccdb791718d144 + limb2: 0x1ccdb791718d144, }, r1a1: u288 { limb0: 0xa074add9d066db9a2a6046b6, limb1: 0xef3a70034497456c7d001a5, - limb2: 0x27d09562d815b4a6 - } + limb2: 0x27d09562d815b4a6, + }, }, G2Line { r0a0: u288 { limb0: 0x25e816712be02294b62c3be3, limb1: 0x13d1d46cbede4847bb0625b8, - limb2: 0x9e1d1ffd8abfd4b + limb2: 0x9e1d1ffd8abfd4b, }, r0a1: u288 { limb0: 0x1c0d2715920fb25f1c6ffee5, limb1: 0x8f525d4d78921ab44b02a8ea, - limb2: 0x1db798591d05a543 + limb2: 0x1db798591d05a543, }, r1a0: u288 { limb0: 0x3329e474cb10234c64b9ee03, limb1: 0x576667fe79436c09a72a1e34, - limb2: 0x134ac3bce6fa1ffc + limb2: 0x134ac3bce6fa1ffc, }, r1a1: u288 { limb0: 0xfc08e5edb8edfaf73ad7f2b6, limb1: 0x781debc0d2178605c6f59e3f, - limb2: 0x1f267149e0cc2034 - } + limb2: 0x1f267149e0cc2034, + }, }, G2Line { r0a0: u288 { limb0: 0x87a44d343cc761056f4f2eae, limb1: 0x18016f16818253360d2c8adf, - limb2: 0x1bcd5c6e597d735e + limb2: 0x1bcd5c6e597d735e, }, r0a1: u288 { limb0: 0x593d7444c376f6d69289660b, limb1: 0x1d6d97020b59cf2e4b38be4f, - limb2: 0x17133b62617f63a7 + limb2: 0x17133b62617f63a7, }, r1a0: u288 { limb0: 0x88cac99869bb335ec9553a70, limb1: 0x95bcfa7f7c0b708b4d737afc, - limb2: 0x1eec79b9db274c09 + limb2: 0x1eec79b9db274c09, }, r1a1: u288 { limb0: 0xe465a53e9fe085eb58a6be75, limb1: 0x868e45cc13e7fd9d34e11839, - limb2: 0x2b401ce0f05ee6bb - } + limb2: 0x2b401ce0f05ee6bb, + }, }, G2Line { r0a0: u288 { limb0: 0x83f48fbac5c1b94486c2d037, limb1: 0xf95d9333449543de78c69e75, - limb2: 0x7bca8163e842be7 + limb2: 0x7bca8163e842be7, }, r0a1: u288 { limb0: 0x60157b2ff6e4d737e2dac26b, limb1: 0x30ab91893fcf39d9dcf1b89, - limb2: 0x29a58a02490d7f53 + limb2: 0x29a58a02490d7f53, }, r1a0: u288 { limb0: 0x520f9cb580066bcf2ce872db, limb1: 0x24a6e42c185fd36abb66c4ba, - limb2: 0x309b07583317a13 + limb2: 0x309b07583317a13, }, r1a1: u288 { limb0: 0x5a4c61efaa3d09a652c72471, limb1: 0xfcb2676d6aa28ca318519d2, - limb2: 0x1405483699afa209 - } + limb2: 0x1405483699afa209, + }, }, G2Line { r0a0: u288 { limb0: 0x96239ccb1673794f48c3814e, limb1: 0xa9424d7fd8d1cb457d8106a8, - limb2: 0x18f633ca15146197 + limb2: 0x18f633ca15146197, }, r0a1: u288 { limb0: 0x83821511cecf8050ab30d09b, limb1: 0xabe9d19055677c64212fb315, - limb2: 0x17e8e943d4dd53dc + limb2: 0x17e8e943d4dd53dc, }, r1a0: u288 { limb0: 0xa3635311eefb6d8f006727b6, limb1: 0xe67ebc4b351851a29c182f14, - limb2: 0x20be5ef63fa9f566 + limb2: 0x20be5ef63fa9f566, }, r1a1: u288 { limb0: 0xbdb0a8b8e3e37a1cad4fab9f, limb1: 0x12270bf0d7ba9cdcffa36b1c, - limb2: 0x29de034e18f7685e - } + limb2: 0x29de034e18f7685e, + }, }, G2Line { r0a0: u288 { limb0: 0x208dc70e391d90d0bfb98656, limb1: 0xbfa819c7c80fa22a3aa2e036, - limb2: 0x1a1213ebcb6adb0e + limb2: 0x1a1213ebcb6adb0e, }, r0a1: u288 { limb0: 0xd6ae81e1044113f735597233, limb1: 0x43cc8817df94943fc400f20e, - limb2: 0x2c4b9b2ee1ce9b7e + limb2: 0x2c4b9b2ee1ce9b7e, }, r1a0: u288 { limb0: 0x44af7f302b92dee29928a9b1, limb1: 0x4e6e061af95bc50d61b54813, - limb2: 0x184eaff39795e0b5 + limb2: 0x184eaff39795e0b5, }, r1a1: u288 { limb0: 0xd7f6b1aace297a73b349891, limb1: 0x3f66972428dc9236b93f8718, - limb2: 0xf54166413a83eb9 - } + limb2: 0xf54166413a83eb9, + }, }, G2Line { r0a0: u288 { limb0: 0xbfdfdae86101e29da3e869b8, limb1: 0xf969a9b961a28b872e56aac2, - limb2: 0x1afdc719440d90f0 + limb2: 0x1afdc719440d90f0, }, r0a1: u288 { limb0: 0xee43c995686f13baa9b07266, limb1: 0xbfa387a694c641cceee4443a, - limb2: 0x104d8c02eb7f60c8 + limb2: 0x104d8c02eb7f60c8, }, r1a0: u288 { limb0: 0x8d451602b3593e798aecd7fb, limb1: 0x69ffbefe7c5ac2cf68e8691e, - limb2: 0x2ea064a1bc373d28 + limb2: 0x2ea064a1bc373d28, }, r1a1: u288 { limb0: 0x6e7a663073bfe88a2b02326f, limb1: 0x5faadb36847ca0103793fa4a, - limb2: 0x26c09a8ec9303836 - } + limb2: 0x26c09a8ec9303836, + }, }, G2Line { r0a0: u288 { limb0: 0xda7e32ff636bb66ede683e6, limb1: 0x72508ca3cb51c08078df9e81, - limb2: 0xcbffc477cdc6d53 + limb2: 0xcbffc477cdc6d53, }, r0a1: u288 { limb0: 0xec389fc066f7281a57220f62, limb1: 0xcb8aa465fb7a1fbef606f5f4, - limb2: 0xae52f9f10665ce1 + limb2: 0xae52f9f10665ce1, }, r1a0: u288 { limb0: 0x38510c3e655d75deba1be8d1, limb1: 0xeedd4d29f92ac584ba92062d, - limb2: 0x2f2000eea8290b01 + limb2: 0x2f2000eea8290b01, }, r1a1: u288 { limb0: 0x4d27e3af8c4b7ee38398ca08, limb1: 0x10704138acc1ba6a0c2845ed, - limb2: 0x2a7ab438d02abe84 - } + limb2: 0x2a7ab438d02abe84, + }, }, G2Line { r0a0: u288 { limb0: 0x3d038747ebac16adc1c50bdd, limb1: 0xe3706a783e99f73ac742aa1a, - limb2: 0x17eac23b00b545ff + limb2: 0x17eac23b00b545ff, }, r0a1: u288 { limb0: 0xdc25ff0bd02abcbe502c4e37, limb1: 0x39b92e6ebb65e5f2d8504f90, - limb2: 0x2415b5f61301dff6 + limb2: 0x2415b5f61301dff6, }, r1a0: u288 { limb0: 0x9cdcb2146d15f37900db82ac, limb1: 0x96c3940e2f5c5f8198fadee3, - limb2: 0x2f662ea79b473fc2 + limb2: 0x2f662ea79b473fc2, }, r1a1: u288 { limb0: 0xc0fb95686de65e504ed4c57a, limb1: 0xec396c7c4275d4e493b00713, - limb2: 0x106d2aab8d90d517 - } + limb2: 0x106d2aab8d90d517, + }, }, G2Line { r0a0: u288 { limb0: 0x9c305c582cfb7a7d23b95811, limb1: 0x4bb6df7058c076c8852077bc, - limb2: 0x260910f89761bfb5 + limb2: 0x260910f89761bfb5, }, r0a1: u288 { limb0: 0x7f49c8cd61b91f52a6e78d0b, limb1: 0x3a2ca7573f8e189320281763, - limb2: 0x285987c9b92ff007 + limb2: 0x285987c9b92ff007, }, r1a0: u288 { limb0: 0xd9a09c023a61fcc1548df2ce, limb1: 0xa6582f6b78778a7cb28e1c1a, - limb2: 0x1895d97b6e5913a6 + limb2: 0x1895d97b6e5913a6, }, r1a1: u288 { limb0: 0x6afbf3e269da5ffaac177f8e, limb1: 0x654e37e37a96d0e9327281d7, - limb2: 0x7834cf60dd26f16 - } + limb2: 0x7834cf60dd26f16, + }, }, G2Line { r0a0: u288 { limb0: 0x49bbb4d856921e3177c0b5bf, limb1: 0x76d84d273694e662bdd5d364, - limb2: 0xea5dc611bdd369d + limb2: 0xea5dc611bdd369d, }, r0a1: u288 { limb0: 0x9e9fc3adc530fa3c5c6fd7fe, limb1: 0x114bb0c0e8bd247da41b3883, - limb2: 0x6044124f85d2ce + limb2: 0x6044124f85d2ce, }, r1a0: u288 { limb0: 0xa6e604cdb4e40982a97c084, limb1: 0xef485caa56c7820be2f6b11d, - limb2: 0x280de6387dcbabe1 + limb2: 0x280de6387dcbabe1, }, r1a1: u288 { limb0: 0xcaceaf6df5ca9f8a18bf2e1e, limb1: 0xc5cce932cc6818b53136c142, - limb2: 0x12f1cd688682030c - } + limb2: 0x12f1cd688682030c, + }, }, G2Line { r0a0: u288 { limb0: 0x37497c23dcf629df58a5fa12, limb1: 0x4fcd5534ae47bded76245ac9, - limb2: 0x1715ab081e32ac95 + limb2: 0x1715ab081e32ac95, }, r0a1: u288 { limb0: 0x856275471989e2c288e3c83, limb1: 0xb42d81a575b89b127a7821a, - limb2: 0x5fa75a0e4ae3118 + limb2: 0x5fa75a0e4ae3118, }, r1a0: u288 { limb0: 0xeb22351e8cd345c23c0a3fef, limb1: 0x271feb16d4b47d2267ac9d57, - limb2: 0x258f9950b9a2dee5 + limb2: 0x258f9950b9a2dee5, }, r1a1: u288 { limb0: 0xb5f75468922dc025ba7916fa, limb1: 0x7e24515de90edf1bde4edd9, - limb2: 0x289145b3512d4d81 - } + limb2: 0x289145b3512d4d81, + }, }, G2Line { r0a0: u288 { limb0: 0x474d539c09e56d254248eb2b, limb1: 0xfd31c4dda0194dfc995c9a7, - limb2: 0xc3a11eb34327e4 + limb2: 0xc3a11eb34327e4, }, r0a1: u288 { limb0: 0x9c159e673fc04e4708c12343, limb1: 0xb4f305fcf82d9e1fc29c5be4, - limb2: 0x1f4075ebbb40ae4f + limb2: 0x1f4075ebbb40ae4f, }, r1a0: u288 { limb0: 0xb3c06a6a7da6cae6418b20f1, limb1: 0x52fd9665f418fc28d1a1c512, - limb2: 0x15dcb567f6ba3f15 + limb2: 0x15dcb567f6ba3f15, }, r1a1: u288 { limb0: 0x68eef22325cbe13b51e949ef, limb1: 0x58ff6f0479b6dba68c5b5457, - limb2: 0x1b2faffca46537d7 - } + limb2: 0x1b2faffca46537d7, + }, }, G2Line { r0a0: u288 { limb0: 0xe2b891b2e4ab31d41c1e862d, limb1: 0x5e80a5ab28e058fe3363fad3, - limb2: 0x1881cd458e4900fd + limb2: 0x1881cd458e4900fd, }, r0a1: u288 { limb0: 0xacf99791bc8df6a58559a444, limb1: 0x3c5ae5820c97272c6ecc3a34, - limb2: 0x1ae9629d591a5874 + limb2: 0x1ae9629d591a5874, }, r1a0: u288 { limb0: 0x83a000d401b2be3889b14e33, limb1: 0xa6d94925a487bed7783b13e9, - limb2: 0x1460eb18169abc7 + limb2: 0x1460eb18169abc7, }, r1a1: u288 { limb0: 0x68a0fe19092799473fa1ecca, limb1: 0x4a5f3a56311ba88915d67614, - limb2: 0x2fa198a45edde900 - } + limb2: 0x2fa198a45edde900, + }, }, G2Line { r0a0: u288 { limb0: 0x95b7b32bcc3119c64a62a8de, limb1: 0xe07184496f17bbd59a4b7bbd, - limb2: 0x1708c536fd78b531 + limb2: 0x1708c536fd78b531, }, r0a1: u288 { limb0: 0xfa85b5778c77166c1523a75e, limb1: 0x89a00c53309a9e525bef171a, - limb2: 0x2d2287dd024e421 + limb2: 0x2d2287dd024e421, }, r1a0: u288 { limb0: 0x31fd0884eaf2208bf8831e72, limb1: 0x537e04ea344beb57ee645026, - limb2: 0x23c7f99715257261 + limb2: 0x23c7f99715257261, }, r1a1: u288 { limb0: 0x8c38b3aeea525f3c2d2fdc22, limb1: 0xf838a99d9ec8ed6dcec6a2a8, - limb2: 0x2973d5159ddc479a - } + limb2: 0x2973d5159ddc479a, + }, }, G2Line { r0a0: u288 { limb0: 0x3f058d8c63fd905d3ca29b42, limb1: 0x1f0a90982cc68e4ddcd83e57, - limb2: 0x240aeaae0783fbfa + limb2: 0x240aeaae0783fbfa, }, r0a1: u288 { limb0: 0xedfee81d80da310fdf0d0d8, limb1: 0xc2208e6de8806cf491bd74d4, - limb2: 0xb7318be62a476af + limb2: 0xb7318be62a476af, }, r1a0: u288 { limb0: 0x3c6920c8a24454c634f388fe, limb1: 0x23328a006312a722ae09548b, - limb2: 0x1d2f1c58b80432e2 + limb2: 0x1d2f1c58b80432e2, }, r1a1: u288 { limb0: 0xb72980574f7a877586de3a63, limb1: 0xcd773b87ef4a29c16784c5ae, - limb2: 0x1f812c7e22f339c5 - } + limb2: 0x1f812c7e22f339c5, + }, }, G2Line { r0a0: u288 { limb0: 0xe72c7bcd2ec07cf939c82bf2, limb1: 0xf20f143e871594e88e02564f, - limb2: 0x28a1e3b81f977f43 + limb2: 0x28a1e3b81f977f43, }, r0a1: u288 { limb0: 0xf5788be1af3d8de8da67b79f, limb1: 0x48f88a4e0abb1434db9e7304, - limb2: 0x292130cc233b4429 + limb2: 0x292130cc233b4429, }, r1a0: u288 { limb0: 0x1e5eac242edb50874c5dde70, limb1: 0x24febedd561c1b49f93efde4, - limb2: 0x2673053ad23b2f55 + limb2: 0x2673053ad23b2f55, }, r1a1: u288 { limb0: 0x3dcc892c39d59e3cb3ab2dc7, limb1: 0xbf90bfbeeaf31e4569c33b0f, - limb2: 0x241dd4018555da7 - } + limb2: 0x241dd4018555da7, + }, }, G2Line { r0a0: u288 { limb0: 0xd8e8c28949cdca3f8d4385d7, limb1: 0x98fe4c263e58d50c230f9604, - limb2: 0x96e498dd6ed6312 + limb2: 0x96e498dd6ed6312, }, r0a1: u288 { limb0: 0x693f5c59849b8c6dab40e573, limb1: 0xb9754e3f3c99b4c9a9d3e253, - limb2: 0x2333f41aae69fc1 + limb2: 0x2333f41aae69fc1, }, r1a0: u288 { limb0: 0xc7c0fb6603257da254a953d7, limb1: 0xaf2914e88ac303e54c672acd, - limb2: 0x25a52f889cfe814f + limb2: 0x25a52f889cfe814f, }, r1a1: u288 { limb0: 0x6502eb82951b4604da30a2a9, limb1: 0x9b317811fb6785bac19a8203, - limb2: 0x1cb5c238f6a8f6c8 - } + limb2: 0x1cb5c238f6a8f6c8, + }, }, G2Line { r0a0: u288 { limb0: 0xfeebe92941f95b6ea1d095bb, limb1: 0x9c7962eb8bbeb95a9ca7cf50, - limb2: 0x290bdaf3b9a08dc3 + limb2: 0x290bdaf3b9a08dc3, }, r0a1: u288 { limb0: 0x686cfa11c9d4b93675495599, limb1: 0xb1d69e17b4b5ebf64f0d51e1, - limb2: 0x2c18bb4bdc2e9567 + limb2: 0x2c18bb4bdc2e9567, }, r1a0: u288 { limb0: 0x17419b0f6a04bfc98d71527, limb1: 0x80eba6ff02787e3de964a4d1, - limb2: 0x26087bb100e7ff9f + limb2: 0x26087bb100e7ff9f, }, r1a1: u288 { limb0: 0x17c4ee42c3f612c43a08f689, limb1: 0x7276bdda2df6d51a291dba69, - limb2: 0x40a7220ddb393e1 - } + limb2: 0x40a7220ddb393e1, + }, }, G2Line { r0a0: u288 { limb0: 0x917d90650b71f1ab46bab72, limb1: 0xc1918cfed77a56e1070c0641, - limb2: 0xed0bb71254b669b + limb2: 0xed0bb71254b669b, }, r0a1: u288 { limb0: 0x3ea287920147db34d6f66f4f, limb1: 0x79077d9eba0a62a9cd93b232, - limb2: 0x10741ac25481e28a + limb2: 0x10741ac25481e28a, }, r1a0: u288 { limb0: 0x619c7fea78e866aba4198715, limb1: 0x34846c0b78033f9da1fad5e5, - limb2: 0x154d8e87a1d50a8a + limb2: 0x154d8e87a1d50a8a, }, r1a1: u288 { limb0: 0xf07d32dec360fffd6db7bc17, limb1: 0x73f267153a367f1bd57f5383, - limb2: 0x12c09b76a9ecb04b - } + limb2: 0x12c09b76a9ecb04b, + }, }, G2Line { r0a0: u288 { limb0: 0x830d777c19040571a1d72fd0, limb1: 0x651b2c6b8c292020817a633f, - limb2: 0x268af1e285bc59ff + limb2: 0x268af1e285bc59ff, }, r0a1: u288 { limb0: 0xede78baa381c5bce077f443d, limb1: 0x540ff96bae21cd8b9ae5438b, - limb2: 0x12a1fa7e3b369242 + limb2: 0x12a1fa7e3b369242, }, r1a0: u288 { limb0: 0x797c0608e5a535d8736d4bc5, limb1: 0x375faf00f1147656b7c1075f, - limb2: 0xda60fab2dc5a639 + limb2: 0xda60fab2dc5a639, }, r1a1: u288 { limb0: 0x610d26085cfbebdb30ce476e, limb1: 0x5bc55890ff076827a09e8444, - limb2: 0x14272ee2d25f20b7 - } + limb2: 0x14272ee2d25f20b7, + }, }, G2Line { r0a0: u288 { limb0: 0x5cc8ee1ae0c281270770770a, limb1: 0x875f773ac9a2f4453b76031d, - limb2: 0x2e18a40702156e7e + limb2: 0x2e18a40702156e7e, }, r0a1: u288 { limb0: 0x9a868b9382515fe16c1eacb0, limb1: 0x6c9facfbe6243346ad5d6c8a, - limb2: 0x16555ceba9837031 + limb2: 0x16555ceba9837031, }, r1a0: u288 { limb0: 0xf764e54b3fc901693aae459a, limb1: 0xa67ee51e4af1452067ac0ffe, - limb2: 0x2826818194b192f5 + limb2: 0x2826818194b192f5, }, r1a1: u288 { limb0: 0x61936eafb15f6a8062be4bb7, limb1: 0x9e1a4b26df02958fcf88f197, - limb2: 0x1aa2bcb13967fa84 - } + limb2: 0x1aa2bcb13967fa84, + }, }, G2Line { r0a0: u288 { limb0: 0xd6862e1a4ca3b2baf6f8d8aa, limb1: 0x96f9066dded3a3d899025af4, - limb2: 0x1a98af9f0d48fd3 + limb2: 0x1a98af9f0d48fd3, }, r0a1: u288 { limb0: 0x276b417cc61ea259c114314e, limb1: 0x464399e5e0037b159866b246, - limb2: 0x12cc97dcf32896b5 + limb2: 0x12cc97dcf32896b5, }, r1a0: u288 { limb0: 0xef72647f4c2d08fc038c4377, limb1: 0x34883cea19be9a490a93cf2b, - limb2: 0x10d01394daa61ed0 + limb2: 0x10d01394daa61ed0, }, r1a1: u288 { limb0: 0xdf345239ece3acaa62919643, limb1: 0x914780908ece64e763cca062, - limb2: 0xee2a80dbd2012a3 - } + limb2: 0xee2a80dbd2012a3, + }, }, G2Line { r0a0: u288 { limb0: 0x1d5a31f4d08a0ebf7e071e00, limb1: 0xcd1244dd95dd30005f531f81, - limb2: 0xb4cb469a2dcf4f1 + limb2: 0xb4cb469a2dcf4f1, }, r0a1: u288 { limb0: 0x7c5938adaf38b355092de1f1, limb1: 0x292ab08995b293abfcba14b, - limb2: 0x1fd126a2b9f37c67 + limb2: 0x1fd126a2b9f37c67, }, r1a0: u288 { limb0: 0x6e9d352b02a7cb771fcc33f9, limb1: 0x7754d8536eefda2025a07340, - limb2: 0x1840289291c35a72 + limb2: 0x1840289291c35a72, }, r1a1: u288 { limb0: 0xe85f465417b7bd758c547b2e, limb1: 0xf7f703c3bc55ff8a01fa9365, - limb2: 0xfa301227880a841 - } + limb2: 0xfa301227880a841, + }, }, G2Line { r0a0: u288 { limb0: 0x214fc3a8db005247daee136a, limb1: 0xc37ebf6b47552b9bee766d92, - limb2: 0xb58ed274feb30f6 + limb2: 0xb58ed274feb30f6, }, r0a1: u288 { limb0: 0x905dea9364094d99ec8a9045, limb1: 0x3bfd9fbe57a1d2815913812e, - limb2: 0x10dfd90843c03ab4 + limb2: 0x10dfd90843c03ab4, }, r1a0: u288 { limb0: 0x118f7a0e148e4bda7446fe05, limb1: 0x66583235f020b02a817ec6db, - limb2: 0x2352079b097fceea + limb2: 0x2352079b097fceea, }, r1a1: u288 { limb0: 0xba58bc60f29736ec6df2a879, limb1: 0xbaf7d69e4f04d094074ffad5, - limb2: 0x27b1c5d0ef78b4e7 - } + limb2: 0x27b1c5d0ef78b4e7, + }, }, G2Line { r0a0: u288 { limb0: 0x79be48160d704f2e2e5dca40, limb1: 0x8fbf9f087c596616cea86512, - limb2: 0x1d8a89117fbc7c8 + limb2: 0x1d8a89117fbc7c8, }, r0a1: u288 { limb0: 0xfe8a0cc5bc30a043cb039f3e, limb1: 0xba2d3630acdf8e20b9dd3c3c, - limb2: 0xba977bc2fb18b8f + limb2: 0xba977bc2fb18b8f, }, r1a0: u288 { limb0: 0x487697b042f01992743cef38, limb1: 0xcdf5ff596e895a68f81f7db9, - limb2: 0x2e8c6bec9fdf6256 + limb2: 0x2e8c6bec9fdf6256, }, r1a1: u288 { limb0: 0x26b24c68c759e3a6c6a1e1be, limb1: 0xd110ce390b2cc30f60e04272, - limb2: 0x2ef61a9ef3261262 - } + limb2: 0x2ef61a9ef3261262, + }, }, G2Line { r0a0: u288 { limb0: 0xa4058149e82ea51362b79be4, limb1: 0x734eba2621918a820ae44684, - limb2: 0x110a314a02272b1 + limb2: 0x110a314a02272b1, }, r0a1: u288 { limb0: 0xe2b43963ef5055df3c249613, limb1: 0x409c246f762c0126a1b3b7b7, - limb2: 0x19aa27f34ab03585 + limb2: 0x19aa27f34ab03585, }, r1a0: u288 { limb0: 0x179aad5f620193f228031d62, limb1: 0x6ba32299b05f31b099a3ef0d, - limb2: 0x157724be2a0a651f + limb2: 0x157724be2a0a651f, }, r1a1: u288 { limb0: 0xa33b28d9a50300e4bbc99137, limb1: 0x262a51847049d9b4d8cea297, - limb2: 0x189acb4571d50692 - } + limb2: 0x189acb4571d50692, + }, }, G2Line { r0a0: u288 { limb0: 0xd946f57b3b0729afee82f5bd, limb1: 0xadf28363d79debf1404ef6f1, - limb2: 0x1c6ec53f8e1f685 + limb2: 0x1c6ec53f8e1f685, }, r0a1: u288 { limb0: 0x6326670cc780b7709928fbc2, limb1: 0x6911b53a757220cba583023, - limb2: 0x1a8b3686dff0d70f + limb2: 0x1a8b3686dff0d70f, }, r1a0: u288 { limb0: 0xa8749fb48ebbe0aabb71ba75, limb1: 0xf8d9ab7f732d405fedd6ee74, - limb2: 0x5bfdc6f295776f0 + limb2: 0x5bfdc6f295776f0, }, r1a1: u288 { limb0: 0x894b9e4055ffeec20a7953e1, limb1: 0xdff2a1fba1c35348b8749de3, - limb2: 0x48735157c274b95 - } + limb2: 0x48735157c274b95, + }, }, G2Line { r0a0: u288 { limb0: 0x29bd4381ae4afc677ee37ed6, limb1: 0x29ed43453f9a008d9176f004, - limb2: 0x24134eb915104f43 + limb2: 0x24134eb915104f43, }, r0a1: u288 { limb0: 0x81597f82bb67e90a3e72bdd2, limb1: 0xab3bbde5f7bbb4df6a6b5c19, - limb2: 0x19ac61eea40a367c + limb2: 0x19ac61eea40a367c, }, r1a0: u288 { limb0: 0xe30a79342fb3199651aee2fa, limb1: 0xf500f028a73ab7b7db0104a3, - limb2: 0x808b50e0ecb5e4d + limb2: 0x808b50e0ecb5e4d, }, r1a1: u288 { limb0: 0x55f2818453c31d942444d9d6, limb1: 0xf6dd80c71ab6e893f2cf48db, - limb2: 0x13c3ac4488abd138 - } + limb2: 0x13c3ac4488abd138, + }, }, G2Line { r0a0: u288 { limb0: 0xb7fc2c73d3a21478886c6925, limb1: 0x83f8f0f69bd418cd15cecf76, - limb2: 0x4986ef1d1f37c0c + limb2: 0x4986ef1d1f37c0c, }, r0a1: u288 { limb0: 0x8929725c8a1d7ff0eb249763, limb1: 0x7b7a6c18c6e1940a7bd582a6, - limb2: 0x1dd6e84a61cc2752 + limb2: 0x1dd6e84a61cc2752, }, r1a0: u288 { limb0: 0x46c48446768009b8c1a0d40a, limb1: 0xd20a4867c595c48f2334a8c4, - limb2: 0x51eeff6aec94138 + limb2: 0x51eeff6aec94138, }, r1a1: u288 { limb0: 0x55eafe5e395404eb31dcfe4, limb1: 0xa820fd20250cef46f2825458, - limb2: 0xb96eb80fbf2d040 - } + limb2: 0xb96eb80fbf2d040, + }, }, G2Line { r0a0: u288 { limb0: 0xd1464269bbeafa546f559b8f, limb1: 0xab7f7dcd1ac32b86979471cf, - limb2: 0x6a38256ee96f113 + limb2: 0x6a38256ee96f113, }, r0a1: u288 { limb0: 0xf14d50984e65f9bc41df4e7e, limb1: 0x350aff9be6f9652ad441a3ad, - limb2: 0x1b1e60534b0a6aba + limb2: 0x1b1e60534b0a6aba, }, r1a0: u288 { limb0: 0x9e98507da6cc50a56f023849, limb1: 0xcf8925e03f2bb5c1ba0962dd, - limb2: 0x2b18961810a62f87 + limb2: 0x2b18961810a62f87, }, r1a1: u288 { limb0: 0x3a4c61b937d4573e3f2da299, limb1: 0x6f4c6c13fd90f4edc322796f, - limb2: 0x13f4e99b6a2f025e - } + limb2: 0x13f4e99b6a2f025e, + }, }, G2Line { r0a0: u288 { limb0: 0x2c7391fd0efbf9f8fa7d70bf, limb1: 0xeccd6c2bae8d56b800dc1353, - limb2: 0xe5303c0689a9e57 + limb2: 0xe5303c0689a9e57, }, r0a1: u288 { limb0: 0x19598ac1ef4eec1aa65bb9df, limb1: 0x96a88b783dca84fc7c04537, - limb2: 0x25b5447946e3c22c + limb2: 0x25b5447946e3c22c, }, r1a0: u288 { limb0: 0xf554c51a85400690cf66eb6f, limb1: 0x1c6de9e803bcd80689072c29, - limb2: 0xa476f32f5dd7149 + limb2: 0xa476f32f5dd7149, }, r1a1: u288 { limb0: 0xfa6d6f282b1884f75fb19c3, limb1: 0x9e2279e2cceadbb22bb4936f, - limb2: 0x1022cdda753274dc - } + limb2: 0x1022cdda753274dc, + }, }, G2Line { r0a0: u288 { limb0: 0xe0115a79120ae892a72f3dcb, limb1: 0xec67b5fc9ea414a4020135f, - limb2: 0x1ee364e12321904a + limb2: 0x1ee364e12321904a, }, r0a1: u288 { limb0: 0xa74d09666f9429c1f2041cd9, limb1: 0x57ffe0951f863dd0c1c2e97a, - limb2: 0x154877b2d1908995 + limb2: 0x154877b2d1908995, }, r1a0: u288 { limb0: 0xcbe5e4d2d2c91cdd4ccca0, limb1: 0xe6acea145563a04b2821d120, - limb2: 0x18213221f2937afb + limb2: 0x18213221f2937afb, }, r1a1: u288 { limb0: 0xfe20afa6f6ddeb2cb768a5ae, limb1: 0x1a3b509131945337c3568fcf, - limb2: 0x127b5788263a927e - } + limb2: 0x127b5788263a927e, + }, }, G2Line { r0a0: u288 { limb0: 0xa3d871626cafc52591cba2f5, limb1: 0x9eb27d36f9d6ff81a65e608f, - limb2: 0xc3d9b045879a885 + limb2: 0xc3d9b045879a885, }, r0a1: u288 { limb0: 0x33d9d97851c4759eaa3ec41e, limb1: 0xdef827b9a238dce09fd9a98b, - limb2: 0x3b3e7b317193c08 + limb2: 0x3b3e7b317193c08, }, r1a0: u288 { limb0: 0x73bce84ace690975f772498d, limb1: 0xc7dd71cceb715cbeaba0300b, - limb2: 0xda625363f371385 + limb2: 0xda625363f371385, }, r1a1: u288 { limb0: 0x7ccf1f4e92457cc060cc2dd2, limb1: 0x57a9867b1da25533618b0a38, - limb2: 0x2ce2445b6d3b5d47 - } + limb2: 0x2ce2445b6d3b5d47, + }, }, G2Line { r0a0: u288 { limb0: 0xe7c658aecdab4db3c83f7927, limb1: 0xfbf162264ca04ee50c70bde8, - limb2: 0x2a20f4565b7ff885 + limb2: 0x2a20f4565b7ff885, }, r0a1: u288 { limb0: 0x45b1c2f0a1226361f42683c0, limb1: 0x9acdd892c48c08de047296bc, - limb2: 0x27836373108925d4 + limb2: 0x27836373108925d4, }, r1a0: u288 { limb0: 0xc0ea9294b345e6d4892676a7, limb1: 0xcba74eca77086af245d1606e, - limb2: 0xf20edac89053e72 + limb2: 0xf20edac89053e72, }, r1a1: u288 { limb0: 0x4c92a28f2779a527a68a938c, limb1: 0x3a1c3c55ff9d20eac109fab3, - limb2: 0x21c4a8c524b1ee7d - } + limb2: 0x21c4a8c524b1ee7d, + }, }, G2Line { r0a0: u288 { limb0: 0x2c5b2b73977e0bbe733f02f1, limb1: 0x941ef3cc68b0ec1c58733f97, - limb2: 0x109dfb4fec8eeaa9 + limb2: 0x109dfb4fec8eeaa9, }, r0a1: u288 { limb0: 0x5e519b7be134d6e5176eb638, limb1: 0x8a154c6ff9c0c0e682d51638, - limb2: 0x15abca9e5e8debfd + limb2: 0x15abca9e5e8debfd, }, r1a0: u288 { limb0: 0x589fe2b1434b6c3ccdd54b47, limb1: 0x2d3af377839237e5a832dd21, - limb2: 0x1cc7d69606c03fed + limb2: 0x1cc7d69606c03fed, }, r1a1: u288 { limb0: 0xde1899cc358ffca1459c4725, limb1: 0x3b61b22ac1e07c00ed9a6e90, - limb2: 0xc4ba7a6f58eb44 - } + limb2: 0xc4ba7a6f58eb44, + }, }, G2Line { r0a0: u288 { limb0: 0xa68021d593c46246af22559e, limb1: 0x5c2cfc5bc4cd1b48f4704134, - limb2: 0x296066ede1298f8c + limb2: 0x296066ede1298f8c, }, r0a1: u288 { limb0: 0xfe17dd6765eb9b9625eb6a84, limb1: 0x4e35dd8e8f6088bb14299f8d, - limb2: 0x1a380ab2689106e4 + limb2: 0x1a380ab2689106e4, }, r1a0: u288 { limb0: 0x82bacf337ca09853df42bc59, limb1: 0xa15de4ef34a30014c5a2e9ae, - limb2: 0x243cc0cec53c778b + limb2: 0x243cc0cec53c778b, }, r1a1: u288 { limb0: 0xcb2a1bf18e3ba9349b0a8bf2, limb1: 0x35134b2505cbb5a4c91f0ac4, - limb2: 0x25e45206b13f43c4 - } + limb2: 0x25e45206b13f43c4, + }, }, G2Line { r0a0: u288 { limb0: 0x8e97b007ffd9891bd0e77650, limb1: 0x77671278ac33f17df6b1db88, - limb2: 0x243daddc47f5d5c2 + limb2: 0x243daddc47f5d5c2, }, r0a1: u288 { limb0: 0x655fe4c8bbe5ee06aaa0054b, limb1: 0xf751450b02c93c7ddea95938, - limb2: 0x21aa988e950d563f + limb2: 0x21aa988e950d563f, }, r1a0: u288 { limb0: 0xb51b3b6b8582de3eb0549518, limb1: 0x84a1031766b7e465f5bbf40c, - limb2: 0xd46c2d5b95e5532 + limb2: 0xd46c2d5b95e5532, }, r1a1: u288 { limb0: 0x50b6ddd8a5eef0067652191e, limb1: 0x298832a0bc46ebed8bff6190, - limb2: 0xb568b4fe8311f93 - } + limb2: 0xb568b4fe8311f93, + }, }, G2Line { r0a0: u288 { limb0: 0xdbcb8097378d390b07da248a, limb1: 0x8c1663634643ccfc902fb9ab, - limb2: 0xc86707944dd94dc + limb2: 0xc86707944dd94dc, }, r0a1: u288 { limb0: 0x9e8793757f235c776197a40c, limb1: 0x7dbd3da8b7acc50b88b81d13, - limb2: 0x30275a0ea994486a + limb2: 0x30275a0ea994486a, }, r1a0: u288 { limb0: 0xef0575f2db98a6990b5e711a, limb1: 0x435f838e3006b8a20f712ed7, - limb2: 0x17966a602fe26c9a + limb2: 0x17966a602fe26c9a, }, r1a1: u288 { limb0: 0x5d4bfdefb19390640b2ed319, limb1: 0xa78667173fb7df5f94b4a16a, - limb2: 0x8e4352fb4ae51a2 - } + limb2: 0x8e4352fb4ae51a2, + }, }, G2Line { r0a0: u288 { limb0: 0x6cd6297331a7caa0be521395, limb1: 0x7e756b60245d002f45c0fb0e, - limb2: 0x184bca44f635d83c + limb2: 0x184bca44f635d83c, }, r0a1: u288 { limb0: 0xf90865285ead353404073268, limb1: 0x602b0cb51354964341f10596, - limb2: 0x2f9be8e4ee793677 + limb2: 0x2f9be8e4ee793677, }, r1a0: u288 { limb0: 0x6690385e85e2502acccf0f73, limb1: 0x75cde4d65e511fd1f30fdbfb, - limb2: 0x201c80aa6ed20e16 + limb2: 0x201c80aa6ed20e16, }, r1a1: u288 { limb0: 0x968094989f04e6e32c57134e, limb1: 0xced44e94479ad20ef1a76854, - limb2: 0xc8cc909f185a534 - } + limb2: 0xc8cc909f185a534, + }, }, G2Line { r0a0: u288 { limb0: 0xddb4db99db681d35f71a159c, limb1: 0xf71a330019414e6fdee75700, - limb2: 0x14d9838e7d1918bb + limb2: 0x14d9838e7d1918bb, }, r0a1: u288 { limb0: 0x203c8bac71951a5f2c653710, limb1: 0x9fc93f8da38ecc2957313982, - limb2: 0x7b6d981259cabd9 + limb2: 0x7b6d981259cabd9, }, r1a0: u288 { limb0: 0xa7297cdb5be0cc45d48ca6af, limb1: 0xa07b4b025ebe6c960eddfc56, - limb2: 0xef2a5c30ef00652 + limb2: 0xef2a5c30ef00652, }, r1a1: u288 { limb0: 0xb7f05c76d860e9122b36ecd7, limb1: 0x407d6522e1f9ce2bcbf80eda, - limb2: 0x197625a558f32c36 - } + limb2: 0x197625a558f32c36, + }, }, G2Line { r0a0: u288 { limb0: 0x97e789e67f556840749976fc, limb1: 0xd84af043e944d5b04a2b8bf2, - limb2: 0x2b12733b29b0d0f2 + limb2: 0x2b12733b29b0d0f2, }, r0a1: u288 { limb0: 0xc26f93b9a33a3a014aa0d63e, limb1: 0xa7bb6212b74b1d178ca2c461, - limb2: 0x7ff0135d877564a + limb2: 0x7ff0135d877564a, }, r1a0: u288 { limb0: 0xafd419b0ec21da02a2ab2d18, limb1: 0x2a4be9f89330466fbf862ab6, - limb2: 0x86ef4c7ef738225 + limb2: 0x86ef4c7ef738225, }, r1a1: u288 { limb0: 0xa09427825229ef33a181b63a, limb1: 0xe6ad699b1fab9a393ee44509, - limb2: 0x277c698746a431ea - } + limb2: 0x277c698746a431ea, + }, }, G2Line { r0a0: u288 { limb0: 0xb0f04df9dec94801e48a6ff7, limb1: 0xdc59d087c627d38334e5b969, - limb2: 0x3d36e11420be053 + limb2: 0x3d36e11420be053, }, r0a1: u288 { limb0: 0xc80f070001aa1586189e0215, limb1: 0xff849fcbbbe7c00c83ab5282, - limb2: 0x2a2354b2882706a6 + limb2: 0x2a2354b2882706a6, }, r1a0: u288 { limb0: 0x48cf70c80f08b6c7dc78adb2, limb1: 0xc6632efa77b36a4a1551d003, - limb2: 0xc2d3533ece75879 + limb2: 0xc2d3533ece75879, }, r1a1: u288 { limb0: 0x63e82ba26617416a0b76ddaa, limb1: 0xdaceb24adda5a049bed29a50, - limb2: 0x1a82061a3344043b - } + limb2: 0x1a82061a3344043b, + }, }, G2Line { r0a0: u288 { limb0: 0x473461f8672727e9ffa7c398, limb1: 0xaf2ae23f8f850a93ca51d377, - limb2: 0x2a2aa81268836446 + limb2: 0x2a2aa81268836446, }, r0a1: u288 { limb0: 0x678d0df15b589c522e0f6d57, limb1: 0xf5bb7af20c01400bafb375ab, - limb2: 0xfb0dcf47bd22abe + limb2: 0xfb0dcf47bd22abe, }, r1a0: u288 { limb0: 0x840273537792af0d0fa5532a, limb1: 0xceebd5b43f66b4e252465428, - limb2: 0x126f3ae4ddbc2031 + limb2: 0x126f3ae4ddbc2031, }, r1a1: u288 { limb0: 0xff451566c1fcfe01edf44a57, limb1: 0x90ad9e37524e5aa9552f4848, - limb2: 0x1afee273872f8558 - } + limb2: 0x1afee273872f8558, + }, }, G2Line { r0a0: u288 { limb0: 0x9152fecf0f523415acc7c7be, limb1: 0xd9632cbfccc4ea5d7bf31177, - limb2: 0x2d7288c5f8c83ab1 + limb2: 0x2d7288c5f8c83ab1, }, r0a1: u288 { limb0: 0x53144bfe4030f3f9f5efda8, limb1: 0xfeec394fbf392b11c66bae27, - limb2: 0x28840813ab8a200b + limb2: 0x28840813ab8a200b, }, r1a0: u288 { limb0: 0xdec3b11fbc28b305d9996ec7, limb1: 0x5b5f8d9d17199e149c9def6e, - limb2: 0x10c1a149b6751bae + limb2: 0x10c1a149b6751bae, }, r1a1: u288 { limb0: 0x665e8eb7e7d376a2d921c889, limb1: 0xfdd76d06e46ee1a943b8788d, - limb2: 0x8bb21d9960e837b - } + limb2: 0x8bb21d9960e837b, + }, }, G2Line { r0a0: u288 { limb0: 0x3a67c28a175200e631aa506a, limb1: 0x7397303a34968ff17c06e801, - limb2: 0x1b81e0c63123688b + limb2: 0x1b81e0c63123688b, }, r0a1: u288 { limb0: 0x3490cfd4f076c621dac4a12c, limb1: 0xec183578c91b90b72e5887b7, - limb2: 0x179fb354f608da00 + limb2: 0x179fb354f608da00, }, r1a0: u288 { limb0: 0x9322bde2044dde580a78ba33, limb1: 0xfc74821b668d3570cad38f8b, - limb2: 0x8cec54a291f5e57 + limb2: 0x8cec54a291f5e57, }, r1a1: u288 { limb0: 0xc2818b6a9530ee85d4b2ae49, limb1: 0x8d7b651ad167f2a43d7a2d0a, - limb2: 0x7c9ca9bab0ffc7f - } + limb2: 0x7c9ca9bab0ffc7f, + }, }, G2Line { r0a0: u288 { limb0: 0x5fd646ef2dbbf7900b22c4f9, limb1: 0xb570d4b312025ab6a457a604, - limb2: 0x15705c5227a054f9 + limb2: 0x15705c5227a054f9, }, r0a1: u288 { limb0: 0x250623965dd8aa6332d6b309, limb1: 0x983ac0634d10fad03a2b04e3, - limb2: 0x2066f7571a63d80b + limb2: 0x2066f7571a63d80b, }, r1a0: u288 { limb0: 0xa0a6c604d57330312d443bf4, limb1: 0x18e4218e5fe795fd18bbb5a3, - limb2: 0x230c3fe7c21093e4 + limb2: 0x230c3fe7c21093e4, }, r1a1: u288 { limb0: 0xa516edc5b6c21a7a3b76eb39, limb1: 0x33e9b3d9d3cb10e483760299, - limb2: 0x21691bae8377c5d3 - } + limb2: 0x21691bae8377c5d3, + }, }, G2Line { r0a0: u288 { limb0: 0xd0e45dcb44d7ac9f608ff467, limb1: 0xa5caf677a2dba4ef48ee021, - limb2: 0x2059a94678da4ba + limb2: 0x2059a94678da4ba, }, r0a1: u288 { limb0: 0xcc69cd267c7d0aa927d5a5ee, limb1: 0x284683ac1a2dc9daee692408, - limb2: 0x19f923f3b031dd2c + limb2: 0x19f923f3b031dd2c, }, r1a0: u288 { limb0: 0x52d42ec97ef4ee35e35e8afb, limb1: 0x42fa4e25346a269577c06677, - limb2: 0xfa902cc6767142e + limb2: 0xfa902cc6767142e, }, r1a1: u288 { limb0: 0x7d08d1a81f6af3a722eaca21, limb1: 0xaec250560f8a402fcdb429aa, - limb2: 0x1867fe2267bae5b6 - } + limb2: 0x1867fe2267bae5b6, + }, }, G2Line { r0a0: u288 { limb0: 0xa576408f8300de3a7714e6ae, limb1: 0xe1072c9a16f202ecf37fbc34, - limb2: 0x1b0cb1e2b5871263 + limb2: 0x1b0cb1e2b5871263, }, r0a1: u288 { limb0: 0x2128e2314694b663286e231e, limb1: 0x54bea71957426f002508f715, - limb2: 0x36ecc5dbe069dca + limb2: 0x36ecc5dbe069dca, }, r1a0: u288 { limb0: 0x17c77cd88f9d5870957850ce, limb1: 0xb7f4ec2bc270ce30538fe9b8, - limb2: 0x766279e588592bf + limb2: 0x766279e588592bf, }, r1a1: u288 { limb0: 0x1b6caddf18de2f30fa650122, limb1: 0x40b77237a29cada253c126c6, - limb2: 0x74ff1349b1866c8 - } + limb2: 0x74ff1349b1866c8, + }, }, G2Line { r0a0: u288 { limb0: 0xdfe2149e4c340f0f977818e, limb1: 0x4aa73da39507ab61393b0a8f, - limb2: 0x55afd3af80c6333 + limb2: 0x55afd3af80c6333, }, r0a1: u288 { limb0: 0xeb0ba65f392d7776bc4e594d, limb1: 0x79270f23defb3919d03163eb, - limb2: 0x1432e9c69f6597cd + limb2: 0x1432e9c69f6597cd, }, r1a0: u288 { limb0: 0x75e1c3546129fe4dfa15b4d1, limb1: 0xe2fede56842e4f6a87600bf2, - limb2: 0x1f5fceb2bd6baf44 + limb2: 0x1f5fceb2bd6baf44, }, r1a1: u288 { limb0: 0x1d016f0eb8fdd05e6d13013b, limb1: 0x84b16f8cbdf1fe877670baa9, - limb2: 0x2827768073a428fe - } + limb2: 0x2827768073a428fe, + }, }, G2Line { r0a0: u288 { limb0: 0x3603266e05560becab36faef, limb1: 0x8c3b88c9390278873dd4b048, - limb2: 0x24a715a5d9880f38 + limb2: 0x24a715a5d9880f38, }, r0a1: u288 { limb0: 0xe9f595b111cfd00d1dd28891, limb1: 0x75c6a392ab4a627f642303e1, - limb2: 0x17b34a30def82ab6 + limb2: 0x17b34a30def82ab6, }, r1a0: u288 { limb0: 0xe706de8f35ac8372669fc8d3, limb1: 0x16cc7f4032b3f3ebcecd997d, - limb2: 0x166eba592eb1fc78 + limb2: 0x166eba592eb1fc78, }, r1a1: u288 { limb0: 0x7d584f102b8e64dcbbd1be9, limb1: 0x2ead4092f009a9c0577f7d3, - limb2: 0x2fe2c31ee6b1d41e - } + limb2: 0x2fe2c31ee6b1d41e, + }, }, G2Line { r0a0: u288 { limb0: 0x72253d939632f8c28fb5763, limb1: 0x9b943ab13cad451aed1b08a2, - limb2: 0xdb9b2068e450f10 + limb2: 0xdb9b2068e450f10, }, r0a1: u288 { limb0: 0x80f025dcbce32f6449fa7719, limb1: 0x8a0791d4d1ed60b86e4fe813, - limb2: 0x1b1bd5dbce0ea966 + limb2: 0x1b1bd5dbce0ea966, }, r1a0: u288 { limb0: 0xaa72a31de7d815ae717165d4, limb1: 0x501c29c7b6aebc4a1b44407f, - limb2: 0x464aa89f8631b3a + limb2: 0x464aa89f8631b3a, }, r1a1: u288 { limb0: 0x6b8d137e1ea43cd4b1f616b1, limb1: 0xdd526a510cc84f150cc4d55a, - limb2: 0x1da2ed980ebd3f29 - } + limb2: 0x1da2ed980ebd3f29, + }, }, G2Line { r0a0: u288 { limb0: 0xf7550f29b2490e0f2a4e2c7f, limb1: 0x5da7008505dcd72e4af83d81, - limb2: 0xa635c82bc641341 + limb2: 0xa635c82bc641341, }, r0a1: u288 { limb0: 0xb4536bb43ce47f44107ecdae, limb1: 0x978283d291702bf7d638b1b2, - limb2: 0xbfb8f1b15e61cee + limb2: 0xbfb8f1b15e61cee, }, r1a0: u288 { limb0: 0x595ecaca9a66ba86e5ee25be, limb1: 0x7e4182944606a828e57d7d07, - limb2: 0x2069fe9edc3b22cf + limb2: 0x2069fe9edc3b22cf, }, r1a1: u288 { limb0: 0x798b743b9edabbb12e77e4d, limb1: 0x572ba71d9d2370e5cd0d86c9, - limb2: 0x2412d38ad51d6d9d - } + limb2: 0x2412d38ad51d6d9d, + }, }, G2Line { r0a0: u288 { limb0: 0x590a676d88841cb9954ee256, limb1: 0xbd64d85d808c1d1b6245a8f8, - limb2: 0x2214134d4b92a04e + limb2: 0x2214134d4b92a04e, }, r0a1: u288 { limb0: 0x8390497531c6174c7fef5c8d, limb1: 0xe89cdbcdaed094595402d9cd, - limb2: 0x3002adf5ee15c58d + limb2: 0x3002adf5ee15c58d, }, r1a0: u288 { limb0: 0xee4e55dfd0cbfb767d77958d, limb1: 0xfb99c38c54dde247e8c16ec3, - limb2: 0x25be0a00eeacced2 + limb2: 0x25be0a00eeacced2, }, r1a1: u288 { limb0: 0x3332c7176c86556812fd074e, limb1: 0x2df615b45b95ec14c9b6ca59, - limb2: 0x24ca6b711f0b9158 - } + limb2: 0x24ca6b711f0b9158, + }, }, G2Line { r0a0: u288 { limb0: 0x867cced8a010850958f41ff5, limb1: 0x6a37fdb2b8993eed18bafe8e, - limb2: 0x21b9f782109e5a7 + limb2: 0x21b9f782109e5a7, }, r0a1: u288 { limb0: 0x7307477d650618e66de38d0f, limb1: 0xacb622ce92a7e393dbe10ba1, - limb2: 0x236e70838cee0ed5 + limb2: 0x236e70838cee0ed5, }, r1a0: u288 { limb0: 0xb564a308aaf5dda0f4af0f0d, limb1: 0x55fc71e2f13d8cb12bd51e74, - limb2: 0x294cf115a234a9e9 + limb2: 0x294cf115a234a9e9, }, r1a1: u288 { limb0: 0xbd166057df55c135b87f35f3, limb1: 0xf9f29b6c50f1cce9b85ec9b, - limb2: 0x2e8448d167f20f96 - } + limb2: 0x2e8448d167f20f96, + }, }, G2Line { r0a0: u288 { limb0: 0xfc8b7ceec44c187218b0a628, limb1: 0xad8ab26e533851f6964cf080, - limb2: 0x141e03c350014d73 + limb2: 0x141e03c350014d73, }, r0a1: u288 { limb0: 0xa99377ed869aed282af105bd, limb1: 0x1e539a6a00a53a3a7116a5bb, - limb2: 0x1843fc93640235e5 + limb2: 0x1843fc93640235e5, }, r1a0: u288 { limb0: 0x4eaed4a7f79772e125537900, limb1: 0x99a9d1eb5ae07f5ffce34a0e, - limb2: 0x30509134887182b0 + limb2: 0x30509134887182b0, }, r1a1: u288 { limb0: 0x2afd0eba785d800601426d67, limb1: 0x2a95a13d8a163a4d9c942149, - limb2: 0x1744f70d096b1075 - } + limb2: 0x1744f70d096b1075, + }, }, G2Line { r0a0: u288 { limb0: 0xdedaff3205bb953b2c390b8a, limb1: 0xe1a899da21c1dafb485c707e, - limb2: 0x1ec897e7a041493e + limb2: 0x1ec897e7a041493e, }, r0a1: u288 { limb0: 0xf52c3c30cd4d3202b34089e0, limb1: 0xc652aa1ff533e1aad7532305, - limb2: 0x2a1df766e5e3aa2e + limb2: 0x2a1df766e5e3aa2e, }, r1a0: u288 { limb0: 0x7ac695d3e19d79b234daaf3d, limb1: 0x5ce2f92666aec92a650feee1, - limb2: 0x21ab4fe20d978e77 + limb2: 0x21ab4fe20d978e77, }, r1a1: u288 { limb0: 0xa64a913a29a1aed4e0798664, limb1: 0x66bc208b511503d127ff5ede, - limb2: 0x2389ba056de56a8d - } + limb2: 0x2389ba056de56a8d, + }, }, G2Line { r0a0: u288 { limb0: 0xbe894c9cefe9c46c519951de, limb1: 0x6a41efe6eec9e31520053d44, - limb2: 0xf4b593a835cf530 + limb2: 0xf4b593a835cf530, }, r0a1: u288 { limb0: 0xeb27d1c9157c9746c3575d80, limb1: 0xcc0bfd86a701af6652a47ff, - limb2: 0xf70ea9c35108131 + limb2: 0xf70ea9c35108131, }, r1a0: u288 { limb0: 0x86c07fbaa913e6826b293b91, limb1: 0xb18a5a5f195d0c8fcf4c9b96, - limb2: 0x21116cc6ff2a6341 + limb2: 0x21116cc6ff2a6341, }, r1a1: u288 { limb0: 0xa2edb14bb741154545792f12, limb1: 0x89644490effc10bc0b9c087, - limb2: 0x255559b492be7e42 - } + limb2: 0x255559b492be7e42, + }, }, G2Line { r0a0: u288 { limb0: 0xd88b16e68600a12e6c1f6006, limb1: 0x333243b43d3b7ff18d0cc671, - limb2: 0x2b84b2a9b0f03ed8 + limb2: 0x2b84b2a9b0f03ed8, }, r0a1: u288 { limb0: 0xf3e2b57ddaac822c4da09991, limb1: 0xd7c894b3fe515296bb054d2f, - limb2: 0x10a75e4c6dddb441 + limb2: 0x10a75e4c6dddb441, }, r1a0: u288 { limb0: 0x73c65fbbb06a7b21b865ac56, limb1: 0x21f4ecd1403bb78729c7e99b, - limb2: 0xaf88a160a6b35d4 + limb2: 0xaf88a160a6b35d4, }, r1a1: u288 { limb0: 0xade61ce10b8492d659ff68d0, limb1: 0x1476e76cf3a8e0df086ad9eb, - limb2: 0x2e28cfc65d61e946 - } + limb2: 0x2e28cfc65d61e946, + }, }, G2Line { r0a0: u288 { limb0: 0xdf8b54b244108008e7f93350, limb1: 0x2ae9a68b9d6b96f392decd6b, - limb2: 0x160b19eed152271c + limb2: 0x160b19eed152271c, }, r0a1: u288 { limb0: 0xc18a8994cfbb2e8df446e449, limb1: 0x408d51e7e4adedd8f4f94d06, - limb2: 0x27661b404fe90162 + limb2: 0x27661b404fe90162, }, r1a0: u288 { limb0: 0x1390b2a3b27f43f7ac73832c, limb1: 0x14d57301f6002fd328f2d64d, - limb2: 0x17f3fa337367dddc + limb2: 0x17f3fa337367dddc, }, r1a1: u288 { limb0: 0x79cab8ff5bf2f762c5372f80, limb1: 0xc979d6f385fae4b5e4785acf, - limb2: 0x60c5307a735b00f - } + limb2: 0x60c5307a735b00f, + }, }, G2Line { r0a0: u288 { limb0: 0x9c63cc02c784e055248c3eed, limb1: 0xfd16031abbbc57c520b3448c, - limb2: 0x123ce33363d29152 + limb2: 0x123ce33363d29152, }, r0a1: u288 { limb0: 0xfda091461a1cef9950d3d452, limb1: 0x637d5ff5a189c44f2f3be15c, - limb2: 0x1ce131a349febf1c + limb2: 0x1ce131a349febf1c, }, r1a0: u288 { limb0: 0x388902ae8f293fda6dd5e253, limb1: 0xd65a5c2dd9ba165e52942ce5, - limb2: 0x9b4d425a8b8716a + limb2: 0x9b4d425a8b8716a, }, r1a1: u288 { limb0: 0x32d6961e3fded32a7f74b3c3, limb1: 0x69e203465d4f4f5de03b6304, - limb2: 0x1ea4dd6337833093 - } + limb2: 0x1ea4dd6337833093, + }, }, G2Line { r0a0: u288 { limb0: 0x13e26ec64f90f19a9fc24a14, limb1: 0xb723427b23f8f37bc71be2c3, - limb2: 0x2011d52c72ddcb87 + limb2: 0x2011d52c72ddcb87, }, r0a1: u288 { limb0: 0xf2e7ebf099f1b3e5d8b28a20, limb1: 0x35b51b2f930d6b7f41ab3f1b, - limb2: 0x26f365ce86167188 + limb2: 0x26f365ce86167188, }, r1a0: u288 { limb0: 0x10e32b59b52b0906b96d83df, limb1: 0xefbd70cad041c74a3ef1bda0, - limb2: 0x2589877cff897640 + limb2: 0x2589877cff897640, }, r1a1: u288 { limb0: 0x8df3430f6a567e745f702992, limb1: 0xfc341d1eaf0c10eec340bf9b, - limb2: 0x1e4c94f61793bb7b - } + limb2: 0x1e4c94f61793bb7b, + }, }, G2Line { r0a0: u288 { limb0: 0x386d7b23c6dccb87637018c9, limb1: 0xfed2ea478e9a2210289079e2, - limb2: 0x100aa83cb843353e + limb2: 0x100aa83cb843353e, }, r0a1: u288 { limb0: 0x229c5c285f049d04c3dc5ce7, limb1: 0x28110670fe1d38c53ffcc6f7, - limb2: 0x1778918279578f50 + limb2: 0x1778918279578f50, }, r1a0: u288 { limb0: 0xe9ad2c7b8a17a1f1627ff09d, limb1: 0xedff5563c3c3e7d2dcc402ec, - limb2: 0xa8bd6770b6d5aa8 + limb2: 0xa8bd6770b6d5aa8, }, r1a1: u288 { limb0: 0x66c5c1aeed5c04470b4e8a3d, limb1: 0x846e73d11f2d18fe7e1e1aa2, - limb2: 0x10a60eabe0ec3d78 - } + limb2: 0x10a60eabe0ec3d78, + }, }, G2Line { r0a0: u288 { limb0: 0x675cc9c385f8658ad4f95b8f, limb1: 0x46072c9276ee065cea42b3bf, - limb2: 0xbd1d099998eaab5 + limb2: 0xbd1d099998eaab5, }, r0a1: u288 { limb0: 0xb5a009ebdae77421ca09efdd, limb1: 0x247d947b95fe2e8593afcfb8, - limb2: 0x1169983817087c53 + limb2: 0x1169983817087c53, }, r1a0: u288 { limb0: 0xafecdb2936ac4202959a366d, limb1: 0xa952b225eacf34300e3b2c11, - limb2: 0x2d3452e5608ee9db + limb2: 0x2d3452e5608ee9db, }, r1a1: u288 { limb0: 0x86acf5efc205740641f2f711, limb1: 0x23725a6d2ce73462f6496ae3, - limb2: 0x2d2908ce56b326cd - } + limb2: 0x2d2908ce56b326cd, + }, }, G2Line { r0a0: u288 { limb0: 0x88ca191d85be1f6c205257ef, limb1: 0xd0cecf5c5f80926c77fd4870, - limb2: 0x16ec42b5cae83200 + limb2: 0x16ec42b5cae83200, }, r0a1: u288 { limb0: 0x154cba82460752b94916186d, limb1: 0x564f6bebac05a4f3fb1353ac, - limb2: 0x2d47a47da836d1a7 + limb2: 0x2d47a47da836d1a7, }, r1a0: u288 { limb0: 0xb39c4d6150bd64b4674f42ba, limb1: 0x93c967a38fe86f0779bf4163, - limb2: 0x1a51995a49d50f26 + limb2: 0x1a51995a49d50f26, }, r1a1: u288 { limb0: 0xeb7bdec4b7e304bbb0450608, limb1: 0x11fc9a124b8c74b3d5560ea4, - limb2: 0xbfa9bd7f55ad8ac - } + limb2: 0xbfa9bd7f55ad8ac, + }, }, G2Line { r0a0: u288 { limb0: 0x8ac4b290d5156e3e7fa4eb6c, limb1: 0x8d74a3b09d5503f6542b071a, - limb2: 0x1c7c5837e2e98023 + limb2: 0x1c7c5837e2e98023, }, r0a1: u288 { limb0: 0xf62d5c02d7029d7049a05e29, limb1: 0xceeca19b95c93209d1eddf4c, - limb2: 0x289ba7fe4810af60 + limb2: 0x289ba7fe4810af60, }, r1a0: u288 { limb0: 0xa1ff7e417257a17c65e1a90d, limb1: 0x2ba9075ef59406b3a2499cd7, - limb2: 0x19c14ffdfa679063 + limb2: 0x19c14ffdfa679063, }, r1a1: u288 { limb0: 0xc4002e7f1c1427dd90e32241, limb1: 0xf0c32e9566ed7b68d43b5f1c, - limb2: 0x10ed8a335bc8ef5e - } + limb2: 0x10ed8a335bc8ef5e, + }, }, G2Line { r0a0: u288 { limb0: 0x2fdc574c85cf0c0ce5e07a51, limb1: 0xd2439bf7b00bddc4cfb01b0c, - limb2: 0x125c3bbdeb0bd2da + limb2: 0x125c3bbdeb0bd2da, }, r0a1: u288 { limb0: 0x9d664714bae53cafcb5ef55d, limb1: 0x495c01724790853548f5e4de, - limb2: 0x2ce5e2e263725941 + limb2: 0x2ce5e2e263725941, }, r1a0: u288 { limb0: 0x98071eb7fe88c9124aee3774, limb1: 0xc3f66947a52bd2f6d520579f, - limb2: 0x2eaf775dbd52f7d3 + limb2: 0x2eaf775dbd52f7d3, }, r1a1: u288 { limb0: 0x23e5594948e21db2061dca92, limb1: 0xd0ffa6f6c77290531c185431, - limb2: 0x604c085de03afb1 - } + limb2: 0x604c085de03afb1, + }, }, G2Line { r0a0: u288 { limb0: 0x4983b91e0e5edcba05059d54, limb1: 0x5f3145341793c07682b08603, - limb2: 0x108ceb28246075ac + limb2: 0x108ceb28246075ac, }, r0a1: u288 { limb0: 0xca59dfe54f67accbd8399b9e, limb1: 0xef2c5096cdbac06f799c31b9, - limb2: 0x7d170f63d0bc9f5 + limb2: 0x7d170f63d0bc9f5, }, r1a0: u288 { limb0: 0x74e9b29b0793f5101b19e7db, limb1: 0xd34343845d2d6a013ffe76b0, - limb2: 0x2119d53a2fbaebff + limb2: 0x2119d53a2fbaebff, }, r1a1: u288 { limb0: 0x904bb445baeac56041fc9a41, limb1: 0xc300a959bcbab62e415c9599, - limb2: 0x188e914b6ea3a25e - } + limb2: 0x188e914b6ea3a25e, + }, }, G2Line { r0a0: u288 { limb0: 0xeec2912e15f6bda39d4e005e, limb1: 0x2b8610c44d27bdbc6ba2aac5, - limb2: 0x78ddc4573fc1fed + limb2: 0x78ddc4573fc1fed, }, r0a1: u288 { limb0: 0x48099a0da11ea21de015229d, limb1: 0x5fe937100967d5cc544f4af1, - limb2: 0x2c9ffe6d7d7e9631 + limb2: 0x2c9ffe6d7d7e9631, }, r1a0: u288 { limb0: 0xa70d251296ef1ae37ceb7d03, limb1: 0x2adadcb7d219bb1580e6e9c, - limb2: 0x180481a57f22fd03 + limb2: 0x180481a57f22fd03, }, r1a1: u288 { limb0: 0xacf46db9631037dd933eb72a, limb1: 0x8a58491815c7656292a77d29, - limb2: 0x261e3516c348ae12 - } + limb2: 0x261e3516c348ae12, + }, }, G2Line { r0a0: u288 { limb0: 0x8629cdd5e145fde3568fd43, limb1: 0x400c419a21cc9444e939cf6b, - limb2: 0x2595c12cfa11df93 + limb2: 0x2595c12cfa11df93, }, r0a1: u288 { limb0: 0x7912da4ae785a0a99325a792, limb1: 0x113296d83e3a33cc4d0e2171, - limb2: 0x18916b0e597ec399 + limb2: 0x18916b0e597ec399, }, r1a0: u288 { limb0: 0xd9d365d20926cd19d741fac, limb1: 0xfb8e91f161e3e857edf0f5f1, - limb2: 0x2aa07a692a41ed18 + limb2: 0x2aa07a692a41ed18, }, r1a1: u288 { limb0: 0xf40d0720adcc24c769e341a5, limb1: 0xb97e4af1a0dc0cb5e1ef38ef, - limb2: 0x53c33301c8fed90 - } + limb2: 0x53c33301c8fed90, + }, }, G2Line { r0a0: u288 { limb0: 0x2bfa32f0a09c3e2cfb8f6a38, limb1: 0x7a24df3ff3c7119a59d49318, - limb2: 0x10e42281d64907ba + limb2: 0x10e42281d64907ba, }, r0a1: u288 { limb0: 0xce42177a66cdeb4207d11e0c, limb1: 0x3322aa425a9ca270152372ad, - limb2: 0x2f7fa83db407600c + limb2: 0x2f7fa83db407600c, }, r1a0: u288 { limb0: 0x62a8ff94fd1c7b9035af4446, limb1: 0x3ad500601bbb6e7ed1301377, - limb2: 0x254d253ca06928f + limb2: 0x254d253ca06928f, }, r1a1: u288 { limb0: 0xf8f1787cd8e730c904b4386d, limb1: 0x7fd3744349918d62c42d24cc, - limb2: 0x28a05e105d652eb8 - } + limb2: 0x28a05e105d652eb8, + }, }, G2Line { r0a0: u288 { limb0: 0x6ef31e059d602897fa8e80a8, limb1: 0x66a0710847b6609ceda5140, - limb2: 0x228c0e568f1eb9c0 + limb2: 0x228c0e568f1eb9c0, }, r0a1: u288 { limb0: 0x7b47b1b133c1297b45cdd79b, limb1: 0x6b4f04ed71b58dafd06b527b, - limb2: 0x13ae6db5254df01a + limb2: 0x13ae6db5254df01a, }, r1a0: u288 { limb0: 0xbeca2fccf7d0754dcf23ddda, limb1: 0xe3d0bcd7d9496d1e5afb0a59, - limb2: 0x305a0afb142cf442 + limb2: 0x305a0afb142cf442, }, r1a1: u288 { limb0: 0x2d299847431477c899560ecf, limb1: 0xbcd9e6c30bedee116b043d8d, - limb2: 0x79473a2a7438353 - } + limb2: 0x79473a2a7438353, + }, }, G2Line { r0a0: u288 { limb0: 0x4bf333418ae65a79be01b42c, limb1: 0x7b21ed1382c0c50e2ff44e84, - limb2: 0x826d5429701ad4f + limb2: 0x826d5429701ad4f, }, r0a1: u288 { limb0: 0x659ec0ccc8a54d15f40741a5, limb1: 0xdef9f8893fcdc429f575ff81, - limb2: 0x2521f3f6a385ce88 + limb2: 0x2521f3f6a385ce88, }, r1a0: u288 { limb0: 0xe2475c786cf18c448c10cfba, limb1: 0xf6fd377e663cd8f70113485e, - limb2: 0x2f866df9d71d1203 + limb2: 0x2f866df9d71d1203, }, r1a1: u288 { limb0: 0x6e6154e7fb702e585b725874, limb1: 0x3dd6afe8713ee4a89150e941, - limb2: 0x1ad82561f12faf96 - } + limb2: 0x1ad82561f12faf96, + }, }, G2Line { r0a0: u288 { limb0: 0xa2ae1484e410f15d4c865c6f, limb1: 0x38c03955a4b41b98ec168058, - limb2: 0x2c11dc796ade582e + limb2: 0x2c11dc796ade582e, }, r0a1: u288 { limb0: 0x9f01d36070072f1f68f59e40, limb1: 0x7d698d2f45990590d450e964, - limb2: 0x18f20c083a7436da + limb2: 0x18f20c083a7436da, }, r1a0: u288 { limb0: 0x8e7784ed907dbd25195d7da1, limb1: 0x4e659132fef2b2a014a8658, - limb2: 0x191000817c8dfb33 + limb2: 0x191000817c8dfb33, }, r1a1: u288 { limb0: 0xb1973c468f164953864b0c33, limb1: 0x1382dbba13d9a77b7fb2fba1, - limb2: 0x1935eee5346c0bf - } + limb2: 0x1935eee5346c0bf, + }, }, G2Line { r0a0: u288 { limb0: 0x65b71fe695e7ccd4b460dace, limb1: 0xa6ceba62ef334e6fe91301d5, - limb2: 0x299f578d0f3554e6 + limb2: 0x299f578d0f3554e6, }, r0a1: u288 { limb0: 0xaf781dd030a274e7ecf0cfa4, limb1: 0x2095020d373a14d7967797aa, - limb2: 0x6a7f9df6f185bf8 + limb2: 0x6a7f9df6f185bf8, }, r1a0: u288 { limb0: 0x8e91e2dba67d130a0b274df3, limb1: 0xe192a19fce285c12c6770089, - limb2: 0x6e9acf4205c2e22 + limb2: 0x6e9acf4205c2e22, }, r1a1: u288 { limb0: 0xbcd5c206b5f9c77d667189bf, limb1: 0x656a7e2ebc78255d5242ca9, - limb2: 0x25f43fec41d2b245 - } + limb2: 0x25f43fec41d2b245, + }, }, G2Line { r0a0: u288 { limb0: 0x16a01fe226cb906356469222, limb1: 0x4277d50794500ca8a6d93550, - limb2: 0x2cc16a055b005e1c + limb2: 0x2cc16a055b005e1c, }, r0a1: u288 { limb0: 0xf08176a2a762310c7f5a0d79, limb1: 0xe8ff955f36e956afcc65b18d, - limb2: 0x104c3fa43e0144ca + limb2: 0x104c3fa43e0144ca, }, r1a0: u288 { limb0: 0x83d1006aac3dc6164c2f5349, limb1: 0x8b6949205e118d87a41bd72, - limb2: 0x1c8bfbcb7a77e435 + limb2: 0x1c8bfbcb7a77e435, }, r1a1: u288 { limb0: 0xbaabbd1ebf18244d71fe44d, limb1: 0x84d1ad747d88667827607b5d, - limb2: 0x2987105c580454ce - } + limb2: 0x2987105c580454ce, + }, }, G2Line { r0a0: u288 { limb0: 0x4e56e6733cce20d9c5b16d96, limb1: 0xc7ef260535fb75b9d3e089f, - limb2: 0x292dd4aa636e7729 + limb2: 0x292dd4aa636e7729, }, r0a1: u288 { limb0: 0x6e7e1038b336f36519c9faaf, limb1: 0x3c66bd609510309485e225c7, - limb2: 0x10cacac137411eb + limb2: 0x10cacac137411eb, }, r1a0: u288 { limb0: 0x4a3e8b96278ac092fe4f3b15, limb1: 0xba47e583e2750b42f93c9631, - limb2: 0x125da6bd69495bb9 + limb2: 0x125da6bd69495bb9, }, r1a1: u288 { limb0: 0xae7a56ab4b959a5f6060d529, limb1: 0xc3c263bfd58c0030c063a48e, - limb2: 0x2f4d15f13fae788c - } + limb2: 0x2f4d15f13fae788c, + }, }, G2Line { r0a0: u288 { limb0: 0x301e0885c84d273b6d323124, limb1: 0x11fd5c75e269f7a30fa4154f, - limb2: 0x19afdcfdcce2fc0d + limb2: 0x19afdcfdcce2fc0d, }, r0a1: u288 { limb0: 0x3d13519f934526be815c38b0, limb1: 0xd43735909547da73838874fc, - limb2: 0x255d8aca30f4e0f6 + limb2: 0x255d8aca30f4e0f6, }, r1a0: u288 { limb0: 0x90a505b76f25a3396e2cea79, limb1: 0x3957a2d0848c54b9079fc114, - limb2: 0x1ba0cd3a9fe6d4bb + limb2: 0x1ba0cd3a9fe6d4bb, }, r1a1: u288 { limb0: 0xc47930fba77a46ebb1db30a9, limb1: 0x993a1cb166e9d40bebab02b2, - limb2: 0x1deb16166d48118b - } + limb2: 0x1deb16166d48118b, + }, }, G2Line { r0a0: u288 { limb0: 0x85d75bc97d6ce75681261b3, limb1: 0x2fec226ae2f731465e5d00d8, - limb2: 0x28981b581f2938b5 + limb2: 0x28981b581f2938b5, }, r0a1: u288 { limb0: 0xff0800b8ac67a7469eaf7059, limb1: 0x6bca9de9f4b635539aece92e, - limb2: 0x9faf1bbdd82d5d9 + limb2: 0x9faf1bbdd82d5d9, }, r1a0: u288 { limb0: 0x6a2f4abab426bb0010eeb544, limb1: 0xa661d1118e1148d0282bb0b, - limb2: 0xea1783c4b4d0286 + limb2: 0xea1783c4b4d0286, }, r1a1: u288 { limb0: 0xea7b56e271cab7e34832f740, limb1: 0x837870da6880f80599bd20d8, - limb2: 0x1a71c24986082f98 - } + limb2: 0x1a71c24986082f98, + }, }, G2Line { r0a0: u288 { limb0: 0x3ad19b6290bbdc1dcb374f45, limb1: 0x5b3cbe16738e22f510bf853, - limb2: 0x75dc530769d3659 + limb2: 0x75dc530769d3659, }, r0a1: u288 { limb0: 0xe13917b29527fdef53c1f4f0, limb1: 0x379f0d852369306386826c17, - limb2: 0x1a9ceb06ec2e4ea0 + limb2: 0x1a9ceb06ec2e4ea0, }, r1a0: u288 { limb0: 0xb2f002fa616d4a7b93abfb51, limb1: 0xa37249159878c2ef9759fe0f, - limb2: 0x25f0b5adc278194f + limb2: 0x25f0b5adc278194f, }, r1a1: u288 { limb0: 0xb80c5c2e9ddecdb709e24e8, limb1: 0x8b7a18df0908d921c5ef7660, - limb2: 0x25d48dad31745ad8 - } + limb2: 0x25d48dad31745ad8, + }, }, G2Line { r0a0: u288 { limb0: 0xb15bbaec50ff49d30e49f74a, limb1: 0xc90a8c79fb045c5468f14151, - limb2: 0x25e47927e92df0e3 + limb2: 0x25e47927e92df0e3, }, r0a1: u288 { limb0: 0x57f66909d5d40dfb8c7b4d5c, limb1: 0xea5265282e2139c48c1953f2, - limb2: 0x2d7f5e6aff2381f6 + limb2: 0x2d7f5e6aff2381f6, }, r1a0: u288 { limb0: 0x2a2f573b189a3c8832231394, limb1: 0x738abc15844895ffd4733587, - limb2: 0x20aa11739c4b9bb4 + limb2: 0x20aa11739c4b9bb4, }, r1a1: u288 { limb0: 0x51695ec614f1ff4cce2f65d1, limb1: 0x6765aae6cb895a2406a6dd7e, - limb2: 0x1126ee431c522da0 - } + limb2: 0x1126ee431c522da0, + }, }, G2Line { r0a0: u288 { limb0: 0xdea6e74d7541442273a4472d, limb1: 0xb3334895c3208e142ac30e24, - limb2: 0x2b0fcbe08687c750 + limb2: 0x2b0fcbe08687c750, }, r0a1: u288 { limb0: 0x3957f9dc02bb02c18ac723bd, limb1: 0x586e97ed1f709b3712f554d6, - limb2: 0x84f6ca831418acf + limb2: 0x84f6ca831418acf, }, r1a0: u288 { limb0: 0x62ba0827259d2266495c096f, limb1: 0xbea933ce9db90f69205e1b2f, - limb2: 0x283c87d1f0ab6104 + limb2: 0x283c87d1f0ab6104, }, r1a1: u288 { limb0: 0xc4e6d8a17b596384257bdaa2, limb1: 0x8d079c21e392ac8e92047ee8, - limb2: 0x30478961a7077b85 - } + limb2: 0x30478961a7077b85, + }, }, G2Line { r0a0: u288 { limb0: 0x9214fc3209f1518b05fd21c6, limb1: 0x9bc8ce4f56423009710770e8, - limb2: 0x32445cc6972799c + limb2: 0x32445cc6972799c, }, r0a1: u288 { limb0: 0x93ef401ecd9cfae3644d22e6, limb1: 0xce5a741a9847a144cfaf8c96, - limb2: 0xf7a814d5726da4a + limb2: 0xf7a814d5726da4a, }, r1a0: u288 { limb0: 0xd19264d986f163b133a91c0c, limb1: 0x529dc5ce4b193c0f672c6a32, - limb2: 0x2e9a118959353374 + limb2: 0x2e9a118959353374, }, r1a1: u288 { limb0: 0x3d97d6e8f45072cc9e85e412, limb1: 0x4dafecb04c3bb23c374f0486, - limb2: 0xa174dd4ac8ee628 - } + limb2: 0xa174dd4ac8ee628, + }, }, G2Line { r0a0: u288 { limb0: 0x5db1ec127cfbf594acb0d677, limb1: 0x70e07fb9d781d02bdc15179d, - limb2: 0x1aaa890030a85a3b + limb2: 0x1aaa890030a85a3b, }, r0a1: u288 { limb0: 0x4226bf211011503eb035974d, limb1: 0x7514439dfc133ee1243ebf61, - limb2: 0x1f2d401912f7031 + limb2: 0x1f2d401912f7031, }, r1a0: u288 { limb0: 0x23dff8cf641642f05e6b24bf, limb1: 0x4c4a46758c95697b75a19661, - limb2: 0x3a93b0d88f96961 + limb2: 0x3a93b0d88f96961, }, r1a1: u288 { limb0: 0x491f63f36d8623ebb5a8b06c, limb1: 0x888445ac9aacda055152af5d, - limb2: 0x264f06d6ffd0a23f - } + limb2: 0x264f06d6ffd0a23f, + }, }, G2Line { r0a0: u288 { limb0: 0x98d8b0c4adcf27bceb305c2c, limb1: 0x859afa9c7668ed6152d8cba3, - limb2: 0x29e7694f46e3a272 + limb2: 0x29e7694f46e3a272, }, r0a1: u288 { limb0: 0x1d970845365594307ba97556, limb1: 0xd002d93ad793e154afe5b49b, - limb2: 0x12ca77d3fb8eee63 + limb2: 0x12ca77d3fb8eee63, }, r1a0: u288 { limb0: 0x9f2934faefb8268e20d0e337, limb1: 0xbc4b5e1ec056881319f08766, - limb2: 0x2e103461759a9ee4 + limb2: 0x2e103461759a9ee4, }, r1a1: u288 { limb0: 0x7adc6cb87d6b43000e2466b6, limb1: 0x65e5cefa42b25a7ee8925fa6, - limb2: 0x2560115898d7362a - } + limb2: 0x2560115898d7362a, + }, }, G2Line { r0a0: u288 { limb0: 0xf84b2de12d9e988b4d350c4f, limb1: 0x3588bddeca93ec6153032d9f, - limb2: 0x136d6e97720234 + limb2: 0x136d6e97720234, }, r0a1: u288 { limb0: 0x33d4fe3de71e57161d0ced84, limb1: 0xa313e00e4b35a0cfbaf78b9e, - limb2: 0x2b15c2ef1e5b52bb + limb2: 0x2b15c2ef1e5b52bb, }, r1a0: u288 { limb0: 0xd5b6ed885e00cc8a89a25ad3, limb1: 0x330b2ac992f206b8a3888a1f, - limb2: 0x2901d74097b5d222 + limb2: 0x2901d74097b5d222, }, r1a1: u288 { limb0: 0x841242f062bc3c4c64658ef5, limb1: 0x1ca54f523273c11520333ceb, - limb2: 0xbb657e4adcfaec1 - } + limb2: 0xbb657e4adcfaec1, + }, }, G2Line { r0a0: u288 { limb0: 0x64d864643668392c0e357cc4, limb1: 0x4c9bf66853f1b287015ab84c, - limb2: 0x2f5f1b92ad7ee4d4 + limb2: 0x2f5f1b92ad7ee4d4, }, r0a1: u288 { limb0: 0xdc33c8da5c575eef6987a0e1, limb1: 0x51cc07c7ef28e1b8d934bc32, - limb2: 0x2358d94a17ec2a44 + limb2: 0x2358d94a17ec2a44, }, r1a0: u288 { limb0: 0xf659845b829bbba363a2497b, limb1: 0x440f348e4e7bed1fb1eb47b2, - limb2: 0x1ad0eaab0fb0bdab + limb2: 0x1ad0eaab0fb0bdab, }, r1a1: u288 { limb0: 0x1944bb6901a1af6ea9afa6fc, limb1: 0x132319df135dedddf5baae67, - limb2: 0x52598294643a4aa - } + limb2: 0x52598294643a4aa, + }, }, G2Line { r0a0: u288 { limb0: 0x76fd94c5e6f17fa6741bd7de, limb1: 0xc2e0831024f67d21013e0bdd, - limb2: 0x21e2af6a43119665 + limb2: 0x21e2af6a43119665, }, r0a1: u288 { limb0: 0xad290eab38c64c0d8b13879b, limb1: 0xdd67f881be32b09d9a6c76a0, - limb2: 0x8000712ce0392f2 + limb2: 0x8000712ce0392f2, }, r1a0: u288 { limb0: 0xd30a46f4ba2dee3c7ace0a37, limb1: 0x3914314f4ec56ff61e2c29e, - limb2: 0x22ae1ba6cd84d822 + limb2: 0x22ae1ba6cd84d822, }, r1a1: u288 { limb0: 0x5d888a78f6dfce9e7544f142, limb1: 0x9439156de974d3fb6d6bda6e, - limb2: 0x106c8f9a27d41a4f - } + limb2: 0x106c8f9a27d41a4f, + }, }, G2Line { r0a0: u288 { limb0: 0x56a94c2fcadf8b52b57b8f16, limb1: 0x80d337d9ea7500c2e01eaae7, - limb2: 0x1d6437b87b74fef6 + limb2: 0x1d6437b87b74fef6, }, r0a1: u288 { limb0: 0x96b387e99073b5baa97385b8, limb1: 0x7f6930e3a08e255019cbc377, - limb2: 0x117e2a946aaec899 + limb2: 0x117e2a946aaec899, }, r1a0: u288 { limb0: 0x69f533dfd8f123baa11e736f, limb1: 0xe83cb98efc4de9eefca878ca, - limb2: 0x448df583ab25788 + limb2: 0x448df583ab25788, }, r1a1: u288 { limb0: 0x987e50cc7863442bca3ce7c7, limb1: 0xdef540ff995f9f94d1ae5032, - limb2: 0x4701d89fe1b1f2d - } + limb2: 0x4701d89fe1b1f2d, + }, }, G2Line { r0a0: u288 { limb0: 0x3f3c2f2df60d0e302fe746ac, limb1: 0xe174a6c9c3a94ee55f704207, - limb2: 0x48d2ba2cb93eec + limb2: 0x48d2ba2cb93eec, }, r0a1: u288 { limb0: 0xcc882073b44068d32f2f81fa, limb1: 0x8e1bd5b442ef660b7e32e2c3, - limb2: 0x1e10b37996fa5061 + limb2: 0x1e10b37996fa5061, }, r1a0: u288 { limb0: 0x40caa7ce29ce7fbe398494e2, limb1: 0x5170335f58724675cf628614, - limb2: 0x1640a6bf828d2dfc + limb2: 0x1640a6bf828d2dfc, }, r1a1: u288 { limb0: 0xb4df27375cabcfb846fda30a, limb1: 0x95396691a8861f2fdd10f5cd, - limb2: 0x18d60a694ad55b7a - } + limb2: 0x18d60a694ad55b7a, + }, }, G2Line { r0a0: u288 { limb0: 0x92c09e4796207b802168341b, limb1: 0xd2d9d6acffd7829066cc49ce, - limb2: 0xc89c2d0a7b2c81e + limb2: 0xc89c2d0a7b2c81e, }, r0a1: u288 { limb0: 0x47e3c1cf6cdb6f3efe778c7f, limb1: 0x66b347099b6436794cf062eb, - limb2: 0x18b4ccc64ae0a857 + limb2: 0x18b4ccc64ae0a857, }, r1a0: u288 { limb0: 0x7d5793606a73b2740c71484a, limb1: 0xa0070135ca2dc571b28e3c9c, - limb2: 0x1bc03576e04b94cf + limb2: 0x1bc03576e04b94cf, }, r1a1: u288 { limb0: 0x1ba85b29875e638c10f16c99, limb1: 0x158f2f2acc3c2300bb9f9225, - limb2: 0x42d8a8c36ea97c6 - } + limb2: 0x42d8a8c36ea97c6, + }, }, G2Line { r0a0: u288 { limb0: 0xec4681e764cfbf7c538af2a, limb1: 0x4565ebc52b5d8a85adf19252, - limb2: 0x44752fa5fffc699 + limb2: 0x44752fa5fffc699, }, r0a1: u288 { limb0: 0x2495ee358b1d2f7cb852e0df, limb1: 0x7e8e47f572051e45b148fabc, - limb2: 0x1d2a5085edd69eec + limb2: 0x1d2a5085edd69eec, }, r1a0: u288 { limb0: 0xcce126e911fe5179a3065fd0, limb1: 0x89eb158a703c3fb083d6ab63, - limb2: 0xae09fb55487cf84 + limb2: 0xae09fb55487cf84, }, r1a1: u288 { limb0: 0xfc6ecc9bb6ab90610c6aa279, limb1: 0x2ec9dc3ab4fc89ec3d07455f, - limb2: 0x2ce2a7db016dd063 - } + limb2: 0x2ce2a7db016dd063, + }, }, G2Line { r0a0: u288 { limb0: 0x9440ad13408319cecb07087b, limb1: 0x537afc0c0cfe8ff761c24e08, - limb2: 0x48e4ac10081048d + limb2: 0x48e4ac10081048d, }, r0a1: u288 { limb0: 0xa37fb82b03a2c0bb2aa50c4f, limb1: 0xd3797f05c8fb84f6b630dfb, - limb2: 0x2dffde2d6c7e43ff + limb2: 0x2dffde2d6c7e43ff, }, r1a0: u288 { limb0: 0xc55d2eb1ea953275e780e65b, limb1: 0xe141cf680cab57483c02e4c7, - limb2: 0x1b71395ce5ce20ae + limb2: 0x1b71395ce5ce20ae, }, r1a1: u288 { limb0: 0xe4fab521f1212a1d301065de, limb1: 0x4f8d31c78df3dbe4ab721ef2, - limb2: 0x2828f21554706a0e - } + limb2: 0x2828f21554706a0e, + }, }, G2Line { r0a0: u288 { limb0: 0x8cefc2f2af2a3082b790784e, limb1: 0x97ac13b37c6fbfc736a3d456, - limb2: 0x683b1cdffd60acd + limb2: 0x683b1cdffd60acd, }, r0a1: u288 { limb0: 0xa266a8188a8c933dcffe2d02, limb1: 0x18d3934c1838d7bce81b2eeb, - limb2: 0x206ac5cdda42377 + limb2: 0x206ac5cdda42377, }, r1a0: u288 { limb0: 0x90332652437f6e177dc3b28c, limb1: 0x75bd8199433d607735414ee8, - limb2: 0x29d6842d8298cf7e + limb2: 0x29d6842d8298cf7e, }, r1a1: u288 { limb0: 0xadedf46d8ea11932db0018e1, limb1: 0xbc7239ae9d1453258037befb, - limb2: 0x22e7ebdd72c6f7a1 - } + limb2: 0x22e7ebdd72c6f7a1, + }, }, G2Line { r0a0: u288 { limb0: 0xc91d19e8cd7e4fdc6f2ae8f2, limb1: 0xcbf567879da5ca68ae340836, - limb2: 0x68d72bbf2d7a0c4 + limb2: 0x68d72bbf2d7a0c4, }, r0a1: u288 { limb0: 0x66b6b80f1f9f8466d38016f3, limb1: 0x58d023bc4c07e5afb96e55ba, - limb2: 0xd4b76c1f3e9020a + limb2: 0xd4b76c1f3e9020a, }, r1a0: u288 { limb0: 0x7206444d57fa4b28cba07bd2, limb1: 0x2e3dde1511954bf0289531a8, - limb2: 0x19556e38e7487eff + limb2: 0x19556e38e7487eff, }, r1a1: u288 { limb0: 0x78784fe92d67b4363ebba156, limb1: 0xa325432ea8c347a555dafae8, - limb2: 0xd956a5c41160f33 - } + limb2: 0xd956a5c41160f33, + }, }, G2Line { r0a0: u288 { limb0: 0x415ddcddbf4b35a40861ba44, limb1: 0x937c973a9afa8c8a22f6b860, - limb2: 0x1ca76ac0498591da + limb2: 0x1ca76ac0498591da, }, r0a1: u288 { limb0: 0xbcd94af7ee9c9c97c101a809, limb1: 0x9742c5dad21578a02495abdc, - limb2: 0x2ae764c7a4fd325a + limb2: 0x2ae764c7a4fd325a, }, r1a0: u288 { limb0: 0xbb401a5b76780512474a588c, limb1: 0xf1438ea37e57137ce6b956bc, - limb2: 0xa7a831e9e824aa2 + limb2: 0xa7a831e9e824aa2, }, r1a1: u288 { limb0: 0x958c06ec31ff5fe5bbc5289b, limb1: 0x73d96c6c37c1ec4fd0edd7e4, - limb2: 0x1456a4a521213afc - } + limb2: 0x1456a4a521213afc, + }, }, G2Line { r0a0: u288 { limb0: 0x348e15357d9299e582033136, limb1: 0x53578c46b15abb39da35a56e, - limb2: 0x1043b711f86bb33f + limb2: 0x1043b711f86bb33f, }, r0a1: u288 { limb0: 0x9fa230a629b75217f0518e7c, limb1: 0x77012a4bb8751322a406024d, - limb2: 0x121e2d845d972695 + limb2: 0x121e2d845d972695, }, r1a0: u288 { limb0: 0x5600f2d51f21d9dfac35eb10, limb1: 0x6fde61f876fb76611fb86c1a, - limb2: 0x2bf4fbaf5bd0d0df + limb2: 0x2bf4fbaf5bd0d0df, }, r1a1: u288 { limb0: 0xd732aa0b6161aaffdae95324, limb1: 0xb3c4f8c3770402d245692464, - limb2: 0x2a0f1740a293e6f0 - } + limb2: 0x2a0f1740a293e6f0, + }, }, G2Line { r0a0: u288 { limb0: 0x89a2e58c2cb8dcd6a3b6565, limb1: 0x3bd4d0baf1f4a145223a5392, - limb2: 0x1e7f97dea0eda0ac + limb2: 0x1e7f97dea0eda0ac, }, r0a1: u288 { limb0: 0xabd7d7c71e35e233c23def95, limb1: 0x1366e53cff57cb47898bd655, - limb2: 0x26d9ff9260bdff42 + limb2: 0x26d9ff9260bdff42, }, r1a0: u288 { limb0: 0x5d0a41a37eff48760e049506, limb1: 0xbca1a785a1639bafcdd56bc3, - limb2: 0x1137a7fb31d90907 + limb2: 0x1137a7fb31d90907, }, r1a1: u288 { limb0: 0xcf403ab36cd112c5e8039a5b, limb1: 0x2a71e15f5920519f6a592f3a, - limb2: 0x2eb83824faf1b67c - } + limb2: 0x2eb83824faf1b67c, + }, }, G2Line { r0a0: u288 { limb0: 0xa9e2efa41aaa98ab59728940, limb1: 0x163c0425f66ce72daef2f53e, - limb2: 0x2feaf1b1770aa7d8 + limb2: 0x2feaf1b1770aa7d8, }, r0a1: u288 { limb0: 0x3bb7afd3c0a79b6ac2c4c063, limb1: 0xee5cb42e8b2bc999e312e032, - limb2: 0x1af2071ae77151c3 + limb2: 0x1af2071ae77151c3, }, r1a0: u288 { limb0: 0x1cef1c0d8956d7ceb2b162e7, limb1: 0x202b4af9e51edfc81a943ded, - limb2: 0xc9e943ffbdcfdcb + limb2: 0xc9e943ffbdcfdcb, }, r1a1: u288 { limb0: 0xe18b1b34798b0a18d5ad43dd, limb1: 0x55e8237731941007099af6b8, - limb2: 0x1472c0290db54042 - } + limb2: 0x1472c0290db54042, + }, }, G2Line { r0a0: u288 { limb0: 0xbbac3856a8e87a2e9a8b22c6, limb1: 0xdbfdecaed05832138ee553fe, - limb2: 0x97e02cb38d8d7e9 + limb2: 0x97e02cb38d8d7e9, }, r0a1: u288 { limb0: 0x9e1446fcf7d293a2469d0044, limb1: 0x463357a0f467ffc3d1ac9329, - limb2: 0x134bb66656265af1 + limb2: 0x134bb66656265af1, }, r1a0: u288 { limb0: 0x35197469de9782f565552391, limb1: 0x9a40559fee880b7ce57dc096, - limb2: 0x135c6b73ad046335 + limb2: 0x135c6b73ad046335, }, r1a1: u288 { limb0: 0xf58099b0098ba0a363307259, limb1: 0x3aafc38f65f0115c8d769619, - limb2: 0x1da35e56a76aff8e - } + limb2: 0x1da35e56a76aff8e, + }, }, G2Line { r0a0: u288 { limb0: 0xb4c7963e0d1dc082de0725e, limb1: 0x375a7a3d765918de24804223, - limb2: 0xf177b77b031596d + limb2: 0xf177b77b031596d, }, r0a1: u288 { limb0: 0x87a7b9c5f10500b0b40d7a1e, limb1: 0x6f234d1dc7f1394b55858810, - limb2: 0x26288146660a3914 + limb2: 0x26288146660a3914, }, r1a0: u288 { limb0: 0xa6308c89cebe40447abf4a9a, limb1: 0x657f0fdda13b1f8ee314c22, - limb2: 0x1701aabc250a9cc7 + limb2: 0x1701aabc250a9cc7, }, r1a1: u288 { limb0: 0x9db9bf660dc77cbe2788a755, limb1: 0xbdf9c1c15a4bd502a119fb98, - limb2: 0x14b4de3d26bd66e1 - } + limb2: 0x14b4de3d26bd66e1, + }, }, G2Line { r0a0: u288 { limb0: 0x53c49c62ca96007e14435295, limb1: 0x85aeb885e4123ca8d3232fdf, - limb2: 0x750017ce108abf3 + limb2: 0x750017ce108abf3, }, r0a1: u288 { limb0: 0xba6bf3e25d370182e4821239, limb1: 0x39de83bf370bd2ba116e8405, - limb2: 0x2b8417a72ba6d940 + limb2: 0x2b8417a72ba6d940, }, r1a0: u288 { limb0: 0xa922f50550d349849b14307b, limb1: 0x569766b6feca6143a5ddde9d, - limb2: 0x2c3c6765b25a01d + limb2: 0x2c3c6765b25a01d, }, r1a1: u288 { limb0: 0x6016011bdc3b506563b0f117, limb1: 0xbab4932beab93dde9b5b8a5c, - limb2: 0x1bf3f698de0ace60 - } + limb2: 0x1bf3f698de0ace60, + }, }, G2Line { r0a0: u288 { limb0: 0x93bebaf7f40eb00912ee1ff8, limb1: 0x79a91520a19787b125796c6b, - limb2: 0x45adea0cdba580c + limb2: 0x45adea0cdba580c, }, r0a1: u288 { limb0: 0xea59a573b5d16f4b827e1209, limb1: 0x6202955602c536e53bd3387a, - limb2: 0x1a511f3a72b13857 + limb2: 0x1a511f3a72b13857, }, r1a0: u288 { limb0: 0xb745e4750bc9124d4e73ea0b, limb1: 0x2f33d8eeba9cc1435bbdc73f, - limb2: 0x2e6777231d16918a + limb2: 0x2e6777231d16918a, }, r1a1: u288 { limb0: 0x368391ad32f8bb4668d49a0d, limb1: 0x43450eb1798b1dd83825ef2a, - limb2: 0x22bc511bb4630eea - } + limb2: 0x22bc511bb4630eea, + }, }, G2Line { r0a0: u288 { limb0: 0x4ad06cb41fe56d977307ab2c, limb1: 0x3f5bc61856be34d17d908fa0, - limb2: 0x99af0cec206d510 + limb2: 0x99af0cec206d510, }, r0a1: u288 { limb0: 0x1ced159a6a98e98171d4669e, limb1: 0xafcae556259b99f38d59aa5, - limb2: 0x89b4d02984287ec + limb2: 0x89b4d02984287ec, }, r1a0: u288 { limb0: 0xd22b2495d2cc326e755b7f8e, limb1: 0xa1ccc284e75a8859266377a, - limb2: 0x19fd2f610a91515c + limb2: 0x19fd2f610a91515c, }, r1a1: u288 { limb0: 0xc1c66a79e4a73dd8a34fafa6, limb1: 0xb9f0070e903de41bb0622c24, - limb2: 0xbefae3b58cda298 - } + limb2: 0xbefae3b58cda298, + }, }, G2Line { r0a0: u288 { limb0: 0xb9f05ffda3ee208f990ff3a8, limb1: 0x6201d08440b28ea672b9ea93, - limb2: 0x1ed60e5a5e778b42 + limb2: 0x1ed60e5a5e778b42, }, r0a1: u288 { limb0: 0x8e8468b937854c9c00582d36, limb1: 0x7888fa8b2850a0c555adb743, - limb2: 0xd1342bd01402f29 + limb2: 0xd1342bd01402f29, }, r1a0: u288 { limb0: 0xf5c4c66a974d45ec754b3873, limb1: 0x34322544ed59f01c835dd28b, - limb2: 0x10fe4487a871a419 + limb2: 0x10fe4487a871a419, }, r1a1: u288 { limb0: 0xedf4af2df7c13d6340069716, limb1: 0x8592eea593ece446e8b2c83b, - limb2: 0x12f9280ce8248724 - } + limb2: 0x12f9280ce8248724, + }, }, G2Line { r0a0: u288 { limb0: 0x4470eba4d9b59b96407ee453, limb1: 0x42e5bebde803009771b64e57, - limb2: 0x15a127d5b9249aaf + limb2: 0x15a127d5b9249aaf, }, r0a1: u288 { limb0: 0xd6cb50a7a92876580b531620, limb1: 0xef70fbfdb45b07e8f7babf8f, - limb2: 0xe69823faec6b62f + limb2: 0xe69823faec6b62f, }, r1a0: u288 { limb0: 0xf656b93207a60f9ea4b3b77a, limb1: 0xb0b29dbe81cee075c4d2f88f, - limb2: 0x27e43cc268f2839d + limb2: 0x27e43cc268f2839d, }, r1a1: u288 { limb0: 0xdf8504b3164d07aa4f703b8e, limb1: 0xad4fb7395eb3b6d4e78fef42, - limb2: 0x25065b36a637c585 - } + limb2: 0x25065b36a637c585, + }, }, G2Line { r0a0: u288 { limb0: 0xe67f72c6d45f1bb04403139f, limb1: 0x9233e2a95d3f3c3ff2f7e5b8, - limb2: 0x1f931e8e4343b028 + limb2: 0x1f931e8e4343b028, }, r0a1: u288 { limb0: 0x20ef53907af71803ce3ca5ca, limb1: 0xd99b6637ee9c73150b503ea4, - limb2: 0x1c9759def8a98ea8 + limb2: 0x1c9759def8a98ea8, }, r1a0: u288 { limb0: 0xa0a3b24c9089d224822fad53, limb1: 0xdfa2081342a7a895062f3e50, - limb2: 0x185e8cf6b3e494e6 + limb2: 0x185e8cf6b3e494e6, }, r1a1: u288 { limb0: 0x8752a12394b29d0ba799e476, limb1: 0x1493421da067a42e7f3d0f8f, - limb2: 0x67e7fa3e3035edf - } + limb2: 0x67e7fa3e3035edf, + }, }, G2Line { r0a0: u288 { limb0: 0xd4e7008d0b092bfff8fe7b22, limb1: 0x8917ebc9b364042de59b88bb, - limb2: 0x2059627f035f9cd + limb2: 0x2059627f035f9cd, }, r0a1: u288 { limb0: 0xbb1b0a9dbb59e8f877edf020, limb1: 0x8c8dc3726e82e68ba21b6b69, - limb2: 0x1ba5cd54073c1cea + limb2: 0x1ba5cd54073c1cea, }, r1a0: u288 { limb0: 0x6a2c5a3d8e6236240edaf594, limb1: 0xe68677bda7793cb801acebcc, - limb2: 0xc02f104a4e15c01 + limb2: 0xc02f104a4e15c01, }, r1a1: u288 { limb0: 0x5c0bc4dce23d8b6bc29ae908, limb1: 0x6127032066da7babc36ec0d7, - limb2: 0x1e697536f2da52d0 - } + limb2: 0x1e697536f2da52d0, + }, }, G2Line { r0a0: u288 { limb0: 0x6d6138c95464e5e774ae7ba0, limb1: 0xe6ca73a5498e4ccd4bb68fc7, - limb2: 0x15bf8aa8ed1beff6 + limb2: 0x15bf8aa8ed1beff6, }, r0a1: u288 { limb0: 0xabd7c55a134ed405b4966d3c, limb1: 0xe69dd725ccc4f9dd537fe558, - limb2: 0x2df4a03e2588a8f1 + limb2: 0x2df4a03e2588a8f1, }, r1a0: u288 { limb0: 0x7cf42890de0355ffc2480d46, limb1: 0xe33c2ad9627bcb4b028c2358, - limb2: 0x2a18767b40de20bd + limb2: 0x2a18767b40de20bd, }, r1a1: u288 { limb0: 0x79737d4a87fab560f3d811c6, limb1: 0xa88fee5629b91721f2ccdcf7, - limb2: 0x2b51c831d3404d5e - } + limb2: 0x2b51c831d3404d5e, + }, }, G2Line { r0a0: u288 { limb0: 0x6bec21174a07a597502dcb70, limb1: 0xc8bfda289a81e43dd23758ac, - limb2: 0x269f86504baa3fef + limb2: 0x269f86504baa3fef, }, r0a1: u288 { limb0: 0x6ba3eb4f98c964368c0baea8, limb1: 0x95c9a6540a00750faa184469, - limb2: 0xacf594a3e59eb53 + limb2: 0xacf594a3e59eb53, }, r1a0: u288 { limb0: 0xcc5ab24e082353dce083cba0, limb1: 0x71aae3696df376a2733a9dae, - limb2: 0xc8ffa16612417f8 + limb2: 0xc8ffa16612417f8, }, r1a1: u288 { limb0: 0x23fc9d7be4a172856d916171, limb1: 0x1ea89e6339555c15f01d35eb, - limb2: 0x1df21e5cd24fb7ca - } + limb2: 0x1df21e5cd24fb7ca, + }, }, G2Line { r0a0: u288 { limb0: 0x9812f6145cf7e949fa207f20, limb1: 0x4061c36b08d5bcd408b14f19, - limb2: 0x8332e08b2eb51ed + limb2: 0x8332e08b2eb51ed, }, r0a1: u288 { limb0: 0xa4a7ae8f65ba180c523cb33, limb1: 0xb71fabbdc78b1128712d32a5, - limb2: 0x2acd1052fd0fefa7 + limb2: 0x2acd1052fd0fefa7, }, r1a0: u288 { limb0: 0x6ea5598e221f25bf27efc618, limb1: 0xa2c2521a6dd8f306f86d6db7, - limb2: 0x13af144288655944 + limb2: 0x13af144288655944, }, r1a1: u288 { limb0: 0xea469c4b390716a6810fff5d, limb1: 0xf8052694d0fdd3f40b596c20, - limb2: 0x24d0ea6c86e48c5c - } + limb2: 0x24d0ea6c86e48c5c, + }, }, G2Line { r0a0: u288 { limb0: 0x2e39be614d904bafea58a8cd, limb1: 0xf53f0a6a20a1f1783b0ea2d0, - limb2: 0x99c451b7bb726d7 + limb2: 0x99c451b7bb726d7, }, r0a1: u288 { limb0: 0x28ec54a4ca8da838800c573d, limb1: 0xb78365fa47b5e192307b7b87, - limb2: 0x2df87aa88e012fec + limb2: 0x2df87aa88e012fec, }, r1a0: u288 { limb0: 0xfb7022881c6a6fdfb18de4aa, limb1: 0xb9bd30f0e93c5b93ad333bab, - limb2: 0x1dd20cbccdeb9924 + limb2: 0x1dd20cbccdeb9924, }, r1a1: u288 { limb0: 0x16d8dfdf790a6be16a0e55ba, limb1: 0x90ab884395509b9a264472d4, - limb2: 0xeaec571657b6e9d - } + limb2: 0xeaec571657b6e9d, + }, }, G2Line { r0a0: u288 { limb0: 0x83df0f14548cb4d3df297098, limb1: 0x6fce5768b8d9280342dc4f15, - limb2: 0x1b847c02d5d13372 + limb2: 0x1b847c02d5d13372, }, r0a1: u288 { limb0: 0xe0ad398e46dde2df37d57ea2, limb1: 0xfc42e5247aa2311cd279d7f5, - limb2: 0x1b7988b75c25371e + limb2: 0x1b7988b75c25371e, }, r1a0: u288 { limb0: 0xfec8a1c309a7cb375e664afb, limb1: 0x5e17576eee68f0fee50010d3, - limb2: 0x20d165c95da78c9e + limb2: 0x20d165c95da78c9e, }, r1a1: u288 { limb0: 0x747ef37118468b0e3d86f0d1, limb1: 0xe585b56f5e9bc73693416049, - limb2: 0x16d647b984100e57 - } + limb2: 0x16d647b984100e57, + }, }, G2Line { r0a0: u288 { limb0: 0x32a896c88589d1e2d820d4b7, limb1: 0x6cddfd3af2415ef1287e3821, - limb2: 0x168029eaf79f17fd + limb2: 0x168029eaf79f17fd, }, r0a1: u288 { limb0: 0x1380ac0f4d217fab84bcbd16, limb1: 0x1732a0408706c4c9fbe7d02e, - limb2: 0x1a067f72a0e57d5e + limb2: 0x1a067f72a0e57d5e, }, r1a0: u288 { limb0: 0x52b10f62e67a60a9c6985c56, limb1: 0x59bfd92a57a9cc81693f91a0, - limb2: 0x17885ada1c8800dd + limb2: 0x17885ada1c8800dd, }, r1a1: u288 { limb0: 0xc5c177df970ad4eb4a6f9410, limb1: 0x6eb19f03cfb97f703881fb87, - limb2: 0x20884457b2d3a8ec - } + limb2: 0x20884457b2d3a8ec, + }, }, G2Line { r0a0: u288 { limb0: 0xce78fc6505db036c10fac771, limb1: 0x61f8c0bc7f60ad6415d5e419, - limb2: 0x59009c5cf9ea663 + limb2: 0x59009c5cf9ea663, }, r0a1: u288 { limb0: 0xb3b3f697fc34d64ba053b914, limb1: 0x317af5815ce5bfffc5a6bc97, - limb2: 0x23f97fee4deda847 + limb2: 0x23f97fee4deda847, }, r1a0: u288 { limb0: 0xf559e09cf7a02674ac2fa642, limb1: 0x4fa7548b79cdd054e203689c, - limb2: 0x2173b379d546fb47 + limb2: 0x2173b379d546fb47, }, r1a1: u288 { limb0: 0x758feb5b51caccff9da0f78f, limb1: 0xd7f37a1008233b74c4894f55, - limb2: 0x917c640b4b9627e - } + limb2: 0x917c640b4b9627e, + }, }, G2Line { r0a0: u288 { limb0: 0x438bae16b78f8d4c6d3db30a, limb1: 0x8445211ebf9bfcba1c776529, - limb2: 0x2f481a220dd1622a + limb2: 0x2f481a220dd1622a, }, r0a1: u288 { limb0: 0x3482b3e989656e30cb35b229, limb1: 0x42347ba4b55db7dd069c1a86, - limb2: 0xde1fa929f76dbd7 + limb2: 0xde1fa929f76dbd7, }, r1a0: u288 { limb0: 0x8bc590876697c6fa8681219b, limb1: 0xe6bafedd88cafa369275dc4e, - limb2: 0x145b451118b58bdf + limb2: 0x145b451118b58bdf, }, r1a1: u288 { limb0: 0x730bdbb324324be339d39111, limb1: 0xc10f98222a10e6cc998a1a62, - limb2: 0x1bb0517beaddec5 - } + limb2: 0x1bb0517beaddec5, + }, }, G2Line { r0a0: u288 { limb0: 0x72548e0d946b796842cfecd8, limb1: 0x78b54b355e3c26476b0fab82, - limb2: 0x2dc9f32c90b6ba31 + limb2: 0x2dc9f32c90b6ba31, }, r0a1: u288 { limb0: 0xa943be83a6fc90414320753b, limb1: 0xd708fde97241095833ce5a08, - limb2: 0x142111e6a73d2e82 + limb2: 0x142111e6a73d2e82, }, r1a0: u288 { limb0: 0xc79e8d5465ec5f28781e30a2, limb1: 0x697fb9430b9ad050ced6cce, - limb2: 0x1a9d647149842c53 + limb2: 0x1a9d647149842c53, }, r1a1: u288 { limb0: 0x9bab496952559362586725cd, limb1: 0xbe78e5a416d9665be64806de, - limb2: 0x147b550afb4b8b84 - } + limb2: 0x147b550afb4b8b84, + }, }, G2Line { r0a0: u288 { limb0: 0xe7596a824a07b270ac4188c8, limb1: 0xe6c994e9676625d23213b4a2, - limb2: 0x81a26c392dcf2c5 + limb2: 0x81a26c392dcf2c5, }, r0a1: u288 { limb0: 0xb2ea042038d6d50de71e18e4, limb1: 0x90341ba13db1bf782d7ee4e5, - limb2: 0x271d330705e070b4 + limb2: 0x271d330705e070b4, }, r1a0: u288 { limb0: 0xd33feb213584e1aff376fc48, limb1: 0x1e000c3d2386eea0df68e9ca, - limb2: 0x130ed249899a2898 + limb2: 0x130ed249899a2898, }, r1a1: u288 { limb0: 0xfacb4dd4ede95483ef565396, limb1: 0xa8089c5ac03ab4c520fd3549, - limb2: 0x2dd9fb297e9a38bd - } + limb2: 0x2dd9fb297e9a38bd, + }, }, G2Line { r0a0: u288 { limb0: 0x1422e11013fe6cdd7f843391, limb1: 0xfb96092ab69fc530e27d8d8e, - limb2: 0xe39e04564fedd0 + limb2: 0xe39e04564fedd0, }, r0a1: u288 { limb0: 0xbd4e81e3b4db192e11192788, limb1: 0x805257d3c2bdbc344a15ce0d, - limb2: 0x10ddd4f47445106b + limb2: 0x10ddd4f47445106b, }, r1a0: u288 { limb0: 0x87ab7f750b693ec75bce04e1, limb1: 0x128ba38ebed26d74d26e4d69, - limb2: 0x2f1d22a64c983ab8 + limb2: 0x2f1d22a64c983ab8, }, r1a1: u288 { limb0: 0x74207c17f5c8335183649f77, limb1: 0x7144cd3520ac2e1be3204133, - limb2: 0xb38d0645ab3499d - } + limb2: 0xb38d0645ab3499d, + }, }, G2Line { r0a0: u288 { limb0: 0x6a6ef43c964cb860b38e6603, limb1: 0xd1b6d2306114c2a9d0d5ab8a, - limb2: 0x25fca3e4a6ad8136 + limb2: 0x25fca3e4a6ad8136, }, r0a1: u288 { limb0: 0x2ad046669b8551d7488add7, limb1: 0x84ac1d26252119712a5ceb2, - limb2: 0x19f02ee8b1efc961 + limb2: 0x19f02ee8b1efc961, }, r1a0: u288 { limb0: 0x3cef7dc2c32f78d6c7d5a42c, limb1: 0xfa2616aba4343d1d5a9a0e2e, - limb2: 0x17106b4d22f8d241 + limb2: 0x17106b4d22f8d241, }, r1a1: u288 { limb0: 0xc701c3ffc4426f752e0b58c2, limb1: 0x96f0ac67850fb5c266cf5c, - limb2: 0x1a16e16ce5a84c54 - } + limb2: 0x1a16e16ce5a84c54, + }, }, G2Line { r0a0: u288 { limb0: 0x49173a889c697b0ab07f35bc, limb1: 0xdcffb65f4b4c21ced6b623af, - limb2: 0x1366d12ee6022f7b + limb2: 0x1366d12ee6022f7b, }, r0a1: u288 { limb0: 0x285fdce362f7a79b89c49b5c, limb1: 0xae9358c8eaf26e2fed7353f5, - limb2: 0x21c91fefaf522b5f + limb2: 0x21c91fefaf522b5f, }, r1a0: u288 { limb0: 0x748798f96436e3b18c64964a, limb1: 0xfc3bb221103d3966d0510599, - limb2: 0x167859ae2ebc5e27 + limb2: 0x167859ae2ebc5e27, }, r1a1: u288 { limb0: 0xe3b55b05bb30e23fa7eba05b, limb1: 0xa5fc8b7f7bc6abe91c90ddd5, - limb2: 0xe0da83c6cdebb5a - } + limb2: 0xe0da83c6cdebb5a, + }, }, G2Line { r0a0: u288 { limb0: 0x30a4abff5957209783681bfb, limb1: 0x82d868d5ca421e4f1a0daf79, - limb2: 0x1ba96ef98093d510 + limb2: 0x1ba96ef98093d510, }, r0a1: u288 { limb0: 0xd9132c7f206a6c036a39e432, limb1: 0x8a2dfb94aba29a87046110b8, - limb2: 0x1fad2fd5e5e37395 + limb2: 0x1fad2fd5e5e37395, }, r1a0: u288 { limb0: 0x76b136dc82b82e411b2c44f6, limb1: 0xe405f12052823a54abb9ea95, - limb2: 0xf125ba508c26ddc + limb2: 0xf125ba508c26ddc, }, r1a1: u288 { limb0: 0x1bae07f5f0cc48e5f7aac169, limb1: 0x47d1288d741496a960e1a979, - limb2: 0xa0911f6cc5eb84e - } + limb2: 0xa0911f6cc5eb84e, + }, }, G2Line { r0a0: u288 { limb0: 0x14d30fda811521117927311a, limb1: 0xe1d92f17817d1a06eb5e3a2, - limb2: 0x1281bb804fdd92a6 + limb2: 0x1281bb804fdd92a6, }, r0a1: u288 { limb0: 0x589100b3cd0e2be3feb99497, limb1: 0x763b459cdca3ea4cee8f3085, - limb2: 0x15a8a70126af58f8 + limb2: 0x15a8a70126af58f8, }, r1a0: u288 { limb0: 0xb77343171852732d4297b40d, limb1: 0xf26c00e232ec8878efd4e75c, - limb2: 0x60d465fbdb8a07d + limb2: 0x60d465fbdb8a07d, }, r1a1: u288 { limb0: 0xd8d997b09eab02f6a0a29be4, limb1: 0x1aca09f7a6558306fdb5d3e4, - limb2: 0x2fbab16347a0f9ff - } + limb2: 0x2fbab16347a0f9ff, + }, }, G2Line { r0a0: u288 { limb0: 0x857d0968bb488b80633a8bc1, limb1: 0xf2014971f9c6044a1e4c78a7, - limb2: 0x1cc072450b90ed16 + limb2: 0x1cc072450b90ed16, }, r0a1: u288 { limb0: 0x846981ea26f3e279d3dfba61, limb1: 0xf4f358cf12810a94e2e4f7f4, - limb2: 0x779e8b7c7a46866 + limb2: 0x779e8b7c7a46866, }, r1a0: u288 { limb0: 0x4228e32ecea217f455d31a3a, limb1: 0x2b56b887827ea6e4f7a91c37, - limb2: 0x1a7a9910164d6252 + limb2: 0x1a7a9910164d6252, }, r1a1: u288 { limb0: 0xdee06b1e3e0558ae82bee505, limb1: 0x163e51dfac33f9152680c9eb, - limb2: 0x2a487bb7ad7218f3 - } + limb2: 0x2a487bb7ad7218f3, + }, }, G2Line { r0a0: u288 { limb0: 0x2e7b3a5a35456f42e87968e6, limb1: 0xb4303f5093c3a460674a2fcd, - limb2: 0x2b5331f03b8fa15f + limb2: 0x2b5331f03b8fa15f, }, r0a1: u288 { limb0: 0x7cea371d64d8bd0fc5b9427e, limb1: 0x76208e15fc175e352c274fbe, - limb2: 0x5ceb46647d41234 + limb2: 0x5ceb46647d41234, }, r1a0: u288 { limb0: 0x6cdac06bfcf041a30435a560, limb1: 0x15a7ab7ed1df6d7ed12616a6, - limb2: 0x2520b0f462ad4724 + limb2: 0x2520b0f462ad4724, }, r1a1: u288 { limb0: 0xe8b65c5fff04e6a19310802f, limb1: 0xc96324a563d5dab3cd304c64, - limb2: 0x230de25606159b1e - } + limb2: 0x230de25606159b1e, + }, }, G2Line { r0a0: u288 { limb0: 0xe2031868c812b8cecacd7a4a, limb1: 0x50546c799ceed3c43c41f4ba, - limb2: 0x25cc77c74cbabdbd + limb2: 0x25cc77c74cbabdbd, }, r0a1: u288 { limb0: 0x295bae77b9ad4b6c97646232, limb1: 0x75621d2aff5e576b7d6fe300, - limb2: 0x143043b86b1ca5b4 + limb2: 0x143043b86b1ca5b4, }, r1a0: u288 { limb0: 0xca3c979fa4d3b18d2f7b1bcc, limb1: 0xdd2c365809773b6e09ccb2b9, - limb2: 0x14391c33bfc390d8 + limb2: 0x14391c33bfc390d8, }, r1a1: u288 { limb0: 0x5e861ecfb9119d168163c202, limb1: 0xcdbc50774ab2e9bee2b80649, - limb2: 0x1fbe4fcdc5c5a57e - } + limb2: 0x1fbe4fcdc5c5a57e, + }, }, G2Line { r0a0: u288 { limb0: 0xb2236e5462d1e11842039bb5, limb1: 0x8d746dd0bb8bb2a455d505c1, - limb2: 0x2fd3f4a905e027ce + limb2: 0x2fd3f4a905e027ce, }, r0a1: u288 { limb0: 0x3d6d9836d71ddf8e3b741b09, limb1: 0x443f16e368feb4cb20a5a1ab, - limb2: 0xb5f19dda13bdfad + limb2: 0xb5f19dda13bdfad, }, r1a0: u288 { limb0: 0x4e5612c2b64a1045a590a938, limb1: 0xbca215d075ce5769db2a29d7, - limb2: 0x161e651ebdfb5065 + limb2: 0x161e651ebdfb5065, }, r1a1: u288 { limb0: 0xc02a55b6685351f24e4bf9c7, limb1: 0x4134240119050f22bc4991c8, - limb2: 0x300bd9f8d76bbc11 - } + limb2: 0x300bd9f8d76bbc11, + }, }, G2Line { r0a0: u288 { limb0: 0xe9296a3a3aed4c4143d2e0ba, limb1: 0x7de973514b499b2da739b3e6, - limb2: 0x1b4b807986fcdee0 + limb2: 0x1b4b807986fcdee0, }, r0a1: u288 { limb0: 0xb9295fecce961afe0c5e6dad, limb1: 0xc4e30c322bcae6d526c4de95, - limb2: 0x1fee592f513ed6b2 + limb2: 0x1fee592f513ed6b2, }, r1a0: u288 { limb0: 0x7245f5e5e803d0d448fafe21, limb1: 0xcbdc032ecb3b7a63899c53d0, - limb2: 0x1fde9ffc17accfc3 + limb2: 0x1fde9ffc17accfc3, }, r1a1: u288 { limb0: 0x8edcc1b2fdd35c87a7814a87, limb1: 0x99d54b5c2fe171c49aa9cb08, - limb2: 0x130ef740e416a6fe - } + limb2: 0x130ef740e416a6fe, + }, }, G2Line { r0a0: u288 { limb0: 0x50cb7f4b087200d53fa86cb2, limb1: 0xff132c0ccf9286b3bc6e72f8, - limb2: 0xd1d98c6aa4cbd20 + limb2: 0xd1d98c6aa4cbd20, }, r0a1: u288 { limb0: 0x5cb371016b5e5346aa276b94, limb1: 0xb4491b5077bb58bcf9cd8f43, - limb2: 0xd51bc57128e720a + limb2: 0xd51bc57128e720a, }, r1a0: u288 { limb0: 0x397965b705cdb46b061f25e8, limb1: 0xd1ed8b8fa62c5c50b27dc115, - limb2: 0x395493fce79da18 + limb2: 0x395493fce79da18, }, r1a1: u288 { limb0: 0x8964d77b83faf3ac3f972566, limb1: 0x6c73a21e7e6db17d8f89f9fa, - limb2: 0x7ed3c0d414cddf7 - } + limb2: 0x7ed3c0d414cddf7, + }, }, G2Line { r0a0: u288 { limb0: 0xed3ac7bc560f29f1d5148309, limb1: 0xd4bc60d88edc82f6a9336b9a, - limb2: 0x1af46a921f0bb17 + limb2: 0x1af46a921f0bb17, }, r0a1: u288 { limb0: 0xf5a22ff7d977b6b6acf9f3ca, limb1: 0xad4b2299bff7a855dfde34df, - limb2: 0x2176ace7d56a9ff2 + limb2: 0x2176ace7d56a9ff2, }, r1a0: u288 { limb0: 0xdc5d8bbb9566386bdca9619e, limb1: 0x518f514d6bf9082b5e1ca06a, - limb2: 0x28162e5d570380f + limb2: 0x28162e5d570380f, }, r1a1: u288 { limb0: 0x448f699ecddf33780c7293a, limb1: 0x147b945d1db66b75de1d0e11, - limb2: 0x2c3dec42b83ab6d5 - } + limb2: 0x2c3dec42b83ab6d5, + }, }, G2Line { r0a0: u288 { limb0: 0x537ecf0916b38aeea21d4e47, limb1: 0x181a00de27ba4be1b380d6c8, - limb2: 0x8c2fe2799316543 + limb2: 0x8c2fe2799316543, }, r0a1: u288 { limb0: 0xe68fff5ee73364fff3fe403b, limb1: 0x7b8685c8a725ae79cfac8f99, - limb2: 0x7b4be349766aba4 + limb2: 0x7b4be349766aba4, }, r1a0: u288 { limb0: 0xdf7c93c0095545ad5e5361ea, limb1: 0xce316c76191f1e7cd7d03f3, - limb2: 0x22ea21f18ddec947 + limb2: 0x22ea21f18ddec947, }, r1a1: u288 { limb0: 0xa19620b4c32db68cc1c2ef0c, limb1: 0xffa1e4be3bed5faba2ccbbf4, - limb2: 0x16fc78a64c45f518 - } + limb2: 0x16fc78a64c45f518, + }, }, G2Line { r0a0: u288 { limb0: 0x2b6af476f520b4bf804415bc, limb1: 0xd949ee7f9e8874698b090fca, - limb2: 0x34db5e5ec2180cf + limb2: 0x34db5e5ec2180cf, }, r0a1: u288 { limb0: 0x3e06a324f038ac8abcfb28d7, limb1: 0xc2e6375b7a83c0a0145f8942, - limb2: 0x2247e79161483763 + limb2: 0x2247e79161483763, }, r1a0: u288 { limb0: 0x708773d8ae3a13918382fb9d, limb1: 0xaf83f409556e32aa85ae92bf, - limb2: 0x9af0a924ae43ba + limb2: 0x9af0a924ae43ba, }, r1a1: u288 { limb0: 0xa6fded212ff5b2ce79755af7, limb1: 0x55a2adfb2699ef5de6581b21, - limb2: 0x2476e83cfe8daa5c - } + limb2: 0x2476e83cfe8daa5c, + }, }, G2Line { r0a0: u288 { limb0: 0x88da3121b35160882a1c7589, limb1: 0x65804a112b6f3376e944918a, - limb2: 0x16dacfb60b1ce19a + limb2: 0x16dacfb60b1ce19a, }, r0a1: u288 { limb0: 0xeff82aff39cb798ce9b8b0d9, limb1: 0xa90ce85c7d5f232be9d0aa48, - limb2: 0x193c05a28703b386 + limb2: 0x193c05a28703b386, }, r1a0: u288 { limb0: 0x20ad3c10b068e055950db02d, limb1: 0x7f126eebf19b02a0833fe0ce, - limb2: 0x297139b7691ecc5 + limb2: 0x297139b7691ecc5, }, r1a1: u288 { limb0: 0x1b6a771c255179179254a975, limb1: 0x6e8c9e35001729b1f77e9eb2, - limb2: 0x3e2e494608e33c7 - } + limb2: 0x3e2e494608e33c7, + }, }, G2Line { r0a0: u288 { limb0: 0x7f9803672c5c3c3885d9f98a, limb1: 0xde4f0a101b3d8f9ee11d42b2, - limb2: 0x20a37cabfbfa257 + limb2: 0x20a37cabfbfa257, }, r0a1: u288 { limb0: 0x26838cb91e386068a3da1af1, limb1: 0xee22b598ea3b51661d35cff3, - limb2: 0x1919454dad133f1c + limb2: 0x1919454dad133f1c, }, r1a0: u288 { limb0: 0x7c23a02fb58896140cab4a26, limb1: 0xb61a77a33f73616e4ebaac8a, - limb2: 0x98a546ad9b9c556 + limb2: 0x98a546ad9b9c556, }, r1a1: u288 { limb0: 0xa4bc65cb502123f8cab8a370, limb1: 0x8be2308b4f0c0dd30f4f47e8, - limb2: 0x20ccdec6f5186f9e - } + limb2: 0x20ccdec6f5186f9e, + }, }, G2Line { r0a0: u288 { limb0: 0x1c4759bcf7c607fe3f839d4d, limb1: 0xea91f311da73327e2ed40785, - limb2: 0x2017052c72360f42 + limb2: 0x2017052c72360f42, }, r0a1: u288 { limb0: 0x38cf8a4368c0709980199fc3, limb1: 0xfc9047885996c19e84d7d4ea, - limb2: 0x1795549eb0b97783 + limb2: 0x1795549eb0b97783, }, r1a0: u288 { limb0: 0xb70f7ecfbec0eaf46845e8cc, limb1: 0x9ddf274c2a9f89ea3bc4d66f, - limb2: 0xcc6f106abfcf377 + limb2: 0xcc6f106abfcf377, }, r1a1: u288 { limb0: 0xf6ff11ce29186237468c2698, limb1: 0x5c629ad27bb61e4826bb1313, - limb2: 0x2014c6623f1fb55e - } + limb2: 0x2014c6623f1fb55e, + }, }, G2Line { r0a0: u288 { limb0: 0x5c4102ef74201f7de38e0463, limb1: 0xb1ef54e99607be59909009bb, - limb2: 0x25ff50f42e66453b + limb2: 0x25ff50f42e66453b, }, r0a1: u288 { limb0: 0x76c0ba1f7c7f207460e65d58, limb1: 0x878854c0c07edabf3d15a5c9, - limb2: 0x182311cfea026538 + limb2: 0x182311cfea026538, }, r1a0: u288 { limb0: 0xc8bbb32e6a668cf1e33ec2d8, limb1: 0x23c6efb2db33c7221af7e56c, - limb2: 0x22c07d0e7f650e9a + limb2: 0x22c07d0e7f650e9a, }, r1a1: u288 { limb0: 0xadf5b275b9ae0362598bc296, limb1: 0x70f05b3cbfa5ee508c52d108, - limb2: 0x2c76c696e1630aa3 - } + limb2: 0x2c76c696e1630aa3, + }, }, G2Line { r0a0: u288 { limb0: 0xc648054e4b6134bbfd68487f, limb1: 0xdf0506dad3f3d098c13a6386, - limb2: 0x26bebeb6f46c2e8c + limb2: 0x26bebeb6f46c2e8c, }, r0a1: u288 { limb0: 0x9d0cdb28a94204776c6e6ba6, limb1: 0x303f02dfe619752b1607951d, - limb2: 0x1127d8b17ef2c064 + limb2: 0x1127d8b17ef2c064, }, r1a0: u288 { limb0: 0xe34ca1188b8db4e4694a696c, limb1: 0x243553602481d9b88ca1211, - limb2: 0x1f8ef034831d0132 + limb2: 0x1f8ef034831d0132, }, r1a1: u288 { limb0: 0xe3a5dfb1785690dad89ad10c, limb1: 0xd690b583ace24ba033dd23e0, - limb2: 0x405d0709e110c03 - } + limb2: 0x405d0709e110c03, + }, }, G2Line { r0a0: u288 { limb0: 0x9f395ba5aff2b0485d02ad3, limb1: 0xd745a02f5dda7608c1aa5b6c, - limb2: 0x2c12ce79338fb06c + limb2: 0x2c12ce79338fb06c, }, r0a1: u288 { limb0: 0x6bbfa55a1d9bfb38880150f5, limb1: 0x3a352c8ebceaab1b84fddea8, - limb2: 0x1ef234624c2a4dd1 + limb2: 0x1ef234624c2a4dd1, }, r1a0: u288 { limb0: 0xce4d0f18e7500ec5e79f5c9b, limb1: 0x806d4caac7b410b45752f986, - limb2: 0x12ec5a5f04110219 + limb2: 0x12ec5a5f04110219, }, r1a1: u288 { limb0: 0x1cacd816d2c00f06c10b8405, limb1: 0xfa95cba80a6fa53f6e8fcdbd, - limb2: 0xd5b083f527eaaf5 - } + limb2: 0xd5b083f527eaaf5, + }, }, G2Line { r0a0: u288 { limb0: 0x72cc2cef2785ce4ff4e9b7af, limb1: 0x60ed5b9c207d7f31fb6234ab, - limb2: 0x1bb17a4bc7b643ed + limb2: 0x1bb17a4bc7b643ed, }, r0a1: u288 { limb0: 0x9424eb15b502cde7927c7530, limb1: 0xa0e33edbbaa9de8e9c206059, - limb2: 0x2b9a3a63bbf4af99 + limb2: 0x2b9a3a63bbf4af99, }, r1a0: u288 { limb0: 0x423811cb6386e606cf274a3c, limb1: 0x8adcc0e471ecfe526f56dc39, - limb2: 0x9169a8660d14368 + limb2: 0x9169a8660d14368, }, r1a1: u288 { limb0: 0xf616c863890c3c8e33127931, limb1: 0xcc9414078a6da6989dae6b91, - limb2: 0x594d6a7e6b34ab2 - } + limb2: 0x594d6a7e6b34ab2, + }, }, G2Line { r0a0: u288 { limb0: 0x7fb74b75258ad974f27f0b99, limb1: 0x84f19bd902fadad4d0bcd73c, - limb2: 0xce721ef63bddc72 + limb2: 0xce721ef63bddc72, }, r0a1: u288 { limb0: 0xaaa754b4283ded9567a7ebe6, limb1: 0x8680b8bb98776864cf0b9a91, - limb2: 0x2c654975f8cf5aac + limb2: 0x2c654975f8cf5aac, }, r1a0: u288 { limb0: 0x15b404bb99c14804cb871df0, limb1: 0x28f2373909ce28eab3269ad5, - limb2: 0x23f0beb80a0dc66f + limb2: 0x23f0beb80a0dc66f, }, r1a1: u288 { limb0: 0x1a40652ffabc01487ee07368, limb1: 0xfb7d1ac226c315f73ba10295, - limb2: 0xd4a4463afd8862a - } + limb2: 0xd4a4463afd8862a, + }, }, G2Line { r0a0: u288 { limb0: 0xf2d619ae78049bf9141c35cf, limb1: 0x717f8b10d469a1ee2d91f191, - limb2: 0x2c72c82fa8afe345 + limb2: 0x2c72c82fa8afe345, }, r0a1: u288 { limb0: 0xb89321223b82a2dc793c0185, limb1: 0x71506a0cf4adb8e51bb7b759, - limb2: 0x2c13b92a98651492 + limb2: 0x2c13b92a98651492, }, r1a0: u288 { limb0: 0x4947ef2c89276f77f9d20942, limb1: 0xb454d68685ab6b6976e71ec5, - limb2: 0x19a938d0e78a3593 + limb2: 0x19a938d0e78a3593, }, r1a1: u288 { limb0: 0xbe883eb119609b489c01c905, limb1: 0xaa06779922047f52feac5ce6, - limb2: 0x76977a3015dc164 - } + limb2: 0x76977a3015dc164, + }, }, G2Line { r0a0: u288 { limb0: 0x43a96a588005043a46aadf2c, limb1: 0xa37b89d8a1784582f0c52126, - limb2: 0x22e9ef3f5d4b2297 + limb2: 0x22e9ef3f5d4b2297, }, r0a1: u288 { limb0: 0x8c6f6d8474cf6e5a58468a31, limb1: 0xeb1ce6ac75930ef1c79b07e5, - limb2: 0xf49839a756c7230 + limb2: 0xf49839a756c7230, }, r1a0: u288 { limb0: 0x82b84693a656c8e8c1f962fd, limb1: 0x2c1c8918ae80282208b6b23d, - limb2: 0x14d3504b5c8d428f + limb2: 0x14d3504b5c8d428f, }, r1a1: u288 { limb0: 0x60ef4f4324d5619b60a3bb84, limb1: 0x6d3090caefeedbc33638c77a, - limb2: 0x159264c370c89fec - } + limb2: 0x159264c370c89fec, + }, }, G2Line { r0a0: u288 { limb0: 0x8fac42bd654a73e6e06cd8cf, limb1: 0xc3830a580c7ae62ca9a58036, - limb2: 0xb1a750d7380c19e + limb2: 0xb1a750d7380c19e, }, r0a1: u288 { limb0: 0x4e8496aad8f6ac809fd15dae, limb1: 0xb51505336049b39b3fe98502, - limb2: 0xc2e5994cb400618 + limb2: 0xc2e5994cb400618, }, r1a0: u288 { limb0: 0x2fc55d31524d834b260b3051, limb1: 0xe465c3c590247c88422d26c8, - limb2: 0x10322a13b180bb0a + limb2: 0x10322a13b180bb0a, }, r1a1: u288 { limb0: 0x25a29688c4e32c67cb1134a8, limb1: 0x651bc8b0deb27bdb5762232f, - limb2: 0x117dd3744aca1f64 - } + limb2: 0x117dd3744aca1f64, + }, }, G2Line { r0a0: u288 { limb0: 0xee89d2a59689701ecf4a31f2, limb1: 0xefc968d4b47e143fc28040f3, - limb2: 0x1a5b2ca3ba6945b3 + limb2: 0x1a5b2ca3ba6945b3, }, r0a1: u288 { limb0: 0x981810f00669aa9ef6a5c331, limb1: 0x483396ddbc880f5c1a0a0915, - limb2: 0x85f453a76b6bc86 + limb2: 0x85f453a76b6bc86, }, r1a0: u288 { limb0: 0xe25dfca55ef96a66eb1a716a, limb1: 0xa36d2f86b377aeddc41b101b, - limb2: 0x36848c2314fd3a7 + limb2: 0x36848c2314fd3a7, }, r1a1: u288 { limb0: 0xac4c5ac54d6c417facda3992, limb1: 0xd0b77b71f704c0930adeef4c, - limb2: 0x8c773a6db51d65d - } + limb2: 0x8c773a6db51d65d, + }, }, ] .span(); @@ -3976,125 +3976,125 @@ mod pairing_tests { w0: u288 { limb0: 0x195c16df4a0f8f9dcb48bee9, limb1: 0x27f3cb7c50eca75e794d2f14, - limb2: 0x14156ca1853095df + limb2: 0x14156ca1853095df, }, w1: u288 { limb0: 0xf01d099a6df0a4a55ed21b59, limb1: 0x9fed6b2018946bcc2a8dad06, - limb2: 0xdc2a20a6107d4c4 + limb2: 0xdc2a20a6107d4c4, }, w2: u288 { limb0: 0x6c1817c4efa721fc98f69503, limb1: 0xed80f8339cf9e06ff04257cb, - limb2: 0x14260c5afb0b1148 + limb2: 0x14260c5afb0b1148, }, w3: u288 { limb0: 0xf98323135baab8ae3c766c60, limb1: 0xffefe512eb9448ef436dd090, - limb2: 0xafe8a09df07bf3d + limb2: 0xafe8a09df07bf3d, }, w4: u288 { limb0: 0x1707d6579371dae20368253c, limb1: 0x7bb02cc2b5dc98aff593681, - limb2: 0x114692950f53d4f7 + limb2: 0x114692950f53d4f7, }, w5: u288 { limb0: 0xa9da397fe12d4a3939ce650c, limb1: 0x49646f1e106dc0ee917551f5, - limb2: 0x2dd3fca725919631 + limb2: 0x2dd3fca725919631, }, w6: u288 { limb0: 0xd6054be99a9248497b82062a, limb1: 0x2ea3f1b228beff5fd364a127, - limb2: 0x1750bd450b85cbd6 + limb2: 0x1750bd450b85cbd6, }, w7: u288 { limb0: 0x4b83377c168d89b919386546, limb1: 0x26169d3ce55db12ecafd74bc, - limb2: 0x1248cfad33a21477 + limb2: 0x1248cfad33a21477, }, w8: u288 { limb0: 0x724e5f5589d549a709b2b5ef, limb1: 0x8816b055888399c99a954b82, - limb2: 0x28d156bac04e6493 + limb2: 0x28d156bac04e6493, }, w9: u288 { limb0: 0x56fbb49c235bc75082f5f26e, limb1: 0x56afece475580f453f9126f2, - limb2: 0x39e1ab153bd7095 + limb2: 0x39e1ab153bd7095, }, w10: u288 { limb0: 0x4fd83597fed1d7e7b9d09e04, limb1: 0x7c7f558d3e74e6617d7f08b5, - limb2: 0x14853f940bf5c55 + limb2: 0x14853f940bf5c55, }, w11: u288 { limb0: 0xae3473546aa01a618b78b125, limb1: 0xfee14a3ce2b7af4e1872fe49, - limb2: 0xaa480d613601947 - } + limb2: 0xaa480d613601947, + }, }, lambda_root_inverse: E12D { w0: u288 { limb0: 0xd4445d3e89123811ede12825, limb1: 0x7794dbccbd7925ea98507cf8, - limb2: 0x1d7a9ffbbe137d69 + limb2: 0x1d7a9ffbbe137d69, }, w1: u288 { limb0: 0xe7642301653a6307c7467811, limb1: 0x75e5c1fc0ff08be0981a61d8, - limb2: 0x1f45aa2ee73f15e2 + limb2: 0x1f45aa2ee73f15e2, }, w2: u288 { limb0: 0x9865533968e39b5083fc576e, limb1: 0xc63d81e8d0c1e37c901a5a56, - limb2: 0x2446d99f276e4c8b + limb2: 0x2446d99f276e4c8b, }, w3: u288 { limb0: 0x31b5aada49be919aaa447cc7, limb1: 0x5131a5f04c3c634c9df3447, - limb2: 0x223bd50b771fcaa9 + limb2: 0x223bd50b771fcaa9, }, w4: u288 { limb0: 0x6aefbf4a9ce706bc36252c47, limb1: 0x4d7ddfacdd59750105dcc37f, - limb2: 0x24cfef2958a7c9c + limb2: 0x24cfef2958a7c9c, }, w5: u288 { limb0: 0xe9789fb7259c294210f7720e, limb1: 0x4955cb370b0ac66e3e295ea6, - limb2: 0x3a974db52b27468 + limb2: 0x3a974db52b27468, }, w6: u288 { limb0: 0x3fb8266ad697b531de5e2fb6, limb1: 0x41feb355a44845dc30c2a9ae, - limb2: 0x160b7346ec9fdd98 + limb2: 0x160b7346ec9fdd98, }, w7: u288 { limb0: 0xa56b5d534495a358f9c739f, limb1: 0x5f204fa5ce1c9a99c7979911, - limb2: 0xe46af84e1cbba80 + limb2: 0xe46af84e1cbba80, }, w8: u288 { limb0: 0xa9b51192113e131bd5572a21, limb1: 0x9b9524e9708ac412d3fa05fe, - limb2: 0x1f2b5709d0d7c949 + limb2: 0x1f2b5709d0d7c949, }, w9: u288 { limb0: 0x1052a86d50224b92838c5d76, limb1: 0xf690cd9eab121b1f329194c, - limb2: 0x8a75eef583ffc3b + limb2: 0x8a75eef583ffc3b, }, w10: u288 { limb0: 0x9764f07572ce9593878da9fb, limb1: 0xde7ec74175c125ac7e878050, - limb2: 0xef3a64570d17038 + limb2: 0xef3a64570d17038, }, w11: u288 { limb0: 0x35825f15893ad52a39f54331, limb1: 0x7b87bc78053320664e06d12b, - limb2: 0x2a6290607745b58a - } + limb2: 0x2a6290607745b58a, + }, }, w: MillerLoopResultScalingFactor { w0: u288 { limb0: 0x1, limb1: 0x0, limb2: 0x0 }, @@ -4102,2116 +4102,2116 @@ mod pairing_tests { w4: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w6: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w8: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, - w10: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 } + w10: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, }, Ris: array![ E12D { w0: u288 { limb0: 0xf2fa8194a9fdd627525394de, limb1: 0xe1d604e9b0c0efb376aaa3e1, - limb2: 0x6e2d5c667e253ff + limb2: 0x6e2d5c667e253ff, }, w1: u288 { limb0: 0x9d2d152e532c421b7834a99d, limb1: 0xe2c971b204e63954fbc8ad23, - limb2: 0x2dc3c5e55face7c5 + limb2: 0x2dc3c5e55face7c5, }, w2: u288 { limb0: 0xa81940aec94ea9901fcac97d, limb1: 0xea2801041714bcb5d41a0ff, - limb2: 0x2ff4750593044152 + limb2: 0x2ff4750593044152, }, w3: u288 { limb0: 0x55867c1f0779e0422d545f0c, limb1: 0xf76a2af1d6b410d8639501aa, - limb2: 0xdab9fd3d1ef5226 + limb2: 0xdab9fd3d1ef5226, }, w4: u288 { limb0: 0x845bfd3e55f70e8272c8fb3, limb1: 0x3ffd60992916c6410e0f5352, - limb2: 0x2fea029bdb6a10f5 + limb2: 0x2fea029bdb6a10f5, }, w5: u288 { limb0: 0xc46ce45b66636cb6ba1ee436, limb1: 0xb7d8f5bedbe3c09728563ff0, - limb2: 0x2f329aa1c588e3e4 + limb2: 0x2f329aa1c588e3e4, }, w6: u288 { limb0: 0x100fa50e29907ad3283e7b83, limb1: 0xa405ca3722d951cb9a512f1c, - limb2: 0x2290e74d07afff26 + limb2: 0x2290e74d07afff26, }, w7: u288 { limb0: 0x7f4ccb1aa1cff1983d7d2ae4, limb1: 0x8be6fdabbb6f2986a20934fe, - limb2: 0x6bd6eba6eb034c9 + limb2: 0x6bd6eba6eb034c9, }, w8: u288 { limb0: 0x49149a6939c1e7afec80ee3c, limb1: 0xb3543992e315765cb35d0f7d, - limb2: 0x1ca0c85d7f94b5c6 + limb2: 0x1ca0c85d7f94b5c6, }, w9: u288 { limb0: 0x3e916ca84262a68f9eea11f9, limb1: 0x5ecce1f7718bba441de2df4f, - limb2: 0x1f70622e79ccbeb3 + limb2: 0x1f70622e79ccbeb3, }, w10: u288 { limb0: 0x9e62952be0e54c3427ea8aab, limb1: 0xc1ad39913d06e14c6ad3a156, - limb2: 0x2492333e1554b6d2 + limb2: 0x2492333e1554b6d2, }, w11: u288 { limb0: 0xb40efced523794fd2aa17d4a, limb1: 0xe1f6f435746d944886953830, - limb2: 0x2a9baf66b1ec17a - } + limb2: 0x2a9baf66b1ec17a, + }, }, E12D { w0: u288 { limb0: 0xa1fc4e1e3b65f7f7793d75d7, limb1: 0xae4e796f20d02f00e403c73f, - limb2: 0x21c18c15eaf2e543 + limb2: 0x21c18c15eaf2e543, }, w1: u288 { limb0: 0x3199827390abbe9ca30d6d5e, limb1: 0x730b129db4170c217248713c, - limb2: 0x1ea8d6f41a6171e5 + limb2: 0x1ea8d6f41a6171e5, }, w2: u288 { limb0: 0x78d14fddb4434f077e2deab0, limb1: 0x9663d11277af92fcfe15e610, - limb2: 0x19210af828cd091a + limb2: 0x19210af828cd091a, }, w3: u288 { limb0: 0x4de887d39eee6cb04c395b87, limb1: 0xc2ff130aea14a5d78e28cf8d, - limb2: 0x2b61bdd91c851524 + limb2: 0x2b61bdd91c851524, }, w4: u288 { limb0: 0xf2b2ba244a309375052c4f42, limb1: 0xacf0b149db02d1722805cad4, - limb2: 0x1b3d1b4d652e719c + limb2: 0x1b3d1b4d652e719c, }, w5: u288 { limb0: 0x8f6d0954663be60b848af91b, limb1: 0x4cd56e52e93373b68f6d679d, - limb2: 0x2e72ef29d615a4a + limb2: 0x2e72ef29d615a4a, }, w6: u288 { limb0: 0xe4d9fbc1e47fc17f958217f, limb1: 0x1866843e972eb31da1b03a09, - limb2: 0x17626c9319fd1b0e + limb2: 0x17626c9319fd1b0e, }, w7: u288 { limb0: 0x6e90014bb73ec0e94d75f1ae, limb1: 0x8ce846c86c0d98599ea26c73, - limb2: 0x1c2a1cb42ebfeca2 + limb2: 0x1c2a1cb42ebfeca2, }, w8: u288 { limb0: 0x59885f5adfdafec208157d20, limb1: 0xc06108cd50dca18c6f38d6bc, - limb2: 0x6cd036a10985c09 + limb2: 0x6cd036a10985c09, }, w9: u288 { limb0: 0x585e0bc54c4d2fe3d596b2e3, limb1: 0x5927149279279dcadf8c97b5, - limb2: 0x2b1fa6025f359ad2 + limb2: 0x2b1fa6025f359ad2, }, w10: u288 { limb0: 0x2b7b8c0f7639faad593e8383, limb1: 0xfcf8631ba48c4afe18d80c85, - limb2: 0x966e5a47631686f + limb2: 0x966e5a47631686f, }, w11: u288 { limb0: 0x69461bc00469ae6f14b23750, limb1: 0xbc63f9e8cb37c1f943bf0690, - limb2: 0x1d4e149f8299aa2d - } + limb2: 0x1d4e149f8299aa2d, + }, }, E12D { w0: u288 { limb0: 0xbfcbda7691d6021a784022d5, limb1: 0xf407b3b09ed4b94542a95f63, - limb2: 0x484ab1dd7428e01 + limb2: 0x484ab1dd7428e01, }, w1: u288 { limb0: 0xb133cd33b820c39fb9fef059, limb1: 0x254f89192819893523420d52, - limb2: 0x181f7e2c71063ffc + limb2: 0x181f7e2c71063ffc, }, w2: u288 { limb0: 0x6386c277c18b70fbeccdb0ac, limb1: 0x830322bd75699347acf10beb, - limb2: 0x25b122a978cff8b4 + limb2: 0x25b122a978cff8b4, }, w3: u288 { limb0: 0x43de51582c42a09b767cb0db, limb1: 0x38fbf88e5df42583be8f94b5, - limb2: 0x425b802f131c9cb + limb2: 0x425b802f131c9cb, }, w4: u288 { limb0: 0x79e8bf369ece3027d02d9b23, limb1: 0xc43d966f8d7269715ebecee4, - limb2: 0x10b0ade019bf9b51 + limb2: 0x10b0ade019bf9b51, }, w5: u288 { limb0: 0x25fb1663997d761c2d966543, limb1: 0xbc90d7df362a1172ac8ad1d7, - limb2: 0x1236e39a09e91ce8 + limb2: 0x1236e39a09e91ce8, }, w6: u288 { limb0: 0x7519170922b5b0bdd65be6a7, limb1: 0x8d728cf7e9203cdde92b6b1a, - limb2: 0x1559bd06e06a1748 + limb2: 0x1559bd06e06a1748, }, w7: u288 { limb0: 0x3522045a369b7bbb242270df, limb1: 0xd947b9644921f9337a72005e, - limb2: 0xdcb748b310acabf + limb2: 0xdcb748b310acabf, }, w8: u288 { limb0: 0xca82b75883645f8fd56ce314, limb1: 0x48e0e79fa58c59fd9d8355f8, - limb2: 0x101f82655362fa7b + limb2: 0x101f82655362fa7b, }, w9: u288 { limb0: 0x61742edaa0da46b51a3efb80, limb1: 0x20dc1158e04bce1a5dc049e0, - limb2: 0x1cf24ce8520c3a8b + limb2: 0x1cf24ce8520c3a8b, }, w10: u288 { limb0: 0x37ffb162df38cdcb561cd489, limb1: 0x16b25873b29fdfb563b16a9f, - limb2: 0x2375d4bad02acd4 + limb2: 0x2375d4bad02acd4, }, w11: u288 { limb0: 0x2c023248737e318d2195a92, limb1: 0xaca7d0297ea2a7757d8cc9e1, - limb2: 0x251260ddb7f1756d - } + limb2: 0x251260ddb7f1756d, + }, }, E12D { w0: u288 { limb0: 0x81fe8c8afe6873cf3f7b5cd, limb1: 0x4ec5d556e1a946d1ddcb069a, - limb2: 0xca3291e3f6ef12e + limb2: 0xca3291e3f6ef12e, }, w1: u288 { limb0: 0x474f1efbda01f550d6c04a8a, limb1: 0x59446cd0acd4c47c9c9dce4f, - limb2: 0x210465e49e0a585b + limb2: 0x210465e49e0a585b, }, w2: u288 { limb0: 0xad9aeb3a7e41876c9e3ef2d2, limb1: 0xb4967ef0d9e28b41cfb7752e, - limb2: 0x1579d33d082372e9 + limb2: 0x1579d33d082372e9, }, w3: u288 { limb0: 0x8897068598400e625d41936c, limb1: 0x3630dc545ed7f6dd2996f95d, - limb2: 0xe7b6ee901988b96 + limb2: 0xe7b6ee901988b96, }, w4: u288 { limb0: 0x56832f4842ec5db2742798ab, limb1: 0xe2699baf1ca60a52f7018e62, - limb2: 0x135c42195434dfb8 + limb2: 0x135c42195434dfb8, }, w5: u288 { limb0: 0x152cc078fbb77283d8258c18, limb1: 0xbf47d56bbf8a81ad6350e169, - limb2: 0x1c7c8963acb4f782 + limb2: 0x1c7c8963acb4f782, }, w6: u288 { limb0: 0xbe58ec496805ce645c12ea57, limb1: 0x3dee712fe63432f75fa00299, - limb2: 0x230af637699638ee + limb2: 0x230af637699638ee, }, w7: u288 { limb0: 0xa24d5cf767d2273e5a46a6de, limb1: 0x9d31117f3370645b3f8ba4d3, - limb2: 0x20db0eb3812b696a + limb2: 0x20db0eb3812b696a, }, w8: u288 { limb0: 0xb177322e3c461ec3a18fab81, limb1: 0x4e10f0ab4925d0caa9f27a52, - limb2: 0x1c467f5ac56d1ba3 + limb2: 0x1c467f5ac56d1ba3, }, w9: u288 { limb0: 0x6582d9e0006027351cb08356, limb1: 0x9e577626acb2a07771557dbe, - limb2: 0xd7c96fe485899f0 + limb2: 0xd7c96fe485899f0, }, w10: u288 { limb0: 0x100017574dd91436dbce587a, limb1: 0xbdda3d96d428123f881648ff, - limb2: 0x2b7e0871d76d7562 + limb2: 0x2b7e0871d76d7562, }, w11: u288 { limb0: 0x534b2d82060ca792890071fb, limb1: 0x28eb9400b69a85997c673f39, - limb2: 0x26256194b2d8184d - } + limb2: 0x26256194b2d8184d, + }, }, E12D { w0: u288 { limb0: 0x7a0590f085219d1e49b1a202, limb1: 0xc263a8319f723136aa0b96a3, - limb2: 0x679690afb81dbda + limb2: 0x679690afb81dbda, }, w1: u288 { limb0: 0x71b85226100a44d0bf7d832a, limb1: 0x3067f6fbf94ee90ffad1172, - limb2: 0x1736140d66ba7277 + limb2: 0x1736140d66ba7277, }, w2: u288 { limb0: 0x623d0ea9bc4d6d56f1f30d4a, limb1: 0x2ab6f8d1d518c5bf6193d719, - limb2: 0x9f1bd18e2b9ee3a + limb2: 0x9f1bd18e2b9ee3a, }, w3: u288 { limb0: 0x6761411697651fc6c319f2f6, limb1: 0x61d48ed7306e80c3c447cc50, - limb2: 0x18b5b8fee4c3bed9 + limb2: 0x18b5b8fee4c3bed9, }, w4: u288 { limb0: 0xb09464e6861e5ed9142f517a, limb1: 0x3697362f33ee1b6a2ffca931, - limb2: 0x251eca3eb15ae1bb + limb2: 0x251eca3eb15ae1bb, }, w5: u288 { limb0: 0xb753d0fb3ef0221f38b3777d, limb1: 0x2b3cba72ef077890d91f7d72, - limb2: 0xcac0c0d82a467de + limb2: 0xcac0c0d82a467de, }, w6: u288 { limb0: 0xacf131a2e4a8ac99cb66c4c7, limb1: 0xf0ba7668749554c860961672, - limb2: 0x2b83f6926886f3ff + limb2: 0x2b83f6926886f3ff, }, w7: u288 { limb0: 0xa57b1654a5ea8d73e9cb6916, limb1: 0x37d0bb062363510695f11887, - limb2: 0x1025a3438e62a335 + limb2: 0x1025a3438e62a335, }, w8: u288 { limb0: 0xa6e8bde02fc0040222948861, limb1: 0xb3cd895a379088da54e7d665, - limb2: 0xf239a541e2db6d9 + limb2: 0xf239a541e2db6d9, }, w9: u288 { limb0: 0x150ab124c283da1a24aaa28f, limb1: 0x7b68a368f3df8a541116a40, - limb2: 0x29dabc63d0f5e9a1 + limb2: 0x29dabc63d0f5e9a1, }, w10: u288 { limb0: 0xfcc3ffb404bd1c0effcc67fc, limb1: 0xa99cc3a1080e8fa3eac0f79d, - limb2: 0x16b2ab0f6fefb72b + limb2: 0x16b2ab0f6fefb72b, }, w11: u288 { limb0: 0xf4fab8a30df710b0a7aa23e4, limb1: 0xee08aba39e9b86d66f89b09, - limb2: 0x10297d8dba978173 - } + limb2: 0x10297d8dba978173, + }, }, E12D { w0: u288 { limb0: 0x7f1da8d717c321da92620a38, limb1: 0x1c34d5a41dd1580cad5da4bb, - limb2: 0x264c35a795ea35b3 + limb2: 0x264c35a795ea35b3, }, w1: u288 { limb0: 0x93ef419e31d7e04fbfe40f26, limb1: 0x8dcee057ceb6a01686e7055a, - limb2: 0x1c2f5969c7a2c07e + limb2: 0x1c2f5969c7a2c07e, }, w2: u288 { limb0: 0x8fe175866e96f98fff3a22a0, limb1: 0x9e8081541ccefcb53c7eb2d, - limb2: 0x2244e4f0ae949c4 + limb2: 0x2244e4f0ae949c4, }, w3: u288 { limb0: 0xf44cab93381d8325a2fc894e, limb1: 0x21e4d8a6a1c197c760b4b674, - limb2: 0x2e70f85fae87c741 + limb2: 0x2e70f85fae87c741, }, w4: u288 { limb0: 0x2b9421d1f4a75279a4a37950, limb1: 0xa40bf928ba237c3b64bd886b, - limb2: 0x2181a8053d4d2243 + limb2: 0x2181a8053d4d2243, }, w5: u288 { limb0: 0x551eedbb1be148ec878c8497, limb1: 0x63cfbe2727afbb1c9ab904d8, - limb2: 0x1201390258b7fa5c + limb2: 0x1201390258b7fa5c, }, w6: u288 { limb0: 0x3413023817ffe912237924bb, limb1: 0xc8ec7546fa50a3a5bf73ef64, - limb2: 0x154b10842ab9f08e + limb2: 0x154b10842ab9f08e, }, w7: u288 { limb0: 0x3433f3946abd235f4852671f, limb1: 0x4f0065f08eeb7ee8349bf5b9, - limb2: 0x25af5a4af220ec11 + limb2: 0x25af5a4af220ec11, }, w8: u288 { limb0: 0xdf980696295073821473e3a9, limb1: 0xe1d5ffff2ee85385ae1d84ed, - limb2: 0x998add2cc38123b + limb2: 0x998add2cc38123b, }, w9: u288 { limb0: 0xa4460f4fa19d7da44b6d37d6, limb1: 0x21a63d9ac273152908e20cf4, - limb2: 0xb43c05ecc1a46d7 + limb2: 0xb43c05ecc1a46d7, }, w10: u288 { limb0: 0xfa2ac15271ea1ea122a7f7c2, limb1: 0x98ccdf1be55f7224639cae5a, - limb2: 0x128165600a34f4d8 + limb2: 0x128165600a34f4d8, }, w11: u288 { limb0: 0x880fb407eaa05426a8a3699f, limb1: 0x13b039a6d088cde86bc99280, - limb2: 0x25f0ddbe00bfe102 - } + limb2: 0x25f0ddbe00bfe102, + }, }, E12D { w0: u288 { limb0: 0xe79a1a3b581b15c6552fee96, limb1: 0x623169860e532b6833adaed0, - limb2: 0xdf2e1bc3f49b17f + limb2: 0xdf2e1bc3f49b17f, }, w1: u288 { limb0: 0x82fbfcc8e320d1a559108ebd, limb1: 0x398449cedc8a6c95fb7efba7, - limb2: 0xe3f4dc0728dd65a + limb2: 0xe3f4dc0728dd65a, }, w2: u288 { limb0: 0xd42e5660c7259f239e94e9e6, limb1: 0x56a59f4335e45444ad6f0ab9, - limb2: 0x717e8c6b06e6d07 + limb2: 0x717e8c6b06e6d07, }, w3: u288 { limb0: 0x959c3512c9bb1d3663382bf5, limb1: 0x25061bc0e8ad631f66c35752, - limb2: 0x1be6180a76fe2379 + limb2: 0x1be6180a76fe2379, }, w4: u288 { limb0: 0x113a01a95ff0b7344a6ed1fa, limb1: 0xed275900f8b636a554551b04, - limb2: 0x1ed20c5fe3160f13 + limb2: 0x1ed20c5fe3160f13, }, w5: u288 { limb0: 0xda5b00dcbf123e7ef0e22ecb, limb1: 0x4712a15f67df4356961b91b0, - limb2: 0x191a6e54a247677e + limb2: 0x191a6e54a247677e, }, w6: u288 { limb0: 0x8727e056ef1f2e00001ee30b, limb1: 0xa5899f981336f6b6ffb14600, - limb2: 0x2ba9019a071ff9e7 + limb2: 0x2ba9019a071ff9e7, }, w7: u288 { limb0: 0x430616f2db6ce63405b60234, limb1: 0x38853a1ed4fe555eb90e9387, - limb2: 0xeb9cf3c0e1b1390 + limb2: 0xeb9cf3c0e1b1390, }, w8: u288 { limb0: 0x48f41979d7ee62a531dc11b1, limb1: 0xbf258b286416b510392d3426, - limb2: 0x586a2b2130ac60c + limb2: 0x586a2b2130ac60c, }, w9: u288 { limb0: 0x12a3062d7cf738e164cab726, limb1: 0xd7c481cf0010024424dad92, - limb2: 0x240e926f21d6137a + limb2: 0x240e926f21d6137a, }, w10: u288 { limb0: 0xde116640887cb84fb5764ef7, limb1: 0xced8e2d7611e1b329248dc19, - limb2: 0x6b9c04f96a0360e + limb2: 0x6b9c04f96a0360e, }, w11: u288 { limb0: 0xc8f83c2f3507e8a16a023597, limb1: 0x7a1d65fb1bc859ac0b9a3af6, - limb2: 0x2dbdf00f63e255a2 - } + limb2: 0x2dbdf00f63e255a2, + }, }, E12D { w0: u288 { limb0: 0x9f1833d4ee6e05b2e98eb194, limb1: 0xdf61e89608afbbff54451d49, - limb2: 0x7341a57c8351835 + limb2: 0x7341a57c8351835, }, w1: u288 { limb0: 0x396bde8ca73f5e0e52f1bcc3, limb1: 0xb41de7c6525d9097f89f9874, - limb2: 0x1fee062ab770bd4a + limb2: 0x1fee062ab770bd4a, }, w2: u288 { limb0: 0xde88c90e56f5efff42fc5ae5, limb1: 0x70eb11756f50d40816fa1a84, - limb2: 0x1f35fa63de82bc30 + limb2: 0x1f35fa63de82bc30, }, w3: u288 { limb0: 0xaacbc7daaefa32f112ff727, limb1: 0x55e72851bb33661f52250a3f, - limb2: 0x18c4cc5aa53fa8ab + limb2: 0x18c4cc5aa53fa8ab, }, w4: u288 { limb0: 0x4d832925bb29a07f12600b73, limb1: 0x4d648c8bf3aef6e9dc8f3eca, - limb2: 0x468982847f8a07e + limb2: 0x468982847f8a07e, }, w5: u288 { limb0: 0x6865044fe86fc113321d84b3, limb1: 0x4afb949d44ddc19a50d76746, - limb2: 0x1c4878b6bc126ea + limb2: 0x1c4878b6bc126ea, }, w6: u288 { limb0: 0xcdb1ec52b0efcf2a333cb03e, limb1: 0x1d47715e046d09a63bd817b5, - limb2: 0x47664218590ab80 + limb2: 0x47664218590ab80, }, w7: u288 { limb0: 0x9354e8a50050939f807da303, limb1: 0xdd6956fd5c5a1aab21b97b7c, - limb2: 0x1bf57342d5e7ec73 + limb2: 0x1bf57342d5e7ec73, }, w8: u288 { limb0: 0xf18eec3aaeee1eea6b00228e, limb1: 0x90405b5368a83b8e3e141abd, - limb2: 0x5489f27d98c5a6d + limb2: 0x5489f27d98c5a6d, }, w9: u288 { limb0: 0x33372084065e44dcd5edfe77, limb1: 0x9ea7ef66db0f0ff55972dbea, - limb2: 0x20d81d5b8dd287c6 + limb2: 0x20d81d5b8dd287c6, }, w10: u288 { limb0: 0xf95c243e1128f75841ac88a8, limb1: 0xe39101c1f545587666fc99c9, - limb2: 0x1332f858bc2d9ed6 + limb2: 0x1332f858bc2d9ed6, }, w11: u288 { limb0: 0x3dda3f6e97341fc9cbbe60d7, limb1: 0x7214e1d782068b63e36e074f, - limb2: 0x7087cef01dfb965 - } + limb2: 0x7087cef01dfb965, + }, }, E12D { w0: u288 { limb0: 0xee419f4271957570f4b1c32, limb1: 0xee1f110052ca2e56a97efb6c, - limb2: 0xad375e8d172d961 + limb2: 0xad375e8d172d961, }, w1: u288 { limb0: 0x63ebd35fc505842517b7e802, limb1: 0x62c3623a58ae1bd17f9436b7, - limb2: 0x249b716ea1290d35 + limb2: 0x249b716ea1290d35, }, w2: u288 { limb0: 0x21b92dabf6e5280c26e361ee, limb1: 0x3c390fa8b8657c4f4fe50e82, - limb2: 0x585285292095c27 + limb2: 0x585285292095c27, }, w3: u288 { limb0: 0x755a1f81220bff5c131d7e96, limb1: 0x4df7a8ee45d3302f30ff29a8, - limb2: 0x10d1d361cff8aba5 + limb2: 0x10d1d361cff8aba5, }, w4: u288 { limb0: 0xa2041d8fc2c467e3f1bac97a, limb1: 0x48e7421f5ec41f255b8c45ce, - limb2: 0xca996570d833fcf + limb2: 0xca996570d833fcf, }, w5: u288 { limb0: 0x2183fed77e39e6b8807abd2c, limb1: 0xda8b0ba5b995978dd002d1ef, - limb2: 0x25ba30a10ab4363f + limb2: 0x25ba30a10ab4363f, }, w6: u288 { limb0: 0x44a4271d7e7d6e2372deb46f, limb1: 0x6ebe794b43059afaf191747a, - limb2: 0x62cd7ea75a47f9d + limb2: 0x62cd7ea75a47f9d, }, w7: u288 { limb0: 0xb01b410bdd4f7d17faad0b02, limb1: 0x92b6fa71257d0e35216b8d76, - limb2: 0x234c010bcace1d9e + limb2: 0x234c010bcace1d9e, }, w8: u288 { limb0: 0x2dba0f00a37d7388eb27942d, limb1: 0xb2148684b3580c6d45dfc7f8, - limb2: 0x2286172b9d954df5 + limb2: 0x2286172b9d954df5, }, w9: u288 { limb0: 0xe48a688bec46fdf3a2b3458d, limb1: 0xc0dd157ca14a9dddee9f0749, - limb2: 0x29b03a6b1d1d3ec9 + limb2: 0x29b03a6b1d1d3ec9, }, w10: u288 { limb0: 0x7cf25068f4085c9a3552b26b, limb1: 0x51c51346bf9ee9478e82069a, - limb2: 0x1c3b363ed4ad026a + limb2: 0x1c3b363ed4ad026a, }, w11: u288 { limb0: 0x32055cc475ed2979ba936b5d, limb1: 0x3a76365f65bb11dfa20f6f03, - limb2: 0x14e82b52083c1950 - } + limb2: 0x14e82b52083c1950, + }, }, E12D { w0: u288 { limb0: 0x86528ff5d288de551ba82e20, limb1: 0x779518dbb60908f0c9f431, - limb2: 0x17e7b0c198e5fbb4 + limb2: 0x17e7b0c198e5fbb4, }, w1: u288 { limb0: 0xa6b91b5273ad23056d2b5571, limb1: 0x18283f4038662f9f2d32aa6d, - limb2: 0x26250f9c485aaafe + limb2: 0x26250f9c485aaafe, }, w2: u288 { limb0: 0xff4b38ab950cec36907872c, limb1: 0xe8220a80ab1a1ebfb4a6b5ad, - limb2: 0x16a38cdcffaa084e + limb2: 0x16a38cdcffaa084e, }, w3: u288 { limb0: 0x30fe4c50e7cfb82354077ff9, limb1: 0xd825202a8b56831d4cb461f8, - limb2: 0xacbc4404e784841 + limb2: 0xacbc4404e784841, }, w4: u288 { limb0: 0x2f290a090b14ab72c573f72d, limb1: 0x28fe7dd957a3fea3a48824a3, - limb2: 0x8d4fde60889f05e + limb2: 0x8d4fde60889f05e, }, w5: u288 { limb0: 0x78e4ad232628f93493799b05, limb1: 0x853fa0b232ed0e0fe4c72ee8, - limb2: 0x1905420adaee585 + limb2: 0x1905420adaee585, }, w6: u288 { limb0: 0xf5b5ceac316dae7d4b72f222, limb1: 0xda7b251194b88252808ac1a8, - limb2: 0xc2ad9e69e7a3c18 + limb2: 0xc2ad9e69e7a3c18, }, w7: u288 { limb0: 0x871823350e01e7c076568b23, limb1: 0xc2fcb7b9ab99f9ea2de64a6f, - limb2: 0xcbca7c0f294b05 + limb2: 0xcbca7c0f294b05, }, w8: u288 { limb0: 0x58214cf485aa2980892ab270, limb1: 0x38ae8b1a6d563a6e90b57720, - limb2: 0xadc0f206a82720c + limb2: 0xadc0f206a82720c, }, w9: u288 { limb0: 0xe47d85736adce266525b33a5, limb1: 0x75f41b36a691ecb3f1af75f, - limb2: 0x2aaaad4a322f5ca2 + limb2: 0x2aaaad4a322f5ca2, }, w10: u288 { limb0: 0x449e76f3e507d1e4f79b2b41, limb1: 0xa66a19bfc8476c6ef9730a71, - limb2: 0x1c4a7da448d6a424 + limb2: 0x1c4a7da448d6a424, }, w11: u288 { limb0: 0xaa745ba79deacfc0e958305c, limb1: 0x771b3d2cba2c850277042d9f, - limb2: 0x2bbe2dd81ae206bf - } + limb2: 0x2bbe2dd81ae206bf, + }, }, E12D { w0: u288 { limb0: 0x89800871747a5772af0a4a5a, limb1: 0xc77aea4a034bd02c1a52fda4, - limb2: 0x7696ff7e1b8f387 + limb2: 0x7696ff7e1b8f387, }, w1: u288 { limb0: 0xdc9663d006102d510d74c328, limb1: 0xfa5faa547c8a1b45034a3b2, - limb2: 0x260faf1bbeb9d987 + limb2: 0x260faf1bbeb9d987, }, w2: u288 { limb0: 0x1bc1799be4bb7102992ecd13, limb1: 0x94e15f371c06ced1fde0dd3, - limb2: 0x665a3a12509ed21 + limb2: 0x665a3a12509ed21, }, w3: u288 { limb0: 0xdcd827948ef109459f3b29fb, limb1: 0xa669670e935b5b5f278378c2, - limb2: 0x2d04dee2ca1ba30c + limb2: 0x2d04dee2ca1ba30c, }, w4: u288 { limb0: 0x63cc8b1759ef1e93c126782a, limb1: 0xe01767580df775dd4a40d5e5, - limb2: 0x161187b33f992c8b + limb2: 0x161187b33f992c8b, }, w5: u288 { limb0: 0xfe53c1faf8ba08de077db23f, limb1: 0x6ac9f2dc628f14bdf063327f, - limb2: 0xec69da938087b0 + limb2: 0xec69da938087b0, }, w6: u288 { limb0: 0xead0bc1f5077694dad55c03f, limb1: 0xd6e68bf4d6cc956adcf2c643, - limb2: 0x2dbf0ee9310afb09 + limb2: 0x2dbf0ee9310afb09, }, w7: u288 { limb0: 0x863a0a8f4e19da762f117929, limb1: 0xdcf7e18447603c210882cb78, - limb2: 0xdf9e8f70db03ce1 + limb2: 0xdf9e8f70db03ce1, }, w8: u288 { limb0: 0xedf02766e9b8595f63abd18c, limb1: 0x784e4d5d60f519796f01cde8, - limb2: 0x8671ab547845137 + limb2: 0x8671ab547845137, }, w9: u288 { limb0: 0x5b506c6c1ece6c888adc5d1a, limb1: 0x4ac5204b72b2c1a7db79a319, - limb2: 0x1f01964bf79ce370 + limb2: 0x1f01964bf79ce370, }, w10: u288 { limb0: 0x50e0979033627a4231737ef9, limb1: 0x9547f6bbfc8dee1f09baa0d9, - limb2: 0xc73a07daa4654d3 + limb2: 0xc73a07daa4654d3, }, w11: u288 { limb0: 0x152d341606f78da11aad9ad2, limb1: 0xdda73da51b1d63f6e0ba9b3, - limb2: 0xf3378aada8698c6 - } + limb2: 0xf3378aada8698c6, + }, }, E12D { w0: u288 { limb0: 0xc8a1ffbcd36ed4cf96782047, limb1: 0xd674cc0260707439a67f952c, - limb2: 0x2bf4eb8f91fe5fe + limb2: 0x2bf4eb8f91fe5fe, }, w1: u288 { limb0: 0x87b77db32833cadca24eb37e, limb1: 0xf97e1ee9a29b1b3c4719de34, - limb2: 0x10126e19d78ecaaa + limb2: 0x10126e19d78ecaaa, }, w2: u288 { limb0: 0xf98f2fabd09b0a5b9eafd15a, limb1: 0x551baec50edb12da0d5439db, - limb2: 0x14143683bf9b20b6 + limb2: 0x14143683bf9b20b6, }, w3: u288 { limb0: 0x889655ca288b714f93f77428, limb1: 0x427cb28612597746a1372e94, - limb2: 0x179e4eb714c7ff5c + limb2: 0x179e4eb714c7ff5c, }, w4: u288 { limb0: 0xf013770528f37122163612df, limb1: 0x8508416610e03d5e483e931f, - limb2: 0x1a3cffaf3e762f1f + limb2: 0x1a3cffaf3e762f1f, }, w5: u288 { limb0: 0x68d9bce40de25a34c00673f8, limb1: 0x9c697c919600f1ac723e8196, - limb2: 0x19b88d8ac3b0e9a6 + limb2: 0x19b88d8ac3b0e9a6, }, w6: u288 { limb0: 0xb41eaaa12e51e41f4a63d546, limb1: 0x7c859bffe9718b4e4b70d5af, - limb2: 0x759e326dd6510bb + limb2: 0x759e326dd6510bb, }, w7: u288 { limb0: 0xd160d856a92451c9341c729d, limb1: 0xdb907261b307fcd1e3a6d643, - limb2: 0x21bbcee531c7850a + limb2: 0x21bbcee531c7850a, }, w8: u288 { limb0: 0x9b5f4ee4a91ab24f1fc4a252, limb1: 0x6ef085e2d7b9323fccd45f17, - limb2: 0x7ddd2baeb8903da + limb2: 0x7ddd2baeb8903da, }, w9: u288 { limb0: 0x356ca7b20da6a61328d2e6f8, limb1: 0xfe0a1835633574cddc743244, - limb2: 0x260d783f746548 + limb2: 0x260d783f746548, }, w10: u288 { limb0: 0x54119d293bba5a7b8c911e9a, limb1: 0x4c8bec82c87653b80179260, - limb2: 0xc719d4761fc3dc3 + limb2: 0xc719d4761fc3dc3, }, w11: u288 { limb0: 0x27f9c5cf95c7c1614561860a, limb1: 0x2b6222d4d1199c76ca386b22, - limb2: 0x16c8ee50f9adc5ac - } + limb2: 0x16c8ee50f9adc5ac, + }, }, E12D { w0: u288 { limb0: 0x6f3f7d0292c186ae873944f, limb1: 0x35c8a1bf39fa92a9f242fd69, - limb2: 0x14b95f826ac74736 + limb2: 0x14b95f826ac74736, }, w1: u288 { limb0: 0x1c8deec644cf2503777cd0e9, limb1: 0xe390b3744ef378a066993673, - limb2: 0x1ce103c73af34607 + limb2: 0x1ce103c73af34607, }, w2: u288 { limb0: 0xe51b2b5264cab98b0dce20e3, limb1: 0x12baa9b4a22f7f60f5a9e8a7, - limb2: 0x199e6082a24e29fc + limb2: 0x199e6082a24e29fc, }, w3: u288 { limb0: 0x8ccec4fd0f4c40b24c174906, limb1: 0xd0eb4c466b50542bdd1f7ccd, - limb2: 0x130c4888c5671589 + limb2: 0x130c4888c5671589, }, w4: u288 { limb0: 0x841b256a04eb7ee8c763a86, limb1: 0x44dcb7ccff639f5cf00547f6, - limb2: 0x43826f4900a3942 + limb2: 0x43826f4900a3942, }, w5: u288 { limb0: 0x9dd7608e2f8eaab2cf59cf27, limb1: 0x6c531affa90ee4c3e6b1315b, - limb2: 0x14c5bbbc9b662751 + limb2: 0x14c5bbbc9b662751, }, w6: u288 { limb0: 0x40ead5c383741f5e94a372dd, limb1: 0x63456b35874faf8614778b7e, - limb2: 0x160428014e84270e + limb2: 0x160428014e84270e, }, w7: u288 { limb0: 0x77ca9da77c9c26fa4eddeffb, limb1: 0xd64c0c2e0baa8971ce138592, - limb2: 0x2532dd267a25b4f + limb2: 0x2532dd267a25b4f, }, w8: u288 { limb0: 0x8f0b492fe9cbb6713b3ae0b9, limb1: 0x6cd8f706cbc20ff6c2978d34, - limb2: 0x25b8b619c12b4d53 + limb2: 0x25b8b619c12b4d53, }, w9: u288 { limb0: 0xb9f16df613dc83610524ae59, limb1: 0x999af8cf94fe6e9155b24ee, - limb2: 0x2d763001f6ee910a + limb2: 0x2d763001f6ee910a, }, w10: u288 { limb0: 0x72e6293fa1874d4456f6a7ab, limb1: 0xbba9e551a891ac14dc529d7, - limb2: 0x2fe56f474f803a1a + limb2: 0x2fe56f474f803a1a, }, w11: u288 { limb0: 0xddef305ed66e797eb44cc927, limb1: 0x46cf45a1ffa3be343166c96a, - limb2: 0x2c91340e7201c8e7 - } + limb2: 0x2c91340e7201c8e7, + }, }, E12D { w0: u288 { limb0: 0xacd367bfb3a86503c4696228, limb1: 0xe5bebb9f891e0fcf9bb400df, - limb2: 0x1f053bcf8dd0c40e + limb2: 0x1f053bcf8dd0c40e, }, w1: u288 { limb0: 0xaa5f25aba69edf7eb3fbac7f, limb1: 0xa57c44bfb7a813d9565c6f4e, - limb2: 0x1cbd2cad199b90af + limb2: 0x1cbd2cad199b90af, }, w2: u288 { limb0: 0x1e3561ce4486f49c51c4841, limb1: 0x5d707d777cc267134dcb4a3e, - limb2: 0x2d4f1b6b1704fcf8 + limb2: 0x2d4f1b6b1704fcf8, }, w3: u288 { limb0: 0x8133df3d973205e2a6667b05, limb1: 0xd71333cad7c23d6436f895b1, - limb2: 0xb96c7c4d9019afe + limb2: 0xb96c7c4d9019afe, }, w4: u288 { limb0: 0x4c82c43fae3e6a4e9ac79773, limb1: 0xd632da8c8fade4bdd6d055b5, - limb2: 0x1493c61b79713a9c + limb2: 0x1493c61b79713a9c, }, w5: u288 { limb0: 0x14f7514b5a6375a0ba02dfdd, limb1: 0xdb0492be6d819a64e5c8e869, - limb2: 0x29ce11799d8ce7f6 + limb2: 0x29ce11799d8ce7f6, }, w6: u288 { limb0: 0x88e5da8addd545f6e1828516, limb1: 0x59ab28d6dd8eb6ea501d3cb9, - limb2: 0xe761374e20c2910 + limb2: 0xe761374e20c2910, }, w7: u288 { limb0: 0x494bfaefdde4921257b3c8ff, limb1: 0xc560828dcd36efd417e936e7, - limb2: 0x19065a582b0bfe84 + limb2: 0x19065a582b0bfe84, }, w8: u288 { limb0: 0x54aed757dacfad3714775cd3, limb1: 0xc84bdb236c7d909b5a8a3cfc, - limb2: 0x1568bd40a8a5b14d + limb2: 0x1568bd40a8a5b14d, }, w9: u288 { limb0: 0x5b800e067bb87a8edd6ba6f4, limb1: 0x72fafdbd2943d900f8330a8a, - limb2: 0x203214386552455e + limb2: 0x203214386552455e, }, w10: u288 { limb0: 0x79c850293dd1ed17289f8d7a, limb1: 0x23514882c698d62934f0b85c, - limb2: 0x2c8da86af166ec2 + limb2: 0x2c8da86af166ec2, }, w11: u288 { limb0: 0x3149423b81d0601bf6983f66, limb1: 0xfdab0d5a898edf32625fdbe6, - limb2: 0x81a2800e45aa663 - } + limb2: 0x81a2800e45aa663, + }, }, E12D { w0: u288 { limb0: 0x8b51da2d8c55494918df21dd, limb1: 0xe08f0cc653fff5f77d129809, - limb2: 0xac43cdef76e8e2b + limb2: 0xac43cdef76e8e2b, }, w1: u288 { limb0: 0xe88d81f8cdf9db6cc3d7a8e3, limb1: 0xbbb798eb9215c4e9215009f5, - limb2: 0x2b6e67c7cd78b23c + limb2: 0x2b6e67c7cd78b23c, }, w2: u288 { limb0: 0x95fbbffc4a22fefe6ed6f466, limb1: 0x44b328ca91837bc5f2813bea, - limb2: 0x15a0aa861322fe8e + limb2: 0x15a0aa861322fe8e, }, w3: u288 { limb0: 0x230d31e951092a571dd5146, limb1: 0x1a87d85d215cd450d2691c01, - limb2: 0x273b3d4ad1da0c4f + limb2: 0x273b3d4ad1da0c4f, }, w4: u288 { limb0: 0xe13981b2395738db11f814d4, limb1: 0x96f3b24aa8b0e2286829b356, - limb2: 0x17ca1b6c416d0b08 + limb2: 0x17ca1b6c416d0b08, }, w5: u288 { limb0: 0x8a2711890225f3347def3ac, limb1: 0xaff7929a071b6d219ecc0d90, - limb2: 0x13ab0ad11f39ed5c + limb2: 0x13ab0ad11f39ed5c, }, w6: u288 { limb0: 0x131141a0e2587df1ed43c57a, limb1: 0xee8de29045aa8df56e7bf4d3, - limb2: 0x53d8a8045aced2a + limb2: 0x53d8a8045aced2a, }, w7: u288 { limb0: 0x751db179fd8b0dd97ab90b62, limb1: 0xb24fa4509ea9a05ea3a0820e, - limb2: 0x1b94eafd5f42b129 + limb2: 0x1b94eafd5f42b129, }, w8: u288 { limb0: 0x54d9a3cce32c8d336a38434, limb1: 0x8ef332aae2744817c97aa9fc, - limb2: 0x5acd19414989ac9 + limb2: 0x5acd19414989ac9, }, w9: u288 { limb0: 0xdcd805c3441bf8da9f078037, limb1: 0x9d7cef94b46af01f54df6022, - limb2: 0x13e81873c53f7de + limb2: 0x13e81873c53f7de, }, w10: u288 { limb0: 0xd188a8da6b09f460a30ea7d4, limb1: 0x5e7d133426f98ced17f967ed, - limb2: 0x2f9622f5e2961afd + limb2: 0x2f9622f5e2961afd, }, w11: u288 { limb0: 0x835b65476aa69e0fee8add66, limb1: 0xf7eb0db4196481743f7c8536, - limb2: 0x2420247c2eae05 - } + limb2: 0x2420247c2eae05, + }, }, E12D { w0: u288 { limb0: 0x1b9b3275438def2b14d3d6ec, limb1: 0x215e7ca4b8e610b90aea1fe2, - limb2: 0xc57e1f84bab1fde + limb2: 0xc57e1f84bab1fde, }, w1: u288 { limb0: 0xa3aa8bb56e04c330c70af082, limb1: 0x762683dea3a91a1813ebbe47, - limb2: 0x1db06cf6c01944ef + limb2: 0x1db06cf6c01944ef, }, w2: u288 { limb0: 0x6d3534ad1666ff07aef8ee5e, limb1: 0x95034543d303718bdddd0876, - limb2: 0x4ffb855d2c5477a + limb2: 0x4ffb855d2c5477a, }, w3: u288 { limb0: 0x9de5ea1d4cd7b93d85eef3a3, limb1: 0x7a3b2e8a90f40fbe7afa11b, - limb2: 0x286259c2593cd27f + limb2: 0x286259c2593cd27f, }, w4: u288 { limb0: 0xdb82f137af29e3458455efc4, limb1: 0x8b665e9e0eb3b9c8f027e3c9, - limb2: 0x20fefbc49fb31a8e + limb2: 0x20fefbc49fb31a8e, }, w5: u288 { limb0: 0x6efd0bb670c6350880f786b3, limb1: 0x205615a0185a1b00916d37b7, - limb2: 0x6375097bd6ed176 + limb2: 0x6375097bd6ed176, }, w6: u288 { limb0: 0x5e049cdbb227617f099b81d, limb1: 0x7c89c3a84805e47debd2d9b0, - limb2: 0x90ad0e891a3872a + limb2: 0x90ad0e891a3872a, }, w7: u288 { limb0: 0x8deade236dc1f483f78b820, limb1: 0xa22016ef71d65892b510b65a, - limb2: 0x15b035673845e2ba + limb2: 0x15b035673845e2ba, }, w8: u288 { limb0: 0x28cce0800fcaeca24e4a1f11, limb1: 0xc873a609eb7443c53cc2146e, - limb2: 0xed7bc75055a0bee + limb2: 0xed7bc75055a0bee, }, w9: u288 { limb0: 0xfdb3d8249042253ea50045c3, limb1: 0x1873c79692308a13011bf359, - limb2: 0x1a1644f1a3d5b115 + limb2: 0x1a1644f1a3d5b115, }, w10: u288 { limb0: 0x5c988b98ae035a4304a5f88d, limb1: 0x8a2936146d5703d9604e064c, - limb2: 0x29b6437df8007dea + limb2: 0x29b6437df8007dea, }, w11: u288 { limb0: 0x86051e2a2aaadd941e2a9241, limb1: 0xbf728a94603ee43956adbfb9, - limb2: 0x2d4db3ebddcfd258 - } + limb2: 0x2d4db3ebddcfd258, + }, }, E12D { w0: u288 { limb0: 0x92acc012d562dfdfb6481b25, limb1: 0x3e64355b8e9e3082f99d33c5, - limb2: 0x290b6aea5955f671 + limb2: 0x290b6aea5955f671, }, w1: u288 { limb0: 0xea2dac1a1640a6ac9b9ad377, limb1: 0xe1775d01c8f21468867a89ff, - limb2: 0x1cf6cdd23f7ccb8b + limb2: 0x1cf6cdd23f7ccb8b, }, w2: u288 { limb0: 0xd51e98bf9719380b097ea1fb, limb1: 0xd74149401b7667643b22e27f, - limb2: 0x129b599f9eed72c9 + limb2: 0x129b599f9eed72c9, }, w3: u288 { limb0: 0x66f868e872b587c8e5a18431, limb1: 0x5ce11b08a6e0fe0e0f9b96f1, - limb2: 0xcecf76d78ff36b2 + limb2: 0xcecf76d78ff36b2, }, w4: u288 { limb0: 0x5ccd6edc479aeaf571c0890d, limb1: 0x91881d482210406422d39529, - limb2: 0x2b1eefab1035d22a + limb2: 0x2b1eefab1035d22a, }, w5: u288 { limb0: 0x10b346eae6854f264c866223, limb1: 0xece7a4751aad88e0d43ff850, - limb2: 0x26ac9d94ac41a06c + limb2: 0x26ac9d94ac41a06c, }, w6: u288 { limb0: 0xdca528ca6016058cf3e5fae2, limb1: 0x78690b84e775a92f8bc8a4ed, - limb2: 0x212be7d16a5f6c89 + limb2: 0x212be7d16a5f6c89, }, w7: u288 { limb0: 0xf3e83e445c62eeeb7ec84ce0, limb1: 0xdd116e6e8364db0a64b50304, - limb2: 0x279d1022cd3e3e1f + limb2: 0x279d1022cd3e3e1f, }, w8: u288 { limb0: 0x65f73450ca7a1766028a9d92, limb1: 0xf27270b3123129865bf05ad5, - limb2: 0x26bc3d97ad8925f4 + limb2: 0x26bc3d97ad8925f4, }, w9: u288 { limb0: 0x944c276de7f91d41bcc4127e, limb1: 0xa89166f745e7e0640866c8db, - limb2: 0xe7f920bd863ceb4 + limb2: 0xe7f920bd863ceb4, }, w10: u288 { limb0: 0xa31d4c6a3bdcbe04860624d4, limb1: 0x7c504b80689c987f9708269e, - limb2: 0x27550021cf25c30d + limb2: 0x27550021cf25c30d, }, w11: u288 { limb0: 0x91cb5c5218981603a881667f, limb1: 0xa0905ee77f1c0e9a5f9de4, - limb2: 0xcc2ecbee6addff5 - } + limb2: 0xcc2ecbee6addff5, + }, }, E12D { w0: u288 { limb0: 0x27ea098c66c31201eefb8430, limb1: 0x289402da5fe4bd14d8ef6edf, - limb2: 0x1259961e054d6cd7 + limb2: 0x1259961e054d6cd7, }, w1: u288 { limb0: 0xdf5835eb2fd6b73c5dba911a, limb1: 0xca03ca62684adaa9524cea2, - limb2: 0x2eb6accd5526bb8c + limb2: 0x2eb6accd5526bb8c, }, w2: u288 { limb0: 0x30900fcfe01bded79b3d2477, limb1: 0xb279579672976833505fa71d, - limb2: 0x162ac340cc3a9243 + limb2: 0x162ac340cc3a9243, }, w3: u288 { limb0: 0xea6f09f94f1137fe93d6e281, limb1: 0xabf9e0b69162edef149ff1f3, - limb2: 0xff91140a0ef8671 + limb2: 0xff91140a0ef8671, }, w4: u288 { limb0: 0x202e27f741f1e2b81753060e, limb1: 0x26a9a0ce89b8f06fa7d6326, - limb2: 0x1c707bf011a33ace + limb2: 0x1c707bf011a33ace, }, w5: u288 { limb0: 0x95578a2c8e1895ac184cabfb, limb1: 0xbb75389aaa763c673982ea8, - limb2: 0x607a8649a7b2555 + limb2: 0x607a8649a7b2555, }, w6: u288 { limb0: 0x71d90544c20a5aed5f41931, limb1: 0x16847c43a0cdfc05ebe58815, - limb2: 0x4721c3f212088b0 + limb2: 0x4721c3f212088b0, }, w7: u288 { limb0: 0xc360aaad2a45074edfb74e14, limb1: 0x77f564b43fa632bde8eec9d, - limb2: 0x250afa706df6d5e2 + limb2: 0x250afa706df6d5e2, }, w8: u288 { limb0: 0x8bde53cc45322245c61c9a8b, limb1: 0xbb082994c8f59570001a3550, - limb2: 0x27b5ec7a33a77874 + limb2: 0x27b5ec7a33a77874, }, w9: u288 { limb0: 0xd33f34a1a253f871c0f128e9, limb1: 0x88e401602a88af3bb22d4b4f, - limb2: 0x8194f6251e043d8 + limb2: 0x8194f6251e043d8, }, w10: u288 { limb0: 0x37787931890dad2749f4172f, limb1: 0xb781b6da2911d39376770d8a, - limb2: 0xf86cba82a2a63ca + limb2: 0xf86cba82a2a63ca, }, w11: u288 { limb0: 0xb283d3c5e1df307fbded08de, limb1: 0x845c1e02379ee7fb83ade74d, - limb2: 0x113edfefc35c7b27 - } + limb2: 0x113edfefc35c7b27, + }, }, E12D { w0: u288 { limb0: 0x800d14c753c40eb876da5bb8, limb1: 0xdd394093deedc4a58300a401, - limb2: 0x20bbc62916a1c1c5 + limb2: 0x20bbc62916a1c1c5, }, w1: u288 { limb0: 0x1ff3c025cb5fe163ac6341a1, limb1: 0x3492edb1001d97c57690e3ea, - limb2: 0x2af5edbf90641874 + limb2: 0x2af5edbf90641874, }, w2: u288 { limb0: 0xa01ab0362ad9941df67212b5, limb1: 0x1273a4cfacad5b920f984247, - limb2: 0x2c8dfd25ae12d28b + limb2: 0x2c8dfd25ae12d28b, }, w3: u288 { limb0: 0xc72f15c7299855613325128d, limb1: 0xa7e25f6a3deaf4f7be35e120, - limb2: 0x2607d100cbda5ad + limb2: 0x2607d100cbda5ad, }, w4: u288 { limb0: 0x2e236358d7c29fcbc45476ce, limb1: 0x696b09274ac45b177403228f, - limb2: 0x22e618af62719cf3 + limb2: 0x22e618af62719cf3, }, w5: u288 { limb0: 0x81b4d1b3b2d2686cc3a33fac, limb1: 0xf5c5ffadb6ae0769530803d7, - limb2: 0xe18f6caa2f9150 + limb2: 0xe18f6caa2f9150, }, w6: u288 { limb0: 0x820aefb2f234355503fd73f6, limb1: 0xee49d901c9c66c15af10aafc, - limb2: 0x2cf38629461bbcbd + limb2: 0x2cf38629461bbcbd, }, w7: u288 { limb0: 0x702e95e8e205ab0d73f4d645, limb1: 0x6cc8a9e2e5bd482c2d970d01, - limb2: 0x26c6783eedf68370 + limb2: 0x26c6783eedf68370, }, w8: u288 { limb0: 0xb083a4ca598ff879ef7aa527, limb1: 0x5310d5c6e27bf7bfa6681a70, - limb2: 0x29480250c596232a + limb2: 0x29480250c596232a, }, w9: u288 { limb0: 0x6cfaa3e7f9ac2fd8645db473, limb1: 0xb2739d025d0bf248c2d4e1a2, - limb2: 0x912e2dc7402cd4f + limb2: 0x912e2dc7402cd4f, }, w10: u288 { limb0: 0x2bd49d41f5a3e28554df2631, limb1: 0x8065584c5473ee5f56b0993e, - limb2: 0xfb04b567cc1113a + limb2: 0xfb04b567cc1113a, }, w11: u288 { limb0: 0xf5cd0cfcb2e6ff69bf4754a5, limb1: 0xdb8d57f575f0a9e1419111fe, - limb2: 0x1d1cea3ff669ce4e - } + limb2: 0x1d1cea3ff669ce4e, + }, }, E12D { w0: u288 { limb0: 0x61d29bcc1a3f6167a79d8c38, limb1: 0x532714800454848152e1c0e0, - limb2: 0x132484d6b22372ae + limb2: 0x132484d6b22372ae, }, w1: u288 { limb0: 0x108ce4183553945caff854, limb1: 0xbd70dd52d149435432ea127f, - limb2: 0x189cdc05d04909b0 + limb2: 0x189cdc05d04909b0, }, w2: u288 { limb0: 0x5ad21b0a5646ad085f528109, limb1: 0x1a9fc07a354670945f565e9e, - limb2: 0x1e93c1c3e4b89488 + limb2: 0x1e93c1c3e4b89488, }, w3: u288 { limb0: 0xa2b07e2a8ba8644821d8d454, limb1: 0xb04d7421f3ac6397e80a92a1, - limb2: 0xe2e5a47221b2430 + limb2: 0xe2e5a47221b2430, }, w4: u288 { limb0: 0x60e96edf654796d2d1e7ad12, limb1: 0xc053caa606b820b7bc203105, - limb2: 0x23de5802449e2d0d + limb2: 0x23de5802449e2d0d, }, w5: u288 { limb0: 0x33531996505d714b68e97cdc, limb1: 0xb2f7f6dacae5650c70369c5, - limb2: 0x2b9c8a1bd70d65c8 + limb2: 0x2b9c8a1bd70d65c8, }, w6: u288 { limb0: 0x29c656ded9d8ede8b14e133a, limb1: 0x3251a0119e1def6470a73ee1, - limb2: 0x108ccfd72642f085 + limb2: 0x108ccfd72642f085, }, w7: u288 { limb0: 0x59d63f9e2a5252d394fb3b13, limb1: 0x6af3a4182c974a4a4cb8cb43, - limb2: 0x1a0d6334a517c128 + limb2: 0x1a0d6334a517c128, }, w8: u288 { limb0: 0x1f9c66a90a3636f14efcc3bb, limb1: 0xbcf2e4dd6a6a18e0f4032755, - limb2: 0xf77ce25573b3637 + limb2: 0xf77ce25573b3637, }, w9: u288 { limb0: 0x8629d396f0cbb19e5e5ae3ef, limb1: 0x8999b95d2cef1a967c52155e, - limb2: 0x1a651bad046779e8 + limb2: 0x1a651bad046779e8, }, w10: u288 { limb0: 0x4136e2e567c71c7327bb5498, limb1: 0xfc077703802a973be3e1b595, - limb2: 0x164eecf7e317e50f + limb2: 0x164eecf7e317e50f, }, w11: u288 { limb0: 0xa675d361f8324c4030afe60, limb1: 0xa5a92a85a22d4b737612f493, - limb2: 0x1904c09382a0596a - } + limb2: 0x1904c09382a0596a, + }, }, E12D { w0: u288 { limb0: 0x7430544030d0c5607d8574fa, limb1: 0x948e3aa4cdc35494aa3d0c22, - limb2: 0x149ca9118143d93b + limb2: 0x149ca9118143d93b, }, w1: u288 { limb0: 0xe2ca69dc59b49107e665c357, limb1: 0xdff3f92ef170aba8ecbfed91, - limb2: 0xc0020a7d7b54ee9 + limb2: 0xc0020a7d7b54ee9, }, w2: u288 { limb0: 0x70927630b958392565150156, limb1: 0x50bccd63e76535da30f22410, - limb2: 0x85f6272d3683e99 + limb2: 0x85f6272d3683e99, }, w3: u288 { limb0: 0x18b10fe562294e1493d32869, limb1: 0x7e3a83f64e5b06dad1f392f0, - limb2: 0x7e60317cbbc746e + limb2: 0x7e60317cbbc746e, }, w4: u288 { limb0: 0x77d3f868cb018f42a51a098f, limb1: 0x3b28392831d5cdaf18471e03, - limb2: 0x11b5be48a78a0132 + limb2: 0x11b5be48a78a0132, }, w5: u288 { limb0: 0x8d1ce97123cff01dbf56879c, limb1: 0x2f02af85223c497ff5b2e11a, - limb2: 0x1d3f1a99dfbd1384 + limb2: 0x1d3f1a99dfbd1384, }, w6: u288 { limb0: 0x3fd75ee1c489f88b2fc32243, limb1: 0x737aae095a654f624b6f63f9, - limb2: 0x2f4b2b139fdc4fa9 + limb2: 0x2f4b2b139fdc4fa9, }, w7: u288 { limb0: 0xa450865b8dc8ad706d913ad1, limb1: 0x6568246a5878ce9e6911b5d5, - limb2: 0xd1505e942ab53fc + limb2: 0xd1505e942ab53fc, }, w8: u288 { limb0: 0x803cfc36831117d202a58c58, limb1: 0xc6daa54242c30c5d44005261, - limb2: 0x27e112ce5019213 + limb2: 0x27e112ce5019213, }, w9: u288 { limb0: 0x1381248822859f125ce62cd4, limb1: 0xfc617ab7f0e7bc85a514d322, - limb2: 0x2a4e7ebc04f2a885 + limb2: 0x2a4e7ebc04f2a885, }, w10: u288 { limb0: 0x70e8bced7cd129b4096b8665, limb1: 0x8f4670dd657fde1c37ca0a3d, - limb2: 0x9b49f8885959fcd + limb2: 0x9b49f8885959fcd, }, w11: u288 { limb0: 0x20534cc97052c24c0833ee05, limb1: 0xe9fe07db116fc63f2e2a4c5c, - limb2: 0x1e017a6b3eebf717 - } + limb2: 0x1e017a6b3eebf717, + }, }, E12D { w0: u288 { limb0: 0x6e6bdf80500cb854f5dd0bff, limb1: 0xbf9a626b9cbccc283c57700b, - limb2: 0x20f5c7f5f71cb22d + limb2: 0x20f5c7f5f71cb22d, }, w1: u288 { limb0: 0xdb32a31be60950339fb1122a, limb1: 0xf752607f2d770dbc152220c2, - limb2: 0x119f27829f3f396b + limb2: 0x119f27829f3f396b, }, w2: u288 { limb0: 0x9d48d334e95302c9d457e824, limb1: 0x71e66184e0c417cc823bcb6d, - limb2: 0x230fd13d768e195b + limb2: 0x230fd13d768e195b, }, w3: u288 { limb0: 0x2cce2b592737976adcdeb399, limb1: 0x6f7e7895cc9ac490802fc64c, - limb2: 0x2e34a9c5e37e2c13 + limb2: 0x2e34a9c5e37e2c13, }, w4: u288 { limb0: 0x1b78faac53b2579e5036465a, limb1: 0x3dd4cb80488ff8f5cac70df4, - limb2: 0x29834f6805b456e1 + limb2: 0x29834f6805b456e1, }, w5: u288 { limb0: 0xbeb6734949c1988a2bab2b43, limb1: 0x2551b72dc3bd9631884c52eb, - limb2: 0x2a7502d7a3ab80e4 + limb2: 0x2a7502d7a3ab80e4, }, w6: u288 { limb0: 0xc862806b3e7a8b9b9c55054, limb1: 0x874d4d7db6cd2dc1c25218dc, - limb2: 0x102e882c30c3623e + limb2: 0x102e882c30c3623e, }, w7: u288 { limb0: 0xf303abb1515fa0b31a804e39, limb1: 0x240918f6ba89758a1c7d1cfa, - limb2: 0x7f3dfb58aa1125b + limb2: 0x7f3dfb58aa1125b, }, w8: u288 { limb0: 0x3f1cfdf33cad91734b211407, limb1: 0x17c4a8522daa84de4bad7323, - limb2: 0x19c76e0eb6c3b0c3 + limb2: 0x19c76e0eb6c3b0c3, }, w9: u288 { limb0: 0x3a57bba7ae1b75fc6df7c6c0, limb1: 0xac20c3a4dd640432204a0563, - limb2: 0x23288051e80e08eb + limb2: 0x23288051e80e08eb, }, w10: u288 { limb0: 0x5e00c38b0e2a7ce9098d68b0, limb1: 0x66eae940dafebe8c421747aa, - limb2: 0x9136eb12adac86f + limb2: 0x9136eb12adac86f, }, w11: u288 { limb0: 0xf157c33f547ac7f32e5da8f0, limb1: 0xf76a7a02c64558b3145a2909, - limb2: 0x260334b73e26b56 - } + limb2: 0x260334b73e26b56, + }, }, E12D { w0: u288 { limb0: 0xd4841712eb8b92acbedd7923, limb1: 0xdcc6cee17886abdb1007239, - limb2: 0x150b39f44b2070e0 + limb2: 0x150b39f44b2070e0, }, w1: u288 { limb0: 0x5693a871b5fcffa2aa8b4aaf, limb1: 0xf260475042f99b758ffee0f5, - limb2: 0x10a5018f8eb12723 + limb2: 0x10a5018f8eb12723, }, w2: u288 { limb0: 0x43308af7aa07017ad6f06355, limb1: 0xc9bed74aa5c3e515055e74bb, - limb2: 0x281c1906fc2d8afe + limb2: 0x281c1906fc2d8afe, }, w3: u288 { limb0: 0xaa4bf5eb2f5748f9b858b3ac, limb1: 0x903bb70501a35aac3f678acf, - limb2: 0x1eb2165addc33abe + limb2: 0x1eb2165addc33abe, }, w4: u288 { limb0: 0xfc14dce79b687ac1377a374f, limb1: 0x18252db25bc6c91e70b57c56, - limb2: 0x250aa6edf0514ce + limb2: 0x250aa6edf0514ce, }, w5: u288 { limb0: 0x229282724410b8e16b0f2fa7, limb1: 0x43c0ab0e53479a84a0f564b1, - limb2: 0x277ac6336a1a9b7d + limb2: 0x277ac6336a1a9b7d, }, w6: u288 { limb0: 0xdeed55ef2faf345e53af52ec, limb1: 0x3bce9ebf3a661964cfe37503, - limb2: 0x97f9056a20ad491 + limb2: 0x97f9056a20ad491, }, w7: u288 { limb0: 0x5f69ceece471cc3ebd6aa0f8, limb1: 0x32189eba17079bfd1de6d1a9, - limb2: 0x12a79a708bf4a5f3 + limb2: 0x12a79a708bf4a5f3, }, w8: u288 { limb0: 0xccbdec684569a23bb8881bd3, limb1: 0xd74a36913d0eb6e13ae1583b, - limb2: 0xced65adac6fe081 + limb2: 0xced65adac6fe081, }, w9: u288 { limb0: 0x37e051b03ff0ee8df34ca1d1, limb1: 0xc09812bdf872a01279ba5ec7, - limb2: 0xc1c7be819a2edf5 + limb2: 0xc1c7be819a2edf5, }, w10: u288 { limb0: 0xdfb1cb3fd176963ae1e316f5, limb1: 0xdfef2969e0f31e316ae3b98, - limb2: 0x16ce939a24e83d96 + limb2: 0x16ce939a24e83d96, }, w11: u288 { limb0: 0x4def6d08fe4f8a3b36f8e4e4, limb1: 0x25c0237a5c43846680868d, - limb2: 0x28301a94744a9062 - } + limb2: 0x28301a94744a9062, + }, }, E12D { w0: u288 { limb0: 0x51d791055394af3437707fca, limb1: 0x23d9d4f513172857b91ac570, - limb2: 0x12d712a33c1350ef + limb2: 0x12d712a33c1350ef, }, w1: u288 { limb0: 0x6ebaf7ae16d5257aa23557c3, limb1: 0x7e85a68783668f379c36a3df, - limb2: 0x1b780a9a09031ddc + limb2: 0x1b780a9a09031ddc, }, w2: u288 { limb0: 0xfec2358627a9becd5a63e12e, limb1: 0xe9bef5e0c521222e0b7da3b1, - limb2: 0x1296f365f4cf82fb + limb2: 0x1296f365f4cf82fb, }, w3: u288 { limb0: 0x6cc4cf9d0dad41495180590b, limb1: 0x9f70ac798e90cf1ea4b1c1c8, - limb2: 0x87c41a6c59dfc2d + limb2: 0x87c41a6c59dfc2d, }, w4: u288 { limb0: 0xe8febbc4d69a96df764a0a62, limb1: 0x1fb35aecac9dae22ec85780a, - limb2: 0xdf36c808d1b34d + limb2: 0xdf36c808d1b34d, }, w5: u288 { limb0: 0x2e55c0606268af7f04a33d7c, limb1: 0xa3ea362cb853b36d21362864, - limb2: 0x2440dcee8b02c1d8 + limb2: 0x2440dcee8b02c1d8, }, w6: u288 { limb0: 0xef7561c98b669e09fef5573b, limb1: 0x9faf5b92dae5c40288b29667, - limb2: 0x211a161b16c7393a + limb2: 0x211a161b16c7393a, }, w7: u288 { limb0: 0x24d4a044898ad07d62fa1828, limb1: 0xf0baabec5df39b859a9a23b6, - limb2: 0x26521f9732987047 + limb2: 0x26521f9732987047, }, w8: u288 { limb0: 0x7229c3d55422cc60a2776f2c, limb1: 0x22befd3a50a7a7e04032a122, - limb2: 0x105baaf5e920b8c2 + limb2: 0x105baaf5e920b8c2, }, w9: u288 { limb0: 0x4390439b3b081876e13423a3, limb1: 0xb568d6eb2f6f72b6c3159bcc, - limb2: 0x169d5ab5a0f60736 + limb2: 0x169d5ab5a0f60736, }, w10: u288 { limb0: 0x2f0b3c9576e4fd67031ca87d, limb1: 0x22e0bc83c4170a8aa384e3dd, - limb2: 0x2872abcaeb098125 + limb2: 0x2872abcaeb098125, }, w11: u288 { limb0: 0xe52e2fb0028f73e921534e74, limb1: 0xf6cfd97c1d181d7750441ac9, - limb2: 0x1c56ef8977682024 - } + limb2: 0x1c56ef8977682024, + }, }, E12D { w0: u288 { limb0: 0xae28d327617f61548f759aba, limb1: 0x1401aa78c9ec2231ff346415, - limb2: 0x113fb038206ddf58 + limb2: 0x113fb038206ddf58, }, w1: u288 { limb0: 0x42996e09532c7a0cefd8a71e, limb1: 0x69c61eb722a1e7209c4cd611, - limb2: 0x13a6cbdff96772d + limb2: 0x13a6cbdff96772d, }, w2: u288 { limb0: 0xbf63f1fcc51ddcc897f42363, limb1: 0x707fca9fe10a26f918b0ca37, - limb2: 0x669edeff7d809fe + limb2: 0x669edeff7d809fe, }, w3: u288 { limb0: 0x8bb34e49a388ddc9b04b2180, limb1: 0x38dcd13822ba4ee2a5cdd793, - limb2: 0x1d5dac515eaa51b8 + limb2: 0x1d5dac515eaa51b8, }, w4: u288 { limb0: 0xa0125e6adb1681a41dbbf2d6, limb1: 0x3e2cccd5ac961e1a78aab8ce, - limb2: 0x13d6bd7db8c4b48e + limb2: 0x13d6bd7db8c4b48e, }, w5: u288 { limb0: 0x737b7f10bf6822280731a819, limb1: 0x69bd4676e8f1e6a89c10d4e7, - limb2: 0x19ba69c1ce404728 + limb2: 0x19ba69c1ce404728, }, w6: u288 { limb0: 0x4309f0c42a45a1cd80562659, limb1: 0xdda759df4dc118a6bb9c4ff4, - limb2: 0x1fef98dddc22b559 + limb2: 0x1fef98dddc22b559, }, w7: u288 { limb0: 0x16e4b900d586497d3c45f6df, limb1: 0x49f7f05337ad0de92e3b353d, - limb2: 0x2a317f6bb6771fc4 + limb2: 0x2a317f6bb6771fc4, }, w8: u288 { limb0: 0xdb1d34070b21596c13268b11, limb1: 0xaa74ad91700236cbbbdc34ff, - limb2: 0x1f3d2738883aba1b + limb2: 0x1f3d2738883aba1b, }, w9: u288 { limb0: 0x5dd4d2f3b2fa8a97fa8ea9f9, limb1: 0x2c5dc834a8f95e902710f4df, - limb2: 0x138f968bf21498ba + limb2: 0x138f968bf21498ba, }, w10: u288 { limb0: 0xabdbabb3b67443c8a7106c79, limb1: 0xb0ae2b75703e953d30907447, - limb2: 0x190bab990471c462 + limb2: 0x190bab990471c462, }, w11: u288 { limb0: 0xcf34ae390b76e945d679a1ba, limb1: 0x4f4ea018b12e85eefbae6240, - limb2: 0x11b6508aaf7e8efa - } + limb2: 0x11b6508aaf7e8efa, + }, }, E12D { w0: u288 { limb0: 0x1d3d00823688d41dfa0aa2b3, limb1: 0x9b15db2c2993d757e61bb1c0, - limb2: 0x2ae11207cfbeafa3 + limb2: 0x2ae11207cfbeafa3, }, w1: u288 { limb0: 0x98d01e898aa5900d5e36c127, limb1: 0x5758a38ee763892c547b2b91, - limb2: 0x10637e0aedce350d + limb2: 0x10637e0aedce350d, }, w2: u288 { limb0: 0x7e29a433af8412d07647248, limb1: 0xa64f271a5fcb6111d0d23fe5, - limb2: 0x19b1b1819c206eb3 + limb2: 0x19b1b1819c206eb3, }, w3: u288 { limb0: 0x76c3391612430b219f11873, limb1: 0x10b12d6e15c51b81da686386, - limb2: 0x2e39ee00a0dd8a97 + limb2: 0x2e39ee00a0dd8a97, }, w4: u288 { limb0: 0x1a95ae61cf5a0ed10ad477b2, limb1: 0x288278e4057eea5d43aa3a66, - limb2: 0xb2bb0125965187e + limb2: 0xb2bb0125965187e, }, w5: u288 { limb0: 0xdcec59caea988d5ed8354e57, limb1: 0xd9de2dbed0736af7fb5adde9, - limb2: 0x139627bfb4249292 + limb2: 0x139627bfb4249292, }, w6: u288 { limb0: 0xb1a085a9c20d52aff5c6f0be, limb1: 0x9a17337ed73c52ccead8864e, - limb2: 0xdcfc8e7b31d6b15 + limb2: 0xdcfc8e7b31d6b15, }, w7: u288 { limb0: 0x1ded66fd8aec0a04c911f1a3, limb1: 0x2814204faef35f41e3f1cc8b, - limb2: 0x1999b17d88973015 + limb2: 0x1999b17d88973015, }, w8: u288 { limb0: 0xa9969aafed2e81fe21fceccc, limb1: 0xde819f6c6186b981c324bd60, - limb2: 0x2ea9d87f146b9984 + limb2: 0x2ea9d87f146b9984, }, w9: u288 { limb0: 0xa576384a80333dedf9e88310, limb1: 0x364ad41f1043ed9c6286cf5d, - limb2: 0x185381ccca5628e0 + limb2: 0x185381ccca5628e0, }, w10: u288 { limb0: 0xec6a507f1e942bf671d63ab3, limb1: 0xf9ec826df2822a61bc36725, - limb2: 0x14ce04de4bbb61da + limb2: 0x14ce04de4bbb61da, }, w11: u288 { limb0: 0x168a2628e665ca7591760e15, limb1: 0x115842818d09028abf06552f, - limb2: 0x1c7b912d4cec67a3 - } + limb2: 0x1c7b912d4cec67a3, + }, }, E12D { w0: u288 { limb0: 0xf73192b2fe5dc1293422b385, limb1: 0x7c0b272084084d471108c781, - limb2: 0x3020dd2bb1971af4 + limb2: 0x3020dd2bb1971af4, }, w1: u288 { limb0: 0x30a64137b7e95ebfcdab4d96, limb1: 0x229f57d761eeb3876b51cd56, - limb2: 0x19a596949310e6ad + limb2: 0x19a596949310e6ad, }, w2: u288 { limb0: 0x6a8e194198a83adeb7bb2d57, limb1: 0xdd72e054a7572ae9694e527b, - limb2: 0x1e166b19fd03f8da + limb2: 0x1e166b19fd03f8da, }, w3: u288 { limb0: 0x89955ac52e292b8ef51fee5b, limb1: 0xb4a02290d35f652e34e4160c, - limb2: 0x25f5a19aec7507fc + limb2: 0x25f5a19aec7507fc, }, w4: u288 { limb0: 0xfd26f66a7e8b7c9b65ccf82f, limb1: 0x885924961e16baba1430bbff, - limb2: 0x340f95fa56b75d0 + limb2: 0x340f95fa56b75d0, }, w5: u288 { limb0: 0xef273d28469f2f491bbcd40a, limb1: 0xe90efb0fe5cac233218f725e, - limb2: 0x2270370eed956191 + limb2: 0x2270370eed956191, }, w6: u288 { limb0: 0xca9dcd949b9485cbb6caf5, limb1: 0xf042772fe0b0a8d9ca424d0d, - limb2: 0x6d8cd4db60bffeb + limb2: 0x6d8cd4db60bffeb, }, w7: u288 { limb0: 0x62143619306fd7c0b3b08cc9, limb1: 0xe18c5df14640cc99bb874bd4, - limb2: 0x1e30a97ba92bbad6 + limb2: 0x1e30a97ba92bbad6, }, w8: u288 { limb0: 0x25f8c1f28cee5b135d48cdb6, limb1: 0x9acc1820c130cb285092986d, - limb2: 0x2f167bb2de542dc7 + limb2: 0x2f167bb2de542dc7, }, w9: u288 { limb0: 0xdfd9bc4b5d951cf27288f3d8, limb1: 0x20e76c8c514cfc034e8cee6c, - limb2: 0x8b4f5acd534d42 + limb2: 0x8b4f5acd534d42, }, w10: u288 { limb0: 0x8e677eb53bf14698e8b36257, limb1: 0x9aea99485edddd73910e5d7b, - limb2: 0x1973552b29e8f190 + limb2: 0x1973552b29e8f190, }, w11: u288 { limb0: 0xd5b7c92c3679269e6e89fe4d, limb1: 0x571711871632367838fd954f, - limb2: 0xca34d2d34fc803f - } + limb2: 0xca34d2d34fc803f, + }, }, E12D { w0: u288 { limb0: 0x5a115fd010369153e97447d6, limb1: 0x30bec73abe3a59b63e145fad, - limb2: 0x13cad9f295161d7b + limb2: 0x13cad9f295161d7b, }, w1: u288 { limb0: 0xa241b367a81e2287bcb61b16, limb1: 0x46dcbe36594cfb18595a8f0, - limb2: 0xab01b7e5df25989 + limb2: 0xab01b7e5df25989, }, w2: u288 { limb0: 0x958fca463d9bb5661f0b2fd9, limb1: 0xe06657821675ca026783130d, - limb2: 0x59ffe9952b66fb9 + limb2: 0x59ffe9952b66fb9, }, w3: u288 { limb0: 0x574fb844c92111198355d520, limb1: 0xa14dab7a5284adcd16f40ce5, - limb2: 0x1806c0e26ec0aee7 + limb2: 0x1806c0e26ec0aee7, }, w4: u288 { limb0: 0xe7172a20883b7e788bde9782, limb1: 0xcf0a0721de528a49cb3dd1c4, - limb2: 0x25972b2764f33320 + limb2: 0x25972b2764f33320, }, w5: u288 { limb0: 0x731c250de9790bc763ae6475, limb1: 0x2a9161ea6cab27c57ed08479, - limb2: 0xbba79ad176ebf3d + limb2: 0xbba79ad176ebf3d, }, w6: u288 { limb0: 0x1883e2d532d070e92581f205, limb1: 0x3ee4f828dc142213ed8af967, - limb2: 0x2e502ad8c56d0a28 + limb2: 0x2e502ad8c56d0a28, }, w7: u288 { limb0: 0x5e8c5fa9891c0aba3c546e3b, limb1: 0xef69eec871a7317eb48f3c4c, - limb2: 0x15527229b85df416 + limb2: 0x15527229b85df416, }, w8: u288 { limb0: 0xf9d9b27fb6982c16115b072a, limb1: 0x25855f7b17b4ab7d777c5a71, - limb2: 0x17b488bbc4482f41 + limb2: 0x17b488bbc4482f41, }, w9: u288 { limb0: 0xc8d3bb50e255913069e7e85a, limb1: 0x24471c0093ed7d60d8ec93fe, - limb2: 0x1d25a04ef49a8340 + limb2: 0x1d25a04ef49a8340, }, w10: u288 { limb0: 0x8469405a54b25563e06b7556, limb1: 0x362aa168589a62d47f199abd, - limb2: 0x144504d5e88c24cd + limb2: 0x144504d5e88c24cd, }, w11: u288 { limb0: 0x6ecf9040c554795e77fbc3d, limb1: 0xce3f520885d6702426c67484, - limb2: 0x1729093a618f3459 - } + limb2: 0x1729093a618f3459, + }, }, E12D { w0: u288 { limb0: 0x4e76344718fef690a24dad4a, limb1: 0xc77cee5e9c5a4c63dcec6df, - limb2: 0x2eabcc53f3044ba2 + limb2: 0x2eabcc53f3044ba2, }, w1: u288 { limb0: 0xff72f26ff560d5c610868418, limb1: 0xcf976dd967e078f76ffa7f14, - limb2: 0x2c4c3336767ab0f8 + limb2: 0x2c4c3336767ab0f8, }, w2: u288 { limb0: 0x74290c1a859b6a664515c7ec, limb1: 0x4018fec3da718ea7ce725e7a, - limb2: 0x2c0acbaf6d3dda8c + limb2: 0x2c0acbaf6d3dda8c, }, w3: u288 { limb0: 0x9e24330df30e289200970ddc, limb1: 0x2c7506954dfbab29debdcc33, - limb2: 0x19e88e5ba2f32c9e + limb2: 0x19e88e5ba2f32c9e, }, w4: u288 { limb0: 0x92b81688683664e49ad6c207, limb1: 0x950a1848e1e7bd3bee4e9648, - limb2: 0x245fb841e1ea7f20 + limb2: 0x245fb841e1ea7f20, }, w5: u288 { limb0: 0xc0f5268607b5fb01ab981f8, limb1: 0x92b4bd8b0642eb9b8125e71e, - limb2: 0x832b45514154898 + limb2: 0x832b45514154898, }, w6: u288 { limb0: 0x18faa9f18edac485d6a7b190, limb1: 0xc374fb5ae398115c8cc5d4f, - limb2: 0x1b89ed6497f7528b + limb2: 0x1b89ed6497f7528b, }, w7: u288 { limb0: 0x60c6513ff564579e1988b356, limb1: 0x829048cc61af118a911e5195, - limb2: 0x4b67c5750b2a6c8 + limb2: 0x4b67c5750b2a6c8, }, w8: u288 { limb0: 0x2ad1d470e7cbba646712536d, limb1: 0xebf4f74cfd00385bc9700205, - limb2: 0x21fb3b56977d6981 + limb2: 0x21fb3b56977d6981, }, w9: u288 { limb0: 0xc193efe12433a6a7cd169fd5, limb1: 0x8e27c0d34ce21cff9d29399a, - limb2: 0x132d71372731fcc8 + limb2: 0x132d71372731fcc8, }, w10: u288 { limb0: 0x556a4d23d4f86a177341b2e5, limb1: 0x383fea5b5626cc64d9e66b7a, - limb2: 0x1ce052cbe93337d + limb2: 0x1ce052cbe93337d, }, w11: u288 { limb0: 0x4e56bc802b5abe09ee095df, limb1: 0x37fb83a829d63d38ea7fe544, - limb2: 0x2b3dbc96d14de0ea - } + limb2: 0x2b3dbc96d14de0ea, + }, }, E12D { w0: u288 { limb0: 0x672f14cd0b10414f1a06ab0e, limb1: 0xbc03210758f55bd394a8677b, - limb2: 0x1919a01fe8398d6e + limb2: 0x1919a01fe8398d6e, }, w1: u288 { limb0: 0x994ec01c61f79b37735fb04e, limb1: 0x9f89038d35f704713d113e7c, - limb2: 0x2fb067f3596c6f5d + limb2: 0x2fb067f3596c6f5d, }, w2: u288 { limb0: 0xc4db13525dd2ebf1798bc011, limb1: 0xd7f230dddfb10272addc3ac5, - limb2: 0x129d55618745bdb6 + limb2: 0x129d55618745bdb6, }, w3: u288 { limb0: 0x4df6042036cc4e73caee7fd1, limb1: 0xf39bb2f57992a78b7f562caf, - limb2: 0x10b637bffbf9e3b6 + limb2: 0x10b637bffbf9e3b6, }, w4: u288 { limb0: 0xaf7ef004ea70cae206949fe0, limb1: 0x746537a320de6c4a8a3597ea, - limb2: 0x2aaeaf029d031dc + limb2: 0x2aaeaf029d031dc, }, w5: u288 { limb0: 0xc621594a078899f8c62a9cdb, limb1: 0x89e9884f3bf39f6476b7b0ea, - limb2: 0x272b433fbcd53b5c + limb2: 0x272b433fbcd53b5c, }, w6: u288 { limb0: 0xed69fdcb268caf1bf4e7be79, limb1: 0xd64e544332ba16059fbe6f21, - limb2: 0x453884fd8055fc7 + limb2: 0x453884fd8055fc7, }, w7: u288 { limb0: 0xfcb53a4db14a035bb31b8e42, limb1: 0xcb56190ac6955b4789800190, - limb2: 0x1948730c4a6d36a3 + limb2: 0x1948730c4a6d36a3, }, w8: u288 { limb0: 0xf71fef15f0a4caabc93864d4, limb1: 0x533dd6e3aef09b50136b0424, - limb2: 0x26d7908e833342d0 + limb2: 0x26d7908e833342d0, }, w9: u288 { limb0: 0xa7702df86f4ffe60b5fcd8be, limb1: 0x82f85e85117830f257dc4449, - limb2: 0x1beb171bf8d70197 + limb2: 0x1beb171bf8d70197, }, w10: u288 { limb0: 0x31fc4912bfb5683fe07e25cb, limb1: 0xd283fd947a39cca9cf8bad14, - limb2: 0x115ec5f3559e2fc + limb2: 0x115ec5f3559e2fc, }, w11: u288 { limb0: 0xa9507d23f9e956aa9f5be47d, limb1: 0x20a327008223620fe131958e, - limb2: 0x1e5fc15a15ef1efa - } + limb2: 0x1e5fc15a15ef1efa, + }, }, E12D { w0: u288 { limb0: 0x2a32729f621dc67e38a9e308, limb1: 0x3c7a4c38ab41463dd90d71e6, - limb2: 0x164410a5de4f6a31 + limb2: 0x164410a5de4f6a31, }, w1: u288 { limb0: 0x7c865da012acb0d622f3e6af, limb1: 0x6efcde33e8cb90fe34763281, - limb2: 0x8bb58070cb757b0 + limb2: 0x8bb58070cb757b0, }, w2: u288 { limb0: 0x102a4c45e1c7dc9a185096a6, limb1: 0x939ac06cca64b4059b650779, - limb2: 0x18d0f097d8f27ead + limb2: 0x18d0f097d8f27ead, }, w3: u288 { limb0: 0x5604d370b04f242174dfdc19, limb1: 0x3f2331ab9d6af28b81d598d7, - limb2: 0x14096280fdb84ef2 + limb2: 0x14096280fdb84ef2, }, w4: u288 { limb0: 0x4412fcdec6354f32bbfff8ab, limb1: 0xb2455bc4da7ee0be75af5185, - limb2: 0x1a06f1d06514810a + limb2: 0x1a06f1d06514810a, }, w5: u288 { limb0: 0x5b518b0ce27ac5904af109d2, limb1: 0x505b8452fe08ea12e98c5709, - limb2: 0xb8fe7b802f5d89a + limb2: 0xb8fe7b802f5d89a, }, w6: u288 { limb0: 0xd0c037f851034b765eed83e4, limb1: 0xb208cada98ad38bb65fa1eac, - limb2: 0xad14e495078b750 + limb2: 0xad14e495078b750, }, w7: u288 { limb0: 0x27c34e9def3b3769635e71be, limb1: 0xb2ec25f739ecf7d9600f51a6, - limb2: 0x2865787fdd12b638 + limb2: 0x2865787fdd12b638, }, w8: u288 { limb0: 0x639142ced19d81d2bb7fab2e, limb1: 0x7c2168110de34c92009b4685, - limb2: 0x1c898a9a832e3d64 + limb2: 0x1c898a9a832e3d64, }, w9: u288 { limb0: 0x1f5eb66df1fdc41bf0ce081e, limb1: 0xafbc19ef146651ce2da77852, - limb2: 0xe6eac8e4ccd9b71 + limb2: 0xe6eac8e4ccd9b71, }, w10: u288 { limb0: 0xf57e46ceab88a82e3a3f41c0, limb1: 0xb9c56b5c009ea3787342009, - limb2: 0x2b02ef12c18f1e03 + limb2: 0x2b02ef12c18f1e03, }, w11: u288 { limb0: 0xfb98309dd05609eb835a18ea, limb1: 0x831938e89a1a52e80f384288, - limb2: 0x2f28355805f38fcd - } + limb2: 0x2f28355805f38fcd, + }, }, E12D { w0: u288 { limb0: 0xbc95d451e65b0289c2f0d9f4, limb1: 0x29864b5c2006361c7ec32dbc, - limb2: 0x231b97e42e88b4ff + limb2: 0x231b97e42e88b4ff, }, w1: u288 { limb0: 0x4bc818c5e9f6ed62903ac570, limb1: 0xa6da69d8d95bf6c6529bfd2e, - limb2: 0x9e56c349c350628 + limb2: 0x9e56c349c350628, }, w2: u288 { limb0: 0xed520f5d2e7e426947558231, limb1: 0x407b04e8f131e18a83493135, - limb2: 0xa24acdc96970f27 + limb2: 0xa24acdc96970f27, }, w3: u288 { limb0: 0x1d6c5e4e2aeea52567838f68, limb1: 0x3bdb301020d1702216efd42d, - limb2: 0x2b59a5b8dcb0422b + limb2: 0x2b59a5b8dcb0422b, }, w4: u288 { limb0: 0xf85e1201fcab94bada581d84, limb1: 0xe0efe6f4951ed52abf8b76af, - limb2: 0xa6ae5af3e8d245c + limb2: 0xa6ae5af3e8d245c, }, w5: u288 { limb0: 0x51002d24f61e489d8c153193, limb1: 0xb32c323348563ffd15f5c33c, - limb2: 0x26c4b2966b0b0244 + limb2: 0x26c4b2966b0b0244, }, w6: u288 { limb0: 0xb16e8f73703c8fc9cbe27a54, limb1: 0xe85c673315e3ff3bd80c385a, - limb2: 0x1097084941caa56b + limb2: 0x1097084941caa56b, }, w7: u288 { limb0: 0x418c90f7a9ddb4b009516166, limb1: 0x6b3e04040348ba6064a95888, - limb2: 0x1109803e56079bbf + limb2: 0x1109803e56079bbf, }, w8: u288 { limb0: 0xfba73400ff9d91da0d4bb12f, limb1: 0xaa1955281d88ef0e24a3555b, - limb2: 0x2eb930dc35c971e5 + limb2: 0x2eb930dc35c971e5, }, w9: u288 { limb0: 0x5cf265fa7a069ab0faf07634, limb1: 0x1fc2d713371237aca902f86b, - limb2: 0x239dbccb24faaa + limb2: 0x239dbccb24faaa, }, w10: u288 { limb0: 0x2b4f288428a4b9bbe4f2fa4c, limb1: 0x7623c03640928ed49d920ddf, - limb2: 0x13201c25a3d33428 + limb2: 0x13201c25a3d33428, }, w11: u288 { limb0: 0x40775c9ff8a831905a097195, limb1: 0x26f944b86fd036f02e3194c7, - limb2: 0x28d19be843b3ff3c - } + limb2: 0x28d19be843b3ff3c, + }, }, E12D { w0: u288 { limb0: 0x189cb16fa9189ecd4fbb9343, limb1: 0x3b0200dcdda749a4ac7badd1, - limb2: 0x127325cd0676619e + limb2: 0x127325cd0676619e, }, w1: u288 { limb0: 0x69426bc4ac151ab78084bd46, limb1: 0x6ed73cc76b2e6866f2bb6e99, - limb2: 0xa8a06bc3b26bf4d + limb2: 0xa8a06bc3b26bf4d, }, w2: u288 { limb0: 0x773e7d09877a907af19e3b20, limb1: 0xceef25b4bf04c5319d48ec40, - limb2: 0x1551ac68039dc2ff + limb2: 0x1551ac68039dc2ff, }, w3: u288 { limb0: 0x5109ce5668e51d98d7e472da, limb1: 0x79997b0e4983fd2528c1da6, - limb2: 0x47a2e7358f796cc + limb2: 0x47a2e7358f796cc, }, w4: u288 { limb0: 0xab89501874d5d5203a865933, limb1: 0xd17c5b1d843b9ac35877d3b7, - limb2: 0x1b0b482637ee8296 + limb2: 0x1b0b482637ee8296, }, w5: u288 { limb0: 0x2409320a513ccf12624ea83d, limb1: 0x4e71c7cafee4e2c6029411d3, - limb2: 0x3f88321fd8d60cb + limb2: 0x3f88321fd8d60cb, }, w6: u288 { limb0: 0xda33ccef60ef4ad0f7de09a4, limb1: 0x896d7cf80ee703d4a76ea589, - limb2: 0x26c5d68117d6cd8b + limb2: 0x26c5d68117d6cd8b, }, w7: u288 { limb0: 0xaae41113d58ca2d0b98fdc40, limb1: 0xb2b5035495fad57c313b39c7, - limb2: 0x2332fb21abcde1dc + limb2: 0x2332fb21abcde1dc, }, w8: u288 { limb0: 0x2265477f67c8e381757e2444, limb1: 0xff72e21f4c00cdb8045fe56a, - limb2: 0xe369c6ccb5e2670 + limb2: 0xe369c6ccb5e2670, }, w9: u288 { limb0: 0xa47c80b7062c0a20d48497b6, limb1: 0x89c328f7723a88bdc303660f, - limb2: 0x233963ef5c38065c + limb2: 0x233963ef5c38065c, }, w10: u288 { limb0: 0xeaee6b9ebb4333692353011d, limb1: 0xd5b4ec24d21d826b39675fc1, - limb2: 0x1ddb842c4860ed55 + limb2: 0x1ddb842c4860ed55, }, w11: u288 { limb0: 0x905d5ae2cb91239753abae8b, limb1: 0xe05b3862330500c4e491581a, - limb2: 0x2a0484f49430b2f4 - } + limb2: 0x2a0484f49430b2f4, + }, }, E12D { w0: u288 { limb0: 0x322ea1fa72a31dba5d539d3c, limb1: 0x7a42a67f2be67efd3656ce90, - limb2: 0x20b10c4394721d38 + limb2: 0x20b10c4394721d38, }, w1: u288 { limb0: 0x8d4223351a2c2e79c68f7016, limb1: 0x7780a8b63715a853e1637024, - limb2: 0x4840a61778756f7 + limb2: 0x4840a61778756f7, }, w2: u288 { limb0: 0xd33364f24b90b7283e555f03, limb1: 0x2725b6c80c1db189e6c6030f, - limb2: 0xd0e44a0d823a67e + limb2: 0xd0e44a0d823a67e, }, w3: u288 { limb0: 0x882366ae98da604af6b4b252, limb1: 0xb3c7302035df6f08fe1bb60f, - limb2: 0x1a9eb767ddd9d0d + limb2: 0x1a9eb767ddd9d0d, }, w4: u288 { limb0: 0xcfbe7c69e24937ff2679bd74, limb1: 0xa52b7b97b50a452b511dc5ec, - limb2: 0x1b0e7a47140766b2 + limb2: 0x1b0e7a47140766b2, }, w5: u288 { limb0: 0x31951de26a27a91be138fa32, limb1: 0x47bc4f53494987139e77af9a, - limb2: 0x1149a75ca93cba86 + limb2: 0x1149a75ca93cba86, }, w6: u288 { limb0: 0x88cbc9cc41de5834f9fb4004, limb1: 0x5bb1bdd77409a1a3e8607b84, - limb2: 0xcec6462b9b83783 + limb2: 0xcec6462b9b83783, }, w7: u288 { limb0: 0xe8cca50626729793c273633c, limb1: 0xa94a00b04453b3af1fcda1e7, - limb2: 0xe304d8c44e2ad29 + limb2: 0xe304d8c44e2ad29, }, w8: u288 { limb0: 0x6d79c62f33ef542ee031b10b, limb1: 0xa853b8626dc0f8edc9dae8a2, - limb2: 0x25a442e527fb55ae + limb2: 0x25a442e527fb55ae, }, w9: u288 { limb0: 0xb73c62448fcc061b7461540, limb1: 0xd36efa0f2e61f0bdf4f23d5e, - limb2: 0x146329a5e06f73d8 + limb2: 0x146329a5e06f73d8, }, w10: u288 { limb0: 0xa78188e4bc75e2262a094916, limb1: 0xe7126a1cbcb03e681a2f9eb0, - limb2: 0x22b08cfb6cb34c00 + limb2: 0x22b08cfb6cb34c00, }, w11: u288 { limb0: 0x93651f5e4cfcfd80ebae9e97, limb1: 0x2ad39d6d02435965ab528f04, - limb2: 0x162d5418053965e7 - } + limb2: 0x162d5418053965e7, + }, }, E12D { w0: u288 { limb0: 0x1, limb1: 0x0, limb2: 0x0 }, @@ -6225,7 +6225,7 @@ mod pairing_tests { w8: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w9: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w10: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, - w11: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 } + w11: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, }, ] .span(), @@ -6233,728 +6233,728 @@ mod pairing_tests { u288 { limb0: 0xf68c7f0e15fc5e088df4a5f4, limb1: 0x192d2d6906627b018e10ea48, - limb2: 0x757ffbf935c88f2 + limb2: 0x757ffbf935c88f2, }, u288 { limb0: 0x92d1c56bddf6c0f4d50d9b0a, limb1: 0xcfe689463175fefe89afbce0, - limb2: 0x23fe2f2a141f97df + limb2: 0x23fe2f2a141f97df, }, u288 { limb0: 0x5597ea8ec110ee96a3a693cc, limb1: 0xe2b007560bfd98532cf78cfb, - limb2: 0x2d4e54afc3e58 + limb2: 0x2d4e54afc3e58, }, u288 { limb0: 0x70f964f9fbc8ee78da53e7fc, limb1: 0x882335e2eab582ee18fccd4, - limb2: 0x2c9c6ccddbde8e44 + limb2: 0x2c9c6ccddbde8e44, }, u288 { limb0: 0x9df294131c1ac85ae944403c, limb1: 0xe103527cf2d779669335aef2, - limb2: 0x3f334d976cd0ac3 + limb2: 0x3f334d976cd0ac3, }, u288 { limb0: 0x92bdefa336c518ee3de6bb2b, limb1: 0x5569c8538119d1889a2863a8, - limb2: 0x596fb5d3d7f5bc0 + limb2: 0x596fb5d3d7f5bc0, }, u288 { limb0: 0x68320307a71f717424dd8889, limb1: 0x4f007feb181863970ba8014, - limb2: 0x2f5517819af5a2be + limb2: 0x2f5517819af5a2be, }, u288 { limb0: 0xf9a7f7f6b132d6623ac3c925, limb1: 0x62f109edd96de101a1fe5ead, - limb2: 0x190704f1c3f3cae6 + limb2: 0x190704f1c3f3cae6, }, u288 { limb0: 0x7ce0a07cec03eceec4d656a1, limb1: 0xbb469b388c403ccd063a6496, - limb2: 0x21b7ab1a4596ae5d + limb2: 0x21b7ab1a4596ae5d, }, u288 { limb0: 0x74dafe128bb3c3f2163190d2, limb1: 0xa57856fa720cd0660c1e4ebf, - limb2: 0x25e94be90f5a8a46 + limb2: 0x25e94be90f5a8a46, }, u288 { limb0: 0x12d8387c120a7b378b834e1e, limb1: 0xbe0ccb041adee67123ccb266, - limb2: 0x302a743d70fb09a + limb2: 0x302a743d70fb09a, }, u288 { limb0: 0xb424e00fb910dd53fa351f7a, limb1: 0x2b94f853be1812204b8f6f4e, - limb2: 0x58ac1908ad756b5 + limb2: 0x58ac1908ad756b5, }, u288 { limb0: 0xe4f750a05155ebbd02f6c5c6, limb1: 0x18931d3b5a9b17249092d46c, - limb2: 0x10209a963e462d11 + limb2: 0x10209a963e462d11, }, u288 { limb0: 0xe7440d76761c3d644b830bec, limb1: 0x70504a8a9ac69a3b3cbd5ded, - limb2: 0x119f3273d2e000e1 + limb2: 0x119f3273d2e000e1, }, u288 { limb0: 0x8956632a911193bff430fbd4, limb1: 0xcdeb705169ca8d331890e14, - limb2: 0x289adfea231e994d + limb2: 0x289adfea231e994d, }, u288 { limb0: 0xdba0187ffc8a77433f858eba, limb1: 0xfe9fd7bac6c5769adf4efe5b, - limb2: 0x226ecb7c73131dcb + limb2: 0x226ecb7c73131dcb, }, u288 { limb0: 0x6618406539876d0b8aae5814, limb1: 0x3df9237727b00d6c39416905, - limb2: 0x233136ff59bf8481 + limb2: 0x233136ff59bf8481, }, u288 { limb0: 0x89852644eccd0deebb36bb9f, limb1: 0x7eab45366e2574902e13c7ba, - limb2: 0xbbe293396ccd861 + limb2: 0xbbe293396ccd861, }, u288 { limb0: 0x7406cf0a5d0aae05d3859b52, limb1: 0x408dd6788f13c8f1c62e46f9, - limb2: 0x522f07d7ab21925 + limb2: 0x522f07d7ab21925, }, u288 { limb0: 0x5d3665fba0bb9b35cf0e6cfa, limb1: 0xb1e755cc3aeb7d580d42bb26, - limb2: 0x1d4ae98c890f02df + limb2: 0x1d4ae98c890f02df, }, u288 { limb0: 0x6e96712261b531a050bf614d, limb1: 0xf5e79c2439a8239dbfd439ed, - limb2: 0x27f0cfdf904e1d16 + limb2: 0x27f0cfdf904e1d16, }, u288 { limb0: 0xfca686976f122b6b4260dc6f, limb1: 0x23cbd557bd558c6ca2e30717, - limb2: 0x26c49431bfabe919 + limb2: 0x26c49431bfabe919, }, u288 { limb0: 0x3a043c6946354e5b44b243ea, limb1: 0x57938958bcd4656369870f8, - limb2: 0x204a4a04dca72bc6 + limb2: 0x204a4a04dca72bc6, }, u288 { limb0: 0x410113cbb11720668270bc98, limb1: 0xcdfb83c6c1ea5f4b7e9f8c8b, - limb2: 0x2c837622398943ae + limb2: 0x2c837622398943ae, }, u288 { limb0: 0x49d1b76b6613aeef6b5aef6c, limb1: 0x420a50699b69a56c9a165b3, - limb2: 0x16017524d14ed8dd + limb2: 0x16017524d14ed8dd, }, u288 { limb0: 0xfbddf0d81ec692d8dd90e063, limb1: 0xc4058cb797354963fa4913e1, - limb2: 0x10a73ed19f2e7eb0 + limb2: 0x10a73ed19f2e7eb0, }, u288 { limb0: 0x8d0a728693233d8e3502e2b5, limb1: 0x8ba3275ebf032202230f93cc, - limb2: 0x2a8fcde7fd5b0495 + limb2: 0x2a8fcde7fd5b0495, }, u288 { limb0: 0xfa41164bc811902751021df7, limb1: 0x9427808e8f61ae0d74324d5c, - limb2: 0x1e6dbd34d4fc53d7 + limb2: 0x1e6dbd34d4fc53d7, }, u288 { limb0: 0xd412d98ba2d0df6012a45bb0, limb1: 0xca4330f350a8b440f22de8cf, - limb2: 0x62d2fd3073a4399 + limb2: 0x62d2fd3073a4399, }, u288 { limb0: 0x5b1f85c33863689f68eca2bc, limb1: 0x14179fde46e842877101a6ca, - limb2: 0x1f24b0adc742a81e + limb2: 0x1f24b0adc742a81e, }, u288 { limb0: 0xdb7b279e64cf71b0dd3dd2ab, limb1: 0x4cb0b1784a244240c2cdc1ea, - limb2: 0x49f45967043ba7c + limb2: 0x49f45967043ba7c, }, u288 { limb0: 0xc70bf570e264d93f5ab4aa50, limb1: 0x29cb7ded469fa50084cd2e98, - limb2: 0x29aef8867bdb4f22 + limb2: 0x29aef8867bdb4f22, }, u288 { limb0: 0x8ca28fc3ba245454cc0bc43c, limb1: 0xfb7d6a4dc6584c138c41a442, - limb2: 0x6f318a6031f21b0 + limb2: 0x6f318a6031f21b0, }, u288 { limb0: 0xaa6dffdd5c78bce67b2cfb05, limb1: 0xbd86ec5de2c0c3584fe05de7, - limb2: 0x15f430068f3f18a3 + limb2: 0x15f430068f3f18a3, }, u288 { limb0: 0x96a441ed01be61634c57bbc4, limb1: 0x1064662ccd3550710c6e066f, - limb2: 0x294be1ff8bbf485e + limb2: 0x294be1ff8bbf485e, }, u288 { limb0: 0xc2b131630ed56cb1e86f59f2, limb1: 0xf18ccc50973350cd5295bba5, - limb2: 0x2e1abee571ae8614 + limb2: 0x2e1abee571ae8614, }, u288 { limb0: 0x2dcb8c94d5a1956b0c754c8a, limb1: 0x23d021eb096d8187f2cbc654, - limb2: 0x48e736998441893 + limb2: 0x48e736998441893, }, u288 { limb0: 0x1941d824aeea1f5bad256c20, limb1: 0xa7eae5bf861b73221789a983, - limb2: 0x5b57c8cbc31de84 + limb2: 0x5b57c8cbc31de84, }, u288 { limb0: 0x4ba8a5e13f64ab5d2d0acee6, limb1: 0xa62af93d85aae91e3bf9a543, - limb2: 0x1ee68fd52867e6ea + limb2: 0x1ee68fd52867e6ea, }, u288 { limb0: 0x7e78274fa3c26fa1d2e6eda8, limb1: 0x6ff2af5d04b666248121009f, - limb2: 0x3b40cc91efd0057 + limb2: 0x3b40cc91efd0057, }, u288 { limb0: 0x6083b5a1ec8e8f2166375108, limb1: 0x8eaa18db1251e0504a6ebd90, - limb2: 0x1de4f2bebd0f43c9 + limb2: 0x1de4f2bebd0f43c9, }, u288 { limb0: 0x702b27b840922d96d5a2ffb2, limb1: 0xcd4eee24a5a113ca60f55ad9, - limb2: 0x122906c0c4740cdd + limb2: 0x122906c0c4740cdd, }, u288 { limb0: 0x85bb711735559eb0cfe762e6, limb1: 0xf10de7d4709be3183e1826c1, - limb2: 0x2fcde48e2ae776b8 + limb2: 0x2fcde48e2ae776b8, }, u288 { limb0: 0x2f88de5928085262a9695c4f, limb1: 0xd56c45e67b669258f9d07b9c, - limb2: 0x2ca48c7a46ca4298 + limb2: 0x2ca48c7a46ca4298, }, u288 { limb0: 0x7176d4689d562fac170dfdc4, limb1: 0x26d1601ad6be10bffdaeb59, - limb2: 0x1b9908a601f3675c + limb2: 0x1b9908a601f3675c, }, u288 { limb0: 0xb6aab323a944ba2e46a7e9ad, limb1: 0x2c93ff6fb29306423c6872ca, - limb2: 0x24420bbdfb06a524 + limb2: 0x24420bbdfb06a524, }, u288 { limb0: 0x736cb9051a49ac60bade8cb8, limb1: 0xe48a504acab4fb5d4ab83d6c, - limb2: 0x252b2eb02a24c5e3 + limb2: 0x252b2eb02a24c5e3, }, u288 { limb0: 0x39b3d293f4c560aa6cdfec33, limb1: 0xd6349d1ab0a51234f906ca0b, - limb2: 0x2fb8d8192779e983 + limb2: 0x2fb8d8192779e983, }, u288 { limb0: 0xbac157dcace16214245af0a2, limb1: 0x575d6db1202db813c9255aab, - limb2: 0xf4318fb92221244 + limb2: 0xf4318fb92221244, }, u288 { limb0: 0xe97c10919025d1259bfc0435, limb1: 0x971700f9de86f2c604e842f6, - limb2: 0x1ccd5863baedbbcf + limb2: 0x1ccd5863baedbbcf, }, u288 { limb0: 0x34c0e0929dd34f2558f74a8e, limb1: 0xa55138fe8e56709b851eae7e, - limb2: 0x62387c2456c7455 + limb2: 0x62387c2456c7455, }, u288 { limb0: 0x4d920c4a1ca2ebc051a086c7, limb1: 0x4513082d203483c38e01a2fe, - limb2: 0x265b81d006080f59 + limb2: 0x265b81d006080f59, }, u288 { limb0: 0x3a994491cd318b69812e3c84, limb1: 0x10ddae0a266592875996f97e, - limb2: 0x2be70f7e2e1e4e2d + limb2: 0x2be70f7e2e1e4e2d, }, u288 { limb0: 0x6c36a6d6f0690d02d92477a4, limb1: 0x1a30bec838dbc66f00f363d9, - limb2: 0x2ec55c8fdf1a3cf + limb2: 0x2ec55c8fdf1a3cf, }, u288 { limb0: 0x79a726e82eb0979436e65a6d, limb1: 0x97461485e785f7f2c3dd6580, - limb2: 0xc19d16900b16721 + limb2: 0xc19d16900b16721, }, u288 { limb0: 0x2655c56d0453dd3630200a4f, limb1: 0x666d3932a0b15d22f142f742, - limb2: 0xc185f393d6ea81a + limb2: 0xc185f393d6ea81a, }, u288 { limb0: 0x8b907bba6bd50b7b3fcb889e, limb1: 0x9a324c57376ae6a3c4c828f9, - limb2: 0xaed0921fd02e1fa + limb2: 0xaed0921fd02e1fa, }, u288 { limb0: 0x8bf7e51fca952fb3a37bec3, limb1: 0x809609996a32d61eeec1c5ca, - limb2: 0x165354cbf533a741 + limb2: 0x165354cbf533a741, }, u288 { limb0: 0x87b3666f6e042161be69f955, limb1: 0x3c4aabbf071c41ca521fb3fc, - limb2: 0x5e65262ff6c5594 + limb2: 0x5e65262ff6c5594, }, u288 { limb0: 0x3188d18ae7bf71b685d1d2d2, limb1: 0x47872f71017ae2fc6efb8994, - limb2: 0x1f796270201e21e0 + limb2: 0x1f796270201e21e0, }, u288 { limb0: 0x2762e5fab60e653c2d9950a5, limb1: 0xb5feb777d1928c4ba4ff8f39, - limb2: 0x2f666d8ad27f5e30 + limb2: 0x2f666d8ad27f5e30, }, u288 { limb0: 0xe15b1bab7c2567e1dcb354f3, limb1: 0x462a6fad3e5fc5dca73bf70c, - limb2: 0xabea261655a427 + limb2: 0xabea261655a427, }, u288 { limb0: 0x49345b5b7ca15bed1bf5b23a, limb1: 0x3ac9b391386bc3b9acbdf68c, - limb2: 0x2d40730d64b6f032 + limb2: 0x2d40730d64b6f032, }, u288 { limb0: 0xbcdeddd475a71fc561554c5b, limb1: 0x902f8be9e52100db7c29809b, - limb2: 0xcae5eda2a989aab + limb2: 0xcae5eda2a989aab, }, u288 { limb0: 0x9ae2702815656fd83e99eb82, limb1: 0x8021eecd874da663f87f2336, - limb2: 0x2bfa060a81af2bee + limb2: 0x2bfa060a81af2bee, }, u288 { limb0: 0x6fec10018d826317c4692976, limb1: 0x192656215c56d434007a052d, - limb2: 0x276ff4a84119aecb + limb2: 0x276ff4a84119aecb, }, u288 { limb0: 0xe0b4deb6e8f95c9499935773, limb1: 0xdd9f378286c262da528e6ad4, - limb2: 0x2f35fdbbb44ff512 + limb2: 0x2f35fdbbb44ff512, }, u288 { limb0: 0xf2cb65f814421e84c853b085, limb1: 0x885ed835830e27f135bc17e3, - limb2: 0x12bb4370fc60a8e + limb2: 0x12bb4370fc60a8e, }, u288 { limb0: 0x7b96ae153d10e7af25d2eb27, limb1: 0x609d3511e03a3d323a2a2beb, - limb2: 0x1cd8319040eddb34 + limb2: 0x1cd8319040eddb34, }, u288 { limb0: 0x330e4f16b3eff5c9c1ffa06e, limb1: 0x792baadc1f869607f0499a68, - limb2: 0x5ac5088f838a2a1 + limb2: 0x5ac5088f838a2a1, }, u288 { limb0: 0x4f9f7a5a0654b785250fc74b, limb1: 0x87a71736772446b8350a1dbd, - limb2: 0x289d5ddb891e66f2 + limb2: 0x289d5ddb891e66f2, }, u288 { limb0: 0x99286fa24886fa617e757d38, limb1: 0x63034a1718dcd339d6712ef1, - limb2: 0x1af46294f53a20ee + limb2: 0x1af46294f53a20ee, }, u288 { limb0: 0xc3a0d7e1585ac8d337ceaecd, limb1: 0x1e529bf56bcb609736a6d02, - limb2: 0x1abc3c9d7500730b + limb2: 0x1abc3c9d7500730b, }, u288 { limb0: 0xc8b83b5b94c4105ee231dd5, limb1: 0x7b4d3129c63e37cb07875b52, - limb2: 0x1a4f649fd3d3b2d9 + limb2: 0x1a4f649fd3d3b2d9, }, u288 { limb0: 0xa5c10195c1c9650a9f3cac38, limb1: 0xc5ba36ecbf26f82afd9d441b, - limb2: 0xf12a810e117990d + limb2: 0xf12a810e117990d, }, u288 { limb0: 0xcc47a6d284492714d90ba21a, limb1: 0xfa19061c4704d1f477c4dda0, - limb2: 0x18cb43394a95effc + limb2: 0x18cb43394a95effc, }, u288 { limb0: 0xab64c0afb8bdf5c260f8211d, limb1: 0xa08a0a4369b3a4fb29931dbb, - limb2: 0x1de2f9d7c1239d70 + limb2: 0x1de2f9d7c1239d70, }, u288 { limb0: 0x57adcab2e2df4ec7d06be22a, limb1: 0xe0f75f298ffa3b6481337106, - limb2: 0x2538da4293348204 + limb2: 0x2538da4293348204, }, u288 { limb0: 0xe79d538065ff412e2c91fd8, limb1: 0x422a8305ab03aa83e9c7b417, - limb2: 0x94e245347e7a135 + limb2: 0x94e245347e7a135, }, u288 { limb0: 0xbf4082c85a023d191f360b21, limb1: 0x1a8ea83c88cace5a680c4496, - limb2: 0x2edfd9d664942a4f + limb2: 0x2edfd9d664942a4f, }, u288 { limb0: 0x4d6e7c9399edf248444b3768, limb1: 0x18a2dadeee6e9d25bce97a6, - limb2: 0x17defccbc9adc5bb + limb2: 0x17defccbc9adc5bb, }, u288 { limb0: 0x7d20d85ba61bcc08918621c3, limb1: 0x6e094cff869987098fa20be, - limb2: 0x73003b7bf877fec + limb2: 0x73003b7bf877fec, }, u288 { limb0: 0xbf363cc881973850deedb594, limb1: 0xc23a09b47df533ca75423245, - limb2: 0x1006165cd2e7094a + limb2: 0x1006165cd2e7094a, }, u288 { limb0: 0xc353f232264c8aaab03e0a86, limb1: 0xe3e7d012ae3547b2ebcd4a63, - limb2: 0x2dff11a4d0c5d572 + limb2: 0x2dff11a4d0c5d572, }, u288 { limb0: 0x8b9be0fe913e3ed91c677135, limb1: 0x2b94fbe9b1e970c6494efb30, - limb2: 0x18296a1b2846b6ab + limb2: 0x18296a1b2846b6ab, }, u288 { limb0: 0x1fbdf26abe99964a1b311ac5, limb1: 0x9befb1fead38dad59c519f97, - limb2: 0x111ea6fa99c92f81 + limb2: 0x111ea6fa99c92f81, }, u288 { limb0: 0x94e540ac73b69d3291447f02, limb1: 0x148bf0d44fc2e4344b48ce97, - limb2: 0x16cf7b5e3d504347 + limb2: 0x16cf7b5e3d504347, }, u288 { limb0: 0x5613e868d77c6f92738ebad4, limb1: 0xa318e04c4b50094886e5016d, - limb2: 0x1242c45be0c1c435 + limb2: 0x1242c45be0c1c435, }, u288 { limb0: 0x95ed936a5cad6c14478e2c22, limb1: 0x4021275a98e48a23b44e7518, - limb2: 0x22600ad24c2479ee + limb2: 0x22600ad24c2479ee, }, u288 { limb0: 0x464bd8dd68f24e1a7ec6a63c, limb1: 0xfce44a7e272443e3152b85c4, - limb2: 0x1b419043fec17bc7 + limb2: 0x1b419043fec17bc7, }, u288 { limb0: 0xfba834211915d5ff89828074, limb1: 0xfbddac3769262aedd93c7cc2, - limb2: 0xb7f8661a40f57e7 + limb2: 0xb7f8661a40f57e7, }, u288 { limb0: 0x947b896433253bd0b366dd6c, limb1: 0x10be7c271b6becb5c6552cbd, - limb2: 0xace469c516bdbb8 + limb2: 0xace469c516bdbb8, }, u288 { limb0: 0x4168703f8dad67181a75c8a7, limb1: 0x6ff977d191a4c22bf4686496, - limb2: 0x20390a55c6c8963 + limb2: 0x20390a55c6c8963, }, u288 { limb0: 0xca1f10b29d359a047a96c5ab, limb1: 0xa5261bf94ba77c9957232d91, - limb2: 0x2e3598dbc84cac12 + limb2: 0x2e3598dbc84cac12, }, u288 { limb0: 0x9b8a068f9cd5c71d613dde02, limb1: 0xb86fc148b13233f10894aae4, - limb2: 0x84b4285a825141 + limb2: 0x84b4285a825141, }, u288 { limb0: 0x2570443b26126cb1c41d4c3f, limb1: 0xe76ec3f87195b032bb2929bf, - limb2: 0x17de52ffc0aa7f58 + limb2: 0x17de52ffc0aa7f58, }, u288 { limb0: 0x5da966dadc1a25632b99de6b, limb1: 0x8e288ff5a3381151e97d8d6e, - limb2: 0x1130fba5f4afed6b + limb2: 0x1130fba5f4afed6b, }, u288 { limb0: 0xc0710457a5dfb76c148f2aa5, limb1: 0xd9889fa33289b0cc48ddad25, - limb2: 0x2a3c68d1d3bd4cbc + limb2: 0x2a3c68d1d3bd4cbc, }, u288 { limb0: 0x8c9b3a8babf46352480a7de, limb1: 0xdba3240679c6c5640d76a0e0, - limb2: 0x1ed26926d2c79d35 + limb2: 0x1ed26926d2c79d35, }, u288 { limb0: 0x1f04f6cec68a478409f14996, limb1: 0xca54514077400a8feda5472e, - limb2: 0x90735afd73a9802 + limb2: 0x90735afd73a9802, }, u288 { limb0: 0x3825aa2864b900e5a7b50446, limb1: 0x19679c497390113aba465c79, - limb2: 0x57a4498a044c057 + limb2: 0x57a4498a044c057, }, u288 { limb0: 0xaf0c438bda26bcc0f3649af1, limb1: 0x3ae9c7da6f98eb243a4eabe1, - limb2: 0x1eaefbc754d2c955 + limb2: 0x1eaefbc754d2c955, }, u288 { limb0: 0x482b18fe80f0be1aab6c6238, limb1: 0xb645b0c13fd39500ff776a30, - limb2: 0x1df08aa0f104a25a + limb2: 0x1df08aa0f104a25a, }, u288 { limb0: 0xb7bba7997ac92ce15e710b96, limb1: 0x8526d8e9fd8921a9c346b3a6, - limb2: 0x8f6674e0b97bc18 + limb2: 0x8f6674e0b97bc18, }, u288 { limb0: 0x929049f5b01e22fd571d1d02, limb1: 0xbdfd6e8d9e23f0b9c1562140, - limb2: 0x271340d2efaf35e9 + limb2: 0x271340d2efaf35e9, }, u288 { limb0: 0x3f00e5d11e407bed5c6e3acd, limb1: 0x1cd20d4d24e6ee8df4ccbe70, - limb2: 0x1f93b6e26feb0406 + limb2: 0x1f93b6e26feb0406, }, u288 { limb0: 0xfe137f1a362950155010b351, limb1: 0xaa2c43ea9f117d50c137a7d9, - limb2: 0xe9e6f28b08c5352 + limb2: 0xe9e6f28b08c5352, }, u288 { limb0: 0x97f86652b8fef573fd0f3c61, limb1: 0x76fe5a531d3f75dbf2a213cf, - limb2: 0x211561c21a15e2b7 + limb2: 0x211561c21a15e2b7, }, u288 { limb0: 0x2b34ccdd16ed066c10b98358, limb1: 0x4fc5ed37069d3e0fe56f394c, - limb2: 0x1e9b53c95213f01a + limb2: 0x1e9b53c95213f01a, }, u288 { limb0: 0x1996ae72a652180c7f66b358, limb1: 0xe57dc1eb4813e2d50eb76136, - limb2: 0x224258c648636219 + limb2: 0x224258c648636219, }, u288 { limb0: 0x6153ca4e88c120ae5a9a2aab, limb1: 0xd735770ed1acfd062c9712e, - limb2: 0xa8d1e806ba95d7 + limb2: 0xa8d1e806ba95d7, }, u288 { limb0: 0xa4293ba081b3c6785f70fae1, limb1: 0xf28475551943b2916689ebce, - limb2: 0x1061aa8e03cd7938 + limb2: 0x1061aa8e03cd7938, }, u288 { limb0: 0x4b75210036f89d4665ed9364, limb1: 0xe68f487e34bf25e74c92ff25, - limb2: 0xc6b9cf69bc2c551 + limb2: 0xc6b9cf69bc2c551, }, u288 { limb0: 0x3b14c634a9c3ef7fcf60cf66, limb1: 0x2fa7a481f375980859180d83, - limb2: 0x3604cb3c1e6996 + limb2: 0x3604cb3c1e6996, }, u288 { limb0: 0xc5fd914415768b48dce5f40c, limb1: 0xd1f9bf65a7cfe9814c486bfe, - limb2: 0x76e92b3e2cd4884 + limb2: 0x76e92b3e2cd4884, }, u288 { limb0: 0x6e8b8a54da08cada4b9fa780, limb1: 0x1fbec4b6ae8915e49b1b4e6b, - limb2: 0x1f70ebdbb4fddcc4 + limb2: 0x1f70ebdbb4fddcc4, }, u288 { limb0: 0x5e2f7b2a2190c3c0fff55baa, limb1: 0xb60af6317d2d44f76d407d05, - limb2: 0x2085925c2400f3c + limb2: 0x2085925c2400f3c, }, u288 { limb0: 0x4f63e859d1ae6c6e038d5fea, limb1: 0x878bed552dd18035d25e73cd, - limb2: 0x8a243177a14b60c + limb2: 0x8a243177a14b60c, }, u288 { limb0: 0x7fa7b8bf7248f72da12310bd, limb1: 0x3483957909dce135dd5ef986, - limb2: 0x176c39ce513cfb0b + limb2: 0x176c39ce513cfb0b, }, u288 { limb0: 0xd4e5b51e3eb4536f486197b0, limb1: 0x80caf2fa80f76aac0748a479, - limb2: 0x282a041fbbecc085 + limb2: 0x282a041fbbecc085, }, u288 { limb0: 0xe0a259333fc6ac4ba8557060, limb1: 0xc1c1dbb6761aef4616e52a6e, - limb2: 0xa349e95691fee05 + limb2: 0xa349e95691fee05, }, u288 { limb0: 0xc206054dca599cce7db7365d, limb1: 0x6f104838356b7c3746bf99d4, - limb2: 0x2e91facc86558c3f + limb2: 0x2e91facc86558c3f, }, u288 { limb0: 0x91004fc104369a89d25d8c26, limb1: 0x14facd247c8f280a46f79e98, - limb2: 0x23cbf11e2af950f3 + limb2: 0x23cbf11e2af950f3, }, u288 { limb0: 0x479e1d9134d34df3d502fdd8, limb1: 0x3d3c720c39d18b8b4a60a1cb, - limb2: 0x2b053298f284b79b + limb2: 0x2b053298f284b79b, }, u288 { limb0: 0xf9622766582e252dfa3300d4, limb1: 0x3818faae94bd04853cac4207, - limb2: 0xe9be8d76dba0da6 + limb2: 0xe9be8d76dba0da6, }, u288 { limb0: 0x973d6d222af6c265cd1d860a, limb1: 0xe618c5255aabe32fd1df3a68, - limb2: 0x1b81e08e19fee26f + limb2: 0x1b81e08e19fee26f, }, u288 { limb0: 0x13822e39419e1ca0b6bdb416, limb1: 0x360507a325e19f326d9eb8f6, - limb2: 0x28c2bfb913002123 + limb2: 0x28c2bfb913002123, }, u288 { limb0: 0xfd16ceb8f013368ebddcc694, limb1: 0xf1929058b1e6bb7bc67dc864, - limb2: 0xd7661e39102d33b + limb2: 0xd7661e39102d33b, }, u288 { limb0: 0x3612b108164a4552070f7e5a, limb1: 0x2e3609e470ca0987bd956b17, - limb2: 0x2ccc2eca0f0dfe49 + limb2: 0x2ccc2eca0f0dfe49, }, u288 { limb0: 0xc875326cda1e8fd21da9615, limb1: 0x9f66068176a81497167eb987, - limb2: 0x1f7394d2904f11cf + limb2: 0x1f7394d2904f11cf, }, u288 { limb0: 0x69877a7629e8eb6f0df115d, limb1: 0x36172d986bb37cbf9a2d075a, - limb2: 0x175398a914994c2 + limb2: 0x175398a914994c2, }, u288 { limb0: 0x85708dcd364bf9b08019481, limb1: 0x3ebdde5d0ec8d7c970e45456, - limb2: 0x27444427c540c51f + limb2: 0x27444427c540c51f, }, u288 { limb0: 0x2f56b0d371fa70ca2fce4262, limb1: 0x2180ce71f33f5f3f7205ab6f, - limb2: 0x1f27aa9a95c6946a + limb2: 0x1f27aa9a95c6946a, }, u288 { limb0: 0x3954013a43cfc40b1016b96f, limb1: 0x7f0d3ed3585cc4214f306586, - limb2: 0x75e7c268f093cca + limb2: 0x75e7c268f093cca, }, u288 { limb0: 0x7a720f1514605a33205501c0, limb1: 0xe3d84f0e081e6ef514ec59e7, - limb2: 0x1f99f2e3b0a8a1e4 + limb2: 0x1f99f2e3b0a8a1e4, }, u288 { limb0: 0x33ed3bbd9fb0082742e7bb, limb1: 0x775026cbe49bf656d773fce9, - limb2: 0x14d8a470e1427fd4 + limb2: 0x14d8a470e1427fd4, }, u288 { limb0: 0x4ded0727f47936a47255a255, limb1: 0x27001e7ee4c96b9ead74cd0e, - limb2: 0x1e9b2b2b0a741e12 + limb2: 0x1e9b2b2b0a741e12, }, u288 { limb0: 0x10df2aacf278f65392b703ba, limb1: 0x805effc7556dcb71e9952f58, - limb2: 0xb19cff4a4d0f4ee + limb2: 0xb19cff4a4d0f4ee, }, u288 { limb0: 0x3f207b8e5bc078b042180f67, limb1: 0x814c653a1d08ecb3e6065305, - limb2: 0x11da4c1def9b80 + limb2: 0x11da4c1def9b80, }, u288 { limb0: 0xe104f66e7756e8200655fb65, limb1: 0x1d4d8bc3baa910c975d8c817, - limb2: 0x37f3afd1a3828ef + limb2: 0x37f3afd1a3828ef, }, u288 { limb0: 0x918596d2bb250627d3e880ff, limb1: 0x5ac25c68696504208b7c70, - limb2: 0x406131d01640fb8 + limb2: 0x406131d01640fb8, }, u288 { limb0: 0x9efdc2816f117e0b8d847cfa, limb1: 0xa17463269f89987f0dac6e7a, - limb2: 0x284412f8a4a278b4 + limb2: 0x284412f8a4a278b4, }, u288 { limb0: 0xa232d7a575617f61ff3a5fc8, limb1: 0x53334859baf44bad232d44d4, - limb2: 0x7ca49b7ea7e3242 + limb2: 0x7ca49b7ea7e3242, }, u288 { limb0: 0x1b3ae30a930b48e38d849ad1, limb1: 0x3d5e424024cdcdf61346f1ba, - limb2: 0x26a4efa8c150db3b + limb2: 0x26a4efa8c150db3b, }, u288 { limb0: 0x89cae907e28f5a70809a351, limb1: 0x16328bcb13c59828dc5d467c, - limb2: 0x190ba400f525f1a9 - } + limb2: 0x190ba400f525f1a9, + }, ], }; let res = multi_pairing_check_bn254_2P_2F(pair0, pair1, lines, hint); @@ -6970,41 +6970,41 @@ mod pairing_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, q: G2Point { x0: u384 { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, }; let pair1: G1G2Pair = G1G2Pair { p: G1Point { @@ -7012,41 +7012,41 @@ mod pairing_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, q: G2Point { x0: u384 { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, }; let pair2: G1G2Pair = G1G2Pair { p: G1Point { @@ -7054,3976 +7054,3976 @@ mod pairing_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }, q: G2Point { x0: u384 { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, }; let precomputed_miller_loop_result = E12D { w0: u288 { limb0: 0xfaccb300f066ee143625434e, limb1: 0x12bfc53caae870d85457c4bc, - limb2: 0x590ff61397d0dd2 + limb2: 0x590ff61397d0dd2, }, w1: u288 { limb0: 0x3d74a2131fff08abcc77f5ff, limb1: 0xcc055f39a02506234d00e8eb, - limb2: 0xf706ef44c1d0af1 + limb2: 0xf706ef44c1d0af1, }, w2: u288 { limb0: 0x4605464626791e8c2d23914a, limb1: 0x7da5ae6eba3609b9a258aeb5, - limb2: 0x22a5875254921ffd + limb2: 0x22a5875254921ffd, }, w3: u288 { limb0: 0xa36080e7d54da24b20b89bf4, limb1: 0x701510a38855b7b7bbcf7e5b, - limb2: 0xae461e60176f9fc + limb2: 0xae461e60176f9fc, }, w4: u288 { limb0: 0x310a2f82381041f00ab0a97b, limb1: 0x4ec0223c3dc06216c285cccb, - limb2: 0xaae21f01619c3fa + limb2: 0xaae21f01619c3fa, }, w5: u288 { limb0: 0xa206b95ba090599b7a5e8c2e, limb1: 0xac945c0f61fb2673fb43b2aa, - limb2: 0xe203da0f9a03b1a + limb2: 0xe203da0f9a03b1a, }, w6: u288 { limb0: 0x280fda652c0775ee0202237c, limb1: 0x4ad4e2c546956c34ec381b30, - limb2: 0x1e2de9ed7968cac1 + limb2: 0x1e2de9ed7968cac1, }, w7: u288 { limb0: 0xdff110a40e2837285a53cdc9, limb1: 0x303a0db8cbb989aa911eec40, - limb2: 0xf3b13b4d08af03 + limb2: 0xf3b13b4d08af03, }, w8: u288 { limb0: 0x622927b875c780e6f64e6abe, limb1: 0xc79a5ba5d705c69b59a88b64, - limb2: 0x242bd1109f659686 + limb2: 0x242bd1109f659686, }, w9: u288 { limb0: 0x47a207ed1fe3501ee8a66a12, limb1: 0x92d2dc829a2f34f4ee684f04, - limb2: 0x1f626f25b03417e4 + limb2: 0x1f626f25b03417e4, }, w10: u288 { limb0: 0x9cf6ea1c727f2d3d16f4095b, limb1: 0xdca506524d7f4aeb8f093970, - limb2: 0x234cc399b032b927 + limb2: 0x234cc399b032b927, }, w11: u288 { limb0: 0xc04208d92713b2b39e39f93, limb1: 0x339c2266bcf3504782285acc, - limb2: 0x8dd178fb6d5acd8 - } + limb2: 0x8dd178fb6d5acd8, + }, }; let lines = array![ G2Line { r0a0: u288 { limb0: 0x13fc2cd2d19c89caf55a13a8, limb1: 0x6a3f58c82d87f618a84e2bf0, - limb2: 0x18b4a261a618f14c + limb2: 0x18b4a261a618f14c, }, r0a1: u288 { limb0: 0xa12d7217806e8da77076b27c, limb1: 0x868641e2c5440aefc45ec097, - limb2: 0x21a23fb8ecb967b4 + limb2: 0x21a23fb8ecb967b4, }, r1a0: u288 { limb0: 0x9c39813fffc4c7b20cc17a76, limb1: 0xf4a2427d51f32abb183e2860, - limb2: 0x2687525f35660d8f + limb2: 0x2687525f35660d8f, }, r1a1: u288 { limb0: 0xc039aad6d5de6af4f5c6c0bb, limb1: 0x3750d73ecbf7e1bca03d1cf2, - limb2: 0xecbbbebf08974c8 - } + limb2: 0xecbbbebf08974c8, + }, }, G2Line { r0a0: u288 { limb0: 0x13fc2cd2d19c89caf55a13a8, limb1: 0x6a3f58c82d87f618a84e2bf0, - limb2: 0x18b4a261a618f14c + limb2: 0x18b4a261a618f14c, }, r0a1: u288 { limb0: 0xa12d7217806e8da77076b27c, limb1: 0x868641e2c5440aefc45ec097, - limb2: 0x21a23fb8ecb967b4 + limb2: 0x21a23fb8ecb967b4, }, r1a0: u288 { limb0: 0x9c39813fffc4c7b20cc17a76, limb1: 0xf4a2427d51f32abb183e2860, - limb2: 0x2687525f35660d8f + limb2: 0x2687525f35660d8f, }, r1a1: u288 { limb0: 0xc039aad6d5de6af4f5c6c0bb, limb1: 0x3750d73ecbf7e1bca03d1cf2, - limb2: 0xecbbbebf08974c8 - } + limb2: 0xecbbbebf08974c8, + }, }, G2Line { r0a0: u288 { limb0: 0x54759dba6a84024be322e99f, limb1: 0x4e10ecee53f96244ef333ea1, - limb2: 0x17afac113b18aedd + limb2: 0x17afac113b18aedd, }, r0a1: u288 { limb0: 0xc7445875bbb1fe6f68064acb, limb1: 0x31ca03d3bc3d4d6dd322a9f9, - limb2: 0xec20eb9f4783875 + limb2: 0xec20eb9f4783875, }, r1a0: u288 { limb0: 0xcc38494d3c5bc464cbbb82d1, limb1: 0xc3ae03392f8e2da27f434230, - limb2: 0x9dcfc13abcb9299 + limb2: 0x9dcfc13abcb9299, }, r1a1: u288 { limb0: 0xa8381fb666422121e2b63c8c, limb1: 0x80ff6e77b58976a0f7444d9e, - limb2: 0x21989286f0a82b61 - } + limb2: 0x21989286f0a82b61, + }, }, G2Line { r0a0: u288 { limb0: 0x52cd2431a88ef78ec482ce43, limb1: 0xdb994b0266c17f5e8dded89e, - limb2: 0x107cd7f4d3a5c20f + limb2: 0x107cd7f4d3a5c20f, }, r0a1: u288 { limb0: 0xb4e4c1a20d77277f1ecef6b, limb1: 0x3fc13dd5746446d4e724e645, - limb2: 0x18ed3b584ac56dfe + limb2: 0x18ed3b584ac56dfe, }, r1a0: u288 { limb0: 0x3a537f5b220d3afddbd3be9d, limb1: 0xeddb087729b8776323c5b8ee, - limb2: 0x1f5e5f61ae8c59e6 + limb2: 0x1f5e5f61ae8c59e6, }, r1a1: u288 { limb0: 0x4fe2c98dc347d3ceb841acdf, limb1: 0xe6a7f4bdda3390e40c62a288, - limb2: 0x2a277c878fe85394 - } + limb2: 0x2a277c878fe85394, + }, }, G2Line { r0a0: u288 { limb0: 0x54759dba6a84024be322e99f, limb1: 0x4e10ecee53f96244ef333ea1, - limb2: 0x17afac113b18aedd + limb2: 0x17afac113b18aedd, }, r0a1: u288 { limb0: 0xc7445875bbb1fe6f68064acb, limb1: 0x31ca03d3bc3d4d6dd322a9f9, - limb2: 0xec20eb9f4783875 + limb2: 0xec20eb9f4783875, }, r1a0: u288 { limb0: 0xcc38494d3c5bc464cbbb82d1, limb1: 0xc3ae03392f8e2da27f434230, - limb2: 0x9dcfc13abcb9299 + limb2: 0x9dcfc13abcb9299, }, r1a1: u288 { limb0: 0xa8381fb666422121e2b63c8c, limb1: 0x80ff6e77b58976a0f7444d9e, - limb2: 0x21989286f0a82b61 - } + limb2: 0x21989286f0a82b61, + }, }, G2Line { r0a0: u288 { limb0: 0x52cd2431a88ef78ec482ce43, limb1: 0xdb994b0266c17f5e8dded89e, - limb2: 0x107cd7f4d3a5c20f + limb2: 0x107cd7f4d3a5c20f, }, r0a1: u288 { limb0: 0xb4e4c1a20d77277f1ecef6b, limb1: 0x3fc13dd5746446d4e724e645, - limb2: 0x18ed3b584ac56dfe + limb2: 0x18ed3b584ac56dfe, }, r1a0: u288 { limb0: 0x3a537f5b220d3afddbd3be9d, limb1: 0xeddb087729b8776323c5b8ee, - limb2: 0x1f5e5f61ae8c59e6 + limb2: 0x1f5e5f61ae8c59e6, }, r1a1: u288 { limb0: 0x4fe2c98dc347d3ceb841acdf, limb1: 0xe6a7f4bdda3390e40c62a288, - limb2: 0x2a277c878fe85394 - } + limb2: 0x2a277c878fe85394, + }, }, G2Line { r0a0: u288 { limb0: 0x53e743cfae97f5f975cf49cd, limb1: 0x4a80ced31104872cc46b3fa6, - limb2: 0x26af32e1e4b51233 + limb2: 0x26af32e1e4b51233, }, r0a1: u288 { limb0: 0x20537276ce9b6d318ea2f567, limb1: 0xf0d44c7024c00ead73f13f53, - limb2: 0x13e665e776128b92 + limb2: 0x13e665e776128b92, }, r1a0: u288 { limb0: 0xad9a173a5d331f5e8221dedc, limb1: 0x11fc759697a8b7533cf8e7fd, - limb2: 0x281514af188294d6 + limb2: 0x281514af188294d6, }, r1a1: u288 { limb0: 0xcd59e5219230c0937878feff, limb1: 0x85d1c954acb2bf4803a9e200, - limb2: 0x4229bcd8d07f251 - } + limb2: 0x4229bcd8d07f251, + }, }, G2Line { r0a0: u288 { limb0: 0x53e743cfae97f5f975cf49cd, limb1: 0x4a80ced31104872cc46b3fa6, - limb2: 0x26af32e1e4b51233 + limb2: 0x26af32e1e4b51233, }, r0a1: u288 { limb0: 0x20537276ce9b6d318ea2f567, limb1: 0xf0d44c7024c00ead73f13f53, - limb2: 0x13e665e776128b92 + limb2: 0x13e665e776128b92, }, r1a0: u288 { limb0: 0xad9a173a5d331f5e8221dedc, limb1: 0x11fc759697a8b7533cf8e7fd, - limb2: 0x281514af188294d6 + limb2: 0x281514af188294d6, }, r1a1: u288 { limb0: 0xcd59e5219230c0937878feff, limb1: 0x85d1c954acb2bf4803a9e200, - limb2: 0x4229bcd8d07f251 - } + limb2: 0x4229bcd8d07f251, + }, }, G2Line { r0a0: u288 { limb0: 0xa4e9586d1e24c4e20dafd647, limb1: 0x7f88fb247cdc95b6010d9e1, - limb2: 0x2fc2b7b6b4abaf58 + limb2: 0x2fc2b7b6b4abaf58, }, r0a1: u288 { limb0: 0x9bbcc4481ffe859db49e1d98, limb1: 0x13be783da3c9bea06995338d, - limb2: 0x2041db55312bcc8b + limb2: 0x2041db55312bcc8b, }, r1a0: u288 { limb0: 0x89721c899fdfd2776e1d4131, limb1: 0x602e0c14a55d62b055ca8113, - limb2: 0x1fbed06b550ce696 + limb2: 0x1fbed06b550ce696, }, r1a1: u288 { limb0: 0xfff5deaaf0a2cf3cca44de5c, limb1: 0xd5efcfc87d7bc3cc0d3d9be1, - limb2: 0x18106453c47c63f5 - } + limb2: 0x18106453c47c63f5, + }, }, G2Line { r0a0: u288 { limb0: 0x33720aad04d475cab632ceb4, limb1: 0xd7b4eef636fd40d7ad28aaf7, - limb2: 0x25e952c734deb4a7 + limb2: 0x25e952c734deb4a7, }, r0a1: u288 { limb0: 0x8c407e44689ce2ec6ea22bb3, limb1: 0x10ab4ebbd57974771a9bfe37, - limb2: 0xc2d6b95efdcdb61 + limb2: 0xc2d6b95efdcdb61, }, r1a0: u288 { limb0: 0xb03dd6a767461c482dcafa86, limb1: 0xbbde25f51257025e9a28974, - limb2: 0x278e5fd00fb1b935 + limb2: 0x278e5fd00fb1b935, }, r1a1: u288 { limb0: 0x7bbd2c1bbf42867093a08f41, limb1: 0xcc4d5b03ab2a82a219b80b43, - limb2: 0x2105554776d3cf89 - } + limb2: 0x2105554776d3cf89, + }, }, G2Line { r0a0: u288 { limb0: 0xa4e9586d1e24c4e20dafd647, limb1: 0x7f88fb247cdc95b6010d9e1, - limb2: 0x2fc2b7b6b4abaf58 + limb2: 0x2fc2b7b6b4abaf58, }, r0a1: u288 { limb0: 0x9bbcc4481ffe859db49e1d98, limb1: 0x13be783da3c9bea06995338d, - limb2: 0x2041db55312bcc8b + limb2: 0x2041db55312bcc8b, }, r1a0: u288 { limb0: 0x89721c899fdfd2776e1d4131, limb1: 0x602e0c14a55d62b055ca8113, - limb2: 0x1fbed06b550ce696 + limb2: 0x1fbed06b550ce696, }, r1a1: u288 { limb0: 0xfff5deaaf0a2cf3cca44de5c, limb1: 0xd5efcfc87d7bc3cc0d3d9be1, - limb2: 0x18106453c47c63f5 - } + limb2: 0x18106453c47c63f5, + }, }, G2Line { r0a0: u288 { limb0: 0x33720aad04d475cab632ceb4, limb1: 0xd7b4eef636fd40d7ad28aaf7, - limb2: 0x25e952c734deb4a7 + limb2: 0x25e952c734deb4a7, }, r0a1: u288 { limb0: 0x8c407e44689ce2ec6ea22bb3, limb1: 0x10ab4ebbd57974771a9bfe37, - limb2: 0xc2d6b95efdcdb61 + limb2: 0xc2d6b95efdcdb61, }, r1a0: u288 { limb0: 0xb03dd6a767461c482dcafa86, limb1: 0xbbde25f51257025e9a28974, - limb2: 0x278e5fd00fb1b935 + limb2: 0x278e5fd00fb1b935, }, r1a1: u288 { limb0: 0x7bbd2c1bbf42867093a08f41, limb1: 0xcc4d5b03ab2a82a219b80b43, - limb2: 0x2105554776d3cf89 - } + limb2: 0x2105554776d3cf89, + }, }, G2Line { r0a0: u288 { limb0: 0x32e40fb4d2025cd0e82ced6f, limb1: 0xbc0608261a5f898f868a08d8, - limb2: 0x282ba090b78fca30 + limb2: 0x282ba090b78fca30, }, r0a1: u288 { limb0: 0xdfe55dec41a63986c6aceff7, limb1: 0x2555dd47b4f4cd057f63d51, - limb2: 0xf5a1242bc10ee1f + limb2: 0xf5a1242bc10ee1f, }, r1a0: u288 { limb0: 0x590c3a14f70d93710ad8d62d, limb1: 0x91b6b9b5a53eb9825ebe4230, - limb2: 0x2f3c78d5b1a40d44 + limb2: 0x2f3c78d5b1a40d44, }, r1a1: u288 { limb0: 0x7fa2feee5a3d934393f3dcdb, limb1: 0x216af82d8ef724bef3a0cff9, - limb2: 0x2a3b1b41079d39de - } + limb2: 0x2a3b1b41079d39de, + }, }, G2Line { r0a0: u288 { limb0: 0x32e40fb4d2025cd0e82ced6f, limb1: 0xbc0608261a5f898f868a08d8, - limb2: 0x282ba090b78fca30 + limb2: 0x282ba090b78fca30, }, r0a1: u288 { limb0: 0xdfe55dec41a63986c6aceff7, limb1: 0x2555dd47b4f4cd057f63d51, - limb2: 0xf5a1242bc10ee1f + limb2: 0xf5a1242bc10ee1f, }, r1a0: u288 { limb0: 0x590c3a14f70d93710ad8d62d, limb1: 0x91b6b9b5a53eb9825ebe4230, - limb2: 0x2f3c78d5b1a40d44 + limb2: 0x2f3c78d5b1a40d44, }, r1a1: u288 { limb0: 0x7fa2feee5a3d934393f3dcdb, limb1: 0x216af82d8ef724bef3a0cff9, - limb2: 0x2a3b1b41079d39de - } + limb2: 0x2a3b1b41079d39de, + }, }, G2Line { r0a0: u288 { limb0: 0x70f807c9bd9cc653569a88c0, limb1: 0xd3bd9e80a4c0879b8c54502f, - limb2: 0x78f06a79ebcc122 + limb2: 0x78f06a79ebcc122, }, r0a1: u288 { limb0: 0x1f4b6ad4455ba03d167d7fb3, limb1: 0xd11276f3c684ac26d1a62390, - limb2: 0x2e376293ba7c79b7 + limb2: 0x2e376293ba7c79b7, }, r1a0: u288 { limb0: 0xe7a2888c80e82ed69b2c357d, limb1: 0xa5057b1db97b9c3edd232a43, - limb2: 0x1eed211bc2e66931 + limb2: 0x1eed211bc2e66931, }, r1a1: u288 { limb0: 0xaca29d5ef46c59744a30d2e, limb1: 0xfeb93f366d5295ce80bf592, - limb2: 0x697b2aa97f68681 - } + limb2: 0x697b2aa97f68681, + }, }, G2Line { r0a0: u288 { limb0: 0x70f807c9bd9cc653569a88c0, limb1: 0xd3bd9e80a4c0879b8c54502f, - limb2: 0x78f06a79ebcc122 + limb2: 0x78f06a79ebcc122, }, r0a1: u288 { limb0: 0x1f4b6ad4455ba03d167d7fb3, limb1: 0xd11276f3c684ac26d1a62390, - limb2: 0x2e376293ba7c79b7 + limb2: 0x2e376293ba7c79b7, }, r1a0: u288 { limb0: 0xe7a2888c80e82ed69b2c357d, limb1: 0xa5057b1db97b9c3edd232a43, - limb2: 0x1eed211bc2e66931 + limb2: 0x1eed211bc2e66931, }, r1a1: u288 { limb0: 0xaca29d5ef46c59744a30d2e, limb1: 0xfeb93f366d5295ce80bf592, - limb2: 0x697b2aa97f68681 - } + limb2: 0x697b2aa97f68681, + }, }, G2Line { r0a0: u288 { limb0: 0x21c98846074d27fd948bf071, limb1: 0x2677e986de7a6bb799458f9, - limb2: 0xbfae24b95db3021 + limb2: 0xbfae24b95db3021, }, r0a1: u288 { limb0: 0x241a18abd825d1d53b4b1cd1, limb1: 0x1153ff7044093f39311453e, - limb2: 0x7ef5b22d955cb08 + limb2: 0x7ef5b22d955cb08, }, r1a0: u288 { limb0: 0xfde2d3f182c7404c916ddaee, limb1: 0x51059992e83a57e0357b63f3, - limb2: 0x5de94c1a6dce11c + limb2: 0x5de94c1a6dce11c, }, r1a1: u288 { limb0: 0xa897c205d1548b407d3c7597, limb1: 0x3e8437329ebf4e2f1fe3b370, - limb2: 0x1e321d523b1a40f8 - } + limb2: 0x1e321d523b1a40f8, + }, }, G2Line { r0a0: u288 { limb0: 0x21c98846074d27fd948bf071, limb1: 0x2677e986de7a6bb799458f9, - limb2: 0xbfae24b95db3021 + limb2: 0xbfae24b95db3021, }, r0a1: u288 { limb0: 0x241a18abd825d1d53b4b1cd1, limb1: 0x1153ff7044093f39311453e, - limb2: 0x7ef5b22d955cb08 + limb2: 0x7ef5b22d955cb08, }, r1a0: u288 { limb0: 0xfde2d3f182c7404c916ddaee, limb1: 0x51059992e83a57e0357b63f3, - limb2: 0x5de94c1a6dce11c + limb2: 0x5de94c1a6dce11c, }, r1a1: u288 { limb0: 0xa897c205d1548b407d3c7597, limb1: 0x3e8437329ebf4e2f1fe3b370, - limb2: 0x1e321d523b1a40f8 - } + limb2: 0x1e321d523b1a40f8, + }, }, G2Line { r0a0: u288 { limb0: 0x3b7c7dfdc0377c6e77a69a78, limb1: 0x56046802d2acc2048f6473b0, - limb2: 0x1e538130528f2037 + limb2: 0x1e538130528f2037, }, r0a1: u288 { limb0: 0xf8d9c38bafe394d496ec036b, limb1: 0xa7178b19843c74a1c9ffdec9, - limb2: 0x754d38a41b241f5 + limb2: 0x754d38a41b241f5, }, r1a0: u288 { limb0: 0x5399cd6b03cd5dd0e202dc18, limb1: 0x27132b0286f70ab0f9d3f154, - limb2: 0x209e0408c047ebf6 + limb2: 0x209e0408c047ebf6, }, r1a1: u288 { limb0: 0xa73bf15125290077d6d0d018, limb1: 0xe07ebcc1ab67f9cf97be2e80, - limb2: 0x217014f56f93c3a2 - } + limb2: 0x217014f56f93c3a2, + }, }, G2Line { r0a0: u288 { limb0: 0xb565c9168c2f34f5d1a48833, limb1: 0x9f2143f7ae3a47cffb1e8fda, - limb2: 0xaebc823dc1fcd02 + limb2: 0xaebc823dc1fcd02, }, r0a1: u288 { limb0: 0x59b0e8a0118c2f5ec29f117b, limb1: 0xd1d302931406f12c6271f149, - limb2: 0x18a65ecc25e7a0e3 + limb2: 0x18a65ecc25e7a0e3, }, r1a0: u288 { limb0: 0xcf4c8bcea64951980f866870, limb1: 0xd708dcd6450bd5f68bed09a3, - limb2: 0xb3c0fa83c8b5f48 + limb2: 0xb3c0fa83c8b5f48, }, r1a1: u288 { limb0: 0xc45fac32b4b9fb37bdaea5f3, limb1: 0xc46068320849da30be837df5, - limb2: 0x2c6ea62118c44345 - } + limb2: 0x2c6ea62118c44345, + }, }, G2Line { r0a0: u288 { limb0: 0x3b7c7dfdc0377c6e77a69a78, limb1: 0x56046802d2acc2048f6473b0, - limb2: 0x1e538130528f2037 + limb2: 0x1e538130528f2037, }, r0a1: u288 { limb0: 0xf8d9c38bafe394d496ec036b, limb1: 0xa7178b19843c74a1c9ffdec9, - limb2: 0x754d38a41b241f5 + limb2: 0x754d38a41b241f5, }, r1a0: u288 { limb0: 0x5399cd6b03cd5dd0e202dc18, limb1: 0x27132b0286f70ab0f9d3f154, - limb2: 0x209e0408c047ebf6 + limb2: 0x209e0408c047ebf6, }, r1a1: u288 { limb0: 0xa73bf15125290077d6d0d018, limb1: 0xe07ebcc1ab67f9cf97be2e80, - limb2: 0x217014f56f93c3a2 - } + limb2: 0x217014f56f93c3a2, + }, }, G2Line { r0a0: u288 { limb0: 0xb565c9168c2f34f5d1a48833, limb1: 0x9f2143f7ae3a47cffb1e8fda, - limb2: 0xaebc823dc1fcd02 + limb2: 0xaebc823dc1fcd02, }, r0a1: u288 { limb0: 0x59b0e8a0118c2f5ec29f117b, limb1: 0xd1d302931406f12c6271f149, - limb2: 0x18a65ecc25e7a0e3 + limb2: 0x18a65ecc25e7a0e3, }, r1a0: u288 { limb0: 0xcf4c8bcea64951980f866870, limb1: 0xd708dcd6450bd5f68bed09a3, - limb2: 0xb3c0fa83c8b5f48 + limb2: 0xb3c0fa83c8b5f48, }, r1a1: u288 { limb0: 0xc45fac32b4b9fb37bdaea5f3, limb1: 0xc46068320849da30be837df5, - limb2: 0x2c6ea62118c44345 - } + limb2: 0x2c6ea62118c44345, + }, }, G2Line { r0a0: u288 { limb0: 0x9611d44432206361cd7f3473, limb1: 0xd34ce79c946302bdbf8f72de, - limb2: 0x1fd5b330038873b0 + limb2: 0x1fd5b330038873b0, }, r0a1: u288 { limb0: 0x71a17fc89e530dda653c4220, limb1: 0x37852a7f67a5fa74c6613c00, - limb2: 0x1e11dde6c5c9261d + limb2: 0x1e11dde6c5c9261d, }, r1a0: u288 { limb0: 0xf8f9c22149b11566f643511e, limb1: 0xeafd5e990baff3df753b4545, - limb2: 0x2e3219be0c5ae36a + limb2: 0x2e3219be0c5ae36a, }, r1a1: u288 { limb0: 0x8e2193129c343cb3a4db1f47, limb1: 0xf56af697b4d714d190d603dd, - limb2: 0x2d3349ba9a465783 - } + limb2: 0x2d3349ba9a465783, + }, }, G2Line { r0a0: u288 { limb0: 0x9611d44432206361cd7f3473, limb1: 0xd34ce79c946302bdbf8f72de, - limb2: 0x1fd5b330038873b0 + limb2: 0x1fd5b330038873b0, }, r0a1: u288 { limb0: 0x71a17fc89e530dda653c4220, limb1: 0x37852a7f67a5fa74c6613c00, - limb2: 0x1e11dde6c5c9261d + limb2: 0x1e11dde6c5c9261d, }, r1a0: u288 { limb0: 0xf8f9c22149b11566f643511e, limb1: 0xeafd5e990baff3df753b4545, - limb2: 0x2e3219be0c5ae36a + limb2: 0x2e3219be0c5ae36a, }, r1a1: u288 { limb0: 0x8e2193129c343cb3a4db1f47, limb1: 0xf56af697b4d714d190d603dd, - limb2: 0x2d3349ba9a465783 - } + limb2: 0x2d3349ba9a465783, + }, }, G2Line { r0a0: u288 { limb0: 0x196665c03009ef576fd6961, limb1: 0x2719b6e1af31847d795deb9e, - limb2: 0x155d054c2097ab50 + limb2: 0x155d054c2097ab50, }, r0a1: u288 { limb0: 0x4e6b687ca0dfecf549daeef5, limb1: 0xb4e4f54e1d35a5cd994c6054, - limb2: 0x11c8b740bfbe502 + limb2: 0x11c8b740bfbe502, }, r1a0: u288 { limb0: 0xbc9857a840b86d1d7ffb6b9d, limb1: 0x3315341c9d5a9ff2955435b2, - limb2: 0x30447649e2f50c77 + limb2: 0x30447649e2f50c77, }, r1a1: u288 { limb0: 0x9a187f6cc5ad3146f48c70be, limb1: 0x9809e5f4637c60447e7cfdef, - limb2: 0x667330690960cd - } + limb2: 0x667330690960cd, + }, }, G2Line { r0a0: u288 { limb0: 0x215d0ebb801c8a2c8b0ef9e1, limb1: 0x89edb45dc7e6f74cc7304d78, - limb2: 0x2edb9f6a4282ba3f + limb2: 0x2edb9f6a4282ba3f, }, r0a1: u288 { limb0: 0x78cef612dbc9013e22395718, limb1: 0x68c8984791d65522cdabe9da, - limb2: 0x5cd4d2fb36b3baf + limb2: 0x5cd4d2fb36b3baf, }, r1a0: u288 { limb0: 0x28728de61873d65855d29e69, limb1: 0x74abfdede8c4f6d81e7da1bd, - limb2: 0x199f58d62645184b + limb2: 0x199f58d62645184b, }, r1a1: u288 { limb0: 0xaff5645c427c1f808f890796, limb1: 0x6040d76177456d9ec3d7dd19, - limb2: 0xdead02313d94e2c - } + limb2: 0xdead02313d94e2c, + }, }, G2Line { r0a0: u288 { limb0: 0x196665c03009ef576fd6961, limb1: 0x2719b6e1af31847d795deb9e, - limb2: 0x155d054c2097ab50 + limb2: 0x155d054c2097ab50, }, r0a1: u288 { limb0: 0x4e6b687ca0dfecf549daeef5, limb1: 0xb4e4f54e1d35a5cd994c6054, - limb2: 0x11c8b740bfbe502 + limb2: 0x11c8b740bfbe502, }, r1a0: u288 { limb0: 0xbc9857a840b86d1d7ffb6b9d, limb1: 0x3315341c9d5a9ff2955435b2, - limb2: 0x30447649e2f50c77 + limb2: 0x30447649e2f50c77, }, r1a1: u288 { limb0: 0x9a187f6cc5ad3146f48c70be, limb1: 0x9809e5f4637c60447e7cfdef, - limb2: 0x667330690960cd - } + limb2: 0x667330690960cd, + }, }, G2Line { r0a0: u288 { limb0: 0x215d0ebb801c8a2c8b0ef9e1, limb1: 0x89edb45dc7e6f74cc7304d78, - limb2: 0x2edb9f6a4282ba3f + limb2: 0x2edb9f6a4282ba3f, }, r0a1: u288 { limb0: 0x78cef612dbc9013e22395718, limb1: 0x68c8984791d65522cdabe9da, - limb2: 0x5cd4d2fb36b3baf + limb2: 0x5cd4d2fb36b3baf, }, r1a0: u288 { limb0: 0x28728de61873d65855d29e69, limb1: 0x74abfdede8c4f6d81e7da1bd, - limb2: 0x199f58d62645184b + limb2: 0x199f58d62645184b, }, r1a1: u288 { limb0: 0xaff5645c427c1f808f890796, limb1: 0x6040d76177456d9ec3d7dd19, - limb2: 0xdead02313d94e2c - } + limb2: 0xdead02313d94e2c, + }, }, G2Line { r0a0: u288 { limb0: 0x7e32624925ec3a6751ef2472, limb1: 0x454a7f1340778a7b5e1fe904, - limb2: 0x20906f33c00c8d33 + limb2: 0x20906f33c00c8d33, }, r0a1: u288 { limb0: 0x11710c1c383a8014976022cf, limb1: 0x62f932c9ffa1da884f9fceaa, - limb2: 0xb62b0be184f4494 + limb2: 0xb62b0be184f4494, }, r1a0: u288 { limb0: 0xebd3310b943ec2f49ece0892, limb1: 0x6a06d1930900d0bbc6221220, - limb2: 0x116715e97fb69aaa + limb2: 0x116715e97fb69aaa, }, r1a1: u288 { limb0: 0x1cc4a1667629f976c64db1fd, limb1: 0x965c2705725d60a7cc1550d2, - limb2: 0x10a0fbe4d0a5883d - } + limb2: 0x10a0fbe4d0a5883d, + }, }, G2Line { r0a0: u288 { limb0: 0x7e32624925ec3a6751ef2472, limb1: 0x454a7f1340778a7b5e1fe904, - limb2: 0x20906f33c00c8d33 + limb2: 0x20906f33c00c8d33, }, r0a1: u288 { limb0: 0x11710c1c383a8014976022cf, limb1: 0x62f932c9ffa1da884f9fceaa, - limb2: 0xb62b0be184f4494 + limb2: 0xb62b0be184f4494, }, r1a0: u288 { limb0: 0xebd3310b943ec2f49ece0892, limb1: 0x6a06d1930900d0bbc6221220, - limb2: 0x116715e97fb69aaa + limb2: 0x116715e97fb69aaa, }, r1a1: u288 { limb0: 0x1cc4a1667629f976c64db1fd, limb1: 0x965c2705725d60a7cc1550d2, - limb2: 0x10a0fbe4d0a5883d - } + limb2: 0x10a0fbe4d0a5883d, + }, }, G2Line { r0a0: u288 { limb0: 0xf29c8da48273fcc3ed42600f, limb1: 0xc9085080314ee52208dbeaa3, - limb2: 0x1c97df69a5dee342 + limb2: 0x1c97df69a5dee342, }, r0a1: u288 { limb0: 0xe90ffc7dc1134df60473a9b0, limb1: 0x1785bba891bbf8bf4d028c93, - limb2: 0x2c73ffd5720b59fe + limb2: 0x2c73ffd5720b59fe, }, r1a0: u288 { limb0: 0xaa4625384e00cc7a1d26f59c, limb1: 0x7e2bd7ea82f7679164b9a298, - limb2: 0x1ceb19ac1c28c731 + limb2: 0x1ceb19ac1c28c731, }, r1a1: u288 { limb0: 0x8570cac2138c94f9d261d52, limb1: 0x4750472206e83d3ee38e9950, - limb2: 0x159e78c2f8fb9e87 - } + limb2: 0x159e78c2f8fb9e87, + }, }, G2Line { r0a0: u288 { limb0: 0xf29c8da48273fcc3ed42600f, limb1: 0xc9085080314ee52208dbeaa3, - limb2: 0x1c97df69a5dee342 + limb2: 0x1c97df69a5dee342, }, r0a1: u288 { limb0: 0xe90ffc7dc1134df60473a9b0, limb1: 0x1785bba891bbf8bf4d028c93, - limb2: 0x2c73ffd5720b59fe + limb2: 0x2c73ffd5720b59fe, }, r1a0: u288 { limb0: 0xaa4625384e00cc7a1d26f59c, limb1: 0x7e2bd7ea82f7679164b9a298, - limb2: 0x1ceb19ac1c28c731 + limb2: 0x1ceb19ac1c28c731, }, r1a1: u288 { limb0: 0x8570cac2138c94f9d261d52, limb1: 0x4750472206e83d3ee38e9950, - limb2: 0x159e78c2f8fb9e87 - } + limb2: 0x159e78c2f8fb9e87, + }, }, G2Line { r0a0: u288 { limb0: 0xf0061f0ffdd6c080cb6db4f2, limb1: 0x3156ebb6ec8163f1daaf0fef, - limb2: 0x16a1d8e8a632ecda + limb2: 0x16a1d8e8a632ecda, }, r0a1: u288 { limb0: 0x8944acaa1fea52aec014ca14, limb1: 0xaef310c4279054f6513952eb, - limb2: 0x187dba91d42da551 + limb2: 0x187dba91d42da551, }, r1a0: u288 { limb0: 0x115802cd86218654ef41231b, limb1: 0x6d01289ae998e8d09b1c7304, - limb2: 0x8e3eaae865b5448 + limb2: 0x8e3eaae865b5448, }, r1a1: u288 { limb0: 0x9562b590b59641ca26308faa, limb1: 0x75559bf6ea06aaf7df07c197, - limb2: 0x8245163a7eeeada - } + limb2: 0x8245163a7eeeada, + }, }, G2Line { r0a0: u288 { limb0: 0xf0061f0ffdd6c080cb6db4f2, limb1: 0x3156ebb6ec8163f1daaf0fef, - limb2: 0x16a1d8e8a632ecda + limb2: 0x16a1d8e8a632ecda, }, r0a1: u288 { limb0: 0x8944acaa1fea52aec014ca14, limb1: 0xaef310c4279054f6513952eb, - limb2: 0x187dba91d42da551 + limb2: 0x187dba91d42da551, }, r1a0: u288 { limb0: 0x115802cd86218654ef41231b, limb1: 0x6d01289ae998e8d09b1c7304, - limb2: 0x8e3eaae865b5448 + limb2: 0x8e3eaae865b5448, }, r1a1: u288 { limb0: 0x9562b590b59641ca26308faa, limb1: 0x75559bf6ea06aaf7df07c197, - limb2: 0x8245163a7eeeada - } + limb2: 0x8245163a7eeeada, + }, }, G2Line { r0a0: u288 { limb0: 0x2cd350402831a212e938de81, limb1: 0xed9a7a80de5e1ec0f4b2c4db, - limb2: 0x2f04e512c778c8a3 + limb2: 0x2f04e512c778c8a3, }, r0a1: u288 { limb0: 0x8cd4823620230108e89a1e94, limb1: 0x2dc2d1e59111f47e7663cb36, - limb2: 0x8cbcece7fd20252 + limb2: 0x8cbcece7fd20252, }, r1a0: u288 { limb0: 0x6bbf0471a8988b16ca947450, limb1: 0xf7911a0d3db83d1956cc277b, - limb2: 0x7db791f07f93808 + limb2: 0x7db791f07f93808, }, r1a1: u288 { limb0: 0xd46f340dfdea0b0bef63e487, limb1: 0xbd7520f6a22899dfe8887b8b, - limb2: 0x10f9c9a88e425f37 - } + limb2: 0x10f9c9a88e425f37, + }, }, G2Line { r0a0: u288 { limb0: 0x6e52232ec1b38ff612c0a492, limb1: 0x7839f69ef41e655aea744d38, - limb2: 0x20ab9a05d7ad1f52 + limb2: 0x20ab9a05d7ad1f52, }, r0a1: u288 { limb0: 0x8bcdd6166e6ee552371e4636, limb1: 0x1db9fb889b69e26b47964933, - limb2: 0x15c1b7b4dc794f53 + limb2: 0x15c1b7b4dc794f53, }, r1a0: u288 { limb0: 0xdb2e4167ad301668392630d4, limb1: 0x78d41ddd629aa47464b2954, - limb2: 0x122cf4989cd8fabc + limb2: 0x122cf4989cd8fabc, }, r1a1: u288 { limb0: 0xd20b6faf7e40f5ceda0b861d, limb1: 0xaa5af5b00dbdc5f5712dc3bc, - limb2: 0x447f15fd6766a8b - } + limb2: 0x447f15fd6766a8b, + }, }, G2Line { r0a0: u288 { limb0: 0x2cd350402831a212e938de81, limb1: 0xed9a7a80de5e1ec0f4b2c4db, - limb2: 0x2f04e512c778c8a3 + limb2: 0x2f04e512c778c8a3, }, r0a1: u288 { limb0: 0x8cd4823620230108e89a1e94, limb1: 0x2dc2d1e59111f47e7663cb36, - limb2: 0x8cbcece7fd20252 + limb2: 0x8cbcece7fd20252, }, r1a0: u288 { limb0: 0x6bbf0471a8988b16ca947450, limb1: 0xf7911a0d3db83d1956cc277b, - limb2: 0x7db791f07f93808 + limb2: 0x7db791f07f93808, }, r1a1: u288 { limb0: 0xd46f340dfdea0b0bef63e487, limb1: 0xbd7520f6a22899dfe8887b8b, - limb2: 0x10f9c9a88e425f37 - } + limb2: 0x10f9c9a88e425f37, + }, }, G2Line { r0a0: u288 { limb0: 0x6e52232ec1b38ff612c0a492, limb1: 0x7839f69ef41e655aea744d38, - limb2: 0x20ab9a05d7ad1f52 + limb2: 0x20ab9a05d7ad1f52, }, r0a1: u288 { limb0: 0x8bcdd6166e6ee552371e4636, limb1: 0x1db9fb889b69e26b47964933, - limb2: 0x15c1b7b4dc794f53 + limb2: 0x15c1b7b4dc794f53, }, r1a0: u288 { limb0: 0xdb2e4167ad301668392630d4, limb1: 0x78d41ddd629aa47464b2954, - limb2: 0x122cf4989cd8fabc + limb2: 0x122cf4989cd8fabc, }, r1a1: u288 { limb0: 0xd20b6faf7e40f5ceda0b861d, limb1: 0xaa5af5b00dbdc5f5712dc3bc, - limb2: 0x447f15fd6766a8b - } + limb2: 0x447f15fd6766a8b, + }, }, G2Line { r0a0: u288 { limb0: 0x6411c143a41cb76ad19b3fe9, limb1: 0xa0a964f97d57b7b7db78d2bb, - limb2: 0x2bf9110ff7c2fdb2 + limb2: 0x2bf9110ff7c2fdb2, }, r0a1: u288 { limb0: 0xe183b2e52b5137dcbd33bcb9, limb1: 0xa82fec8a97ce059d24aa3b35, - limb2: 0x19d11db2c569eece + limb2: 0x19d11db2c569eece, }, r1a0: u288 { limb0: 0xcce8df3877331ae709ba92e, limb1: 0x77be8fc4e226cee90a7f955a, - limb2: 0x1609775efcfbed68 + limb2: 0x1609775efcfbed68, }, r1a1: u288 { limb0: 0x39a8e985d0dad03eb162f6be, limb1: 0x6e34512435de4fa5a24bd9f1, - limb2: 0x48ac1c32967705c - } + limb2: 0x48ac1c32967705c, + }, }, G2Line { r0a0: u288 { limb0: 0x6411c143a41cb76ad19b3fe9, limb1: 0xa0a964f97d57b7b7db78d2bb, - limb2: 0x2bf9110ff7c2fdb2 + limb2: 0x2bf9110ff7c2fdb2, }, r0a1: u288 { limb0: 0xe183b2e52b5137dcbd33bcb9, limb1: 0xa82fec8a97ce059d24aa3b35, - limb2: 0x19d11db2c569eece + limb2: 0x19d11db2c569eece, }, r1a0: u288 { limb0: 0xcce8df3877331ae709ba92e, limb1: 0x77be8fc4e226cee90a7f955a, - limb2: 0x1609775efcfbed68 + limb2: 0x1609775efcfbed68, }, r1a1: u288 { limb0: 0x39a8e985d0dad03eb162f6be, limb1: 0x6e34512435de4fa5a24bd9f1, - limb2: 0x48ac1c32967705c - } + limb2: 0x48ac1c32967705c, + }, }, G2Line { r0a0: u288 { limb0: 0x278415dcf736521423d0298, limb1: 0x55397f4f2d8ce7f19b570e77, - limb2: 0x2a99b961769beca0 + limb2: 0x2a99b961769beca0, }, r0a1: u288 { limb0: 0xe29c48b2596ae6288dbb21a1, limb1: 0x9588bace99c7dd5849e0b5de, - limb2: 0x266a6e7880114997 + limb2: 0x266a6e7880114997, }, r1a0: u288 { limb0: 0x67864f025c9d20172d805f80, limb1: 0xf9b4700f91ec6d99a9fbabcc, - limb2: 0x72e5c24a77ea6eb + limb2: 0x72e5c24a77ea6eb, }, r1a1: u288 { limb0: 0x71a14ab9325b2c9548564f04, limb1: 0xc2155e899962d27d2aa8947e, - limb2: 0x60eb66c4c422714 - } + limb2: 0x60eb66c4c422714, + }, }, G2Line { r0a0: u288 { limb0: 0x278415dcf736521423d0298, limb1: 0x55397f4f2d8ce7f19b570e77, - limb2: 0x2a99b961769beca0 + limb2: 0x2a99b961769beca0, }, r0a1: u288 { limb0: 0xe29c48b2596ae6288dbb21a1, limb1: 0x9588bace99c7dd5849e0b5de, - limb2: 0x266a6e7880114997 + limb2: 0x266a6e7880114997, }, r1a0: u288 { limb0: 0x67864f025c9d20172d805f80, limb1: 0xf9b4700f91ec6d99a9fbabcc, - limb2: 0x72e5c24a77ea6eb + limb2: 0x72e5c24a77ea6eb, }, r1a1: u288 { limb0: 0x71a14ab9325b2c9548564f04, limb1: 0xc2155e899962d27d2aa8947e, - limb2: 0x60eb66c4c422714 - } + limb2: 0x60eb66c4c422714, + }, }, G2Line { r0a0: u288 { limb0: 0x14d6ff22b6658a773bf98a76, limb1: 0x68581150a1ef5c63bc535636, - limb2: 0x2e657f4210ad1c7f + limb2: 0x2e657f4210ad1c7f, }, r0a1: u288 { limb0: 0x7b86a06e863df1f55189a452, limb1: 0xebbdb11f75deaae91545eb38, - limb2: 0x226b31e0c2e0506a + limb2: 0x226b31e0c2e0506a, }, r1a0: u288 { limb0: 0x68adcad192fe0de39e37b0a9, limb1: 0xcd9ca0c35ee7a0d1b7f70eb0, - limb2: 0x1c98b0667298ccde + limb2: 0x1c98b0667298ccde, }, r1a1: u288 { limb0: 0x803a0d1125f5fa7b64acaedc, limb1: 0xf2f903ea7789b90ca1596a30, - limb2: 0x1864a718bd9a7a91 - } + limb2: 0x1864a718bd9a7a91, + }, }, G2Line { r0a0: u288 { limb0: 0x64f25c9b7128e749ef25f105, limb1: 0xa5df6656e0fe3aa5e76219c, - limb2: 0x10eefd3c4ed405d9 + limb2: 0x10eefd3c4ed405d9, }, r0a1: u288 { limb0: 0x5cfdf017ce0e5290a9af8685, limb1: 0xfef7491b535ef1df815f8e9, - limb2: 0x14736e677cde8946 + limb2: 0x14736e677cde8946, }, r1a0: u288 { limb0: 0x105ce8ec6221751c0a741801, limb1: 0xc8a91f64511eb8ec67bd0a5e, - limb2: 0x24b72e0bef64ca50 + limb2: 0x24b72e0bef64ca50, }, r1a1: u288 { limb0: 0x7b6d0c7da1f527d186f153f4, limb1: 0x3af4476ab8b4bf6bfaa284c4, - limb2: 0x14fd84d626179073 - } + limb2: 0x14fd84d626179073, + }, }, G2Line { r0a0: u288 { limb0: 0x14d6ff22b6658a773bf98a76, limb1: 0x68581150a1ef5c63bc535636, - limb2: 0x2e657f4210ad1c7f + limb2: 0x2e657f4210ad1c7f, }, r0a1: u288 { limb0: 0x7b86a06e863df1f55189a452, limb1: 0xebbdb11f75deaae91545eb38, - limb2: 0x226b31e0c2e0506a + limb2: 0x226b31e0c2e0506a, }, r1a0: u288 { limb0: 0x68adcad192fe0de39e37b0a9, limb1: 0xcd9ca0c35ee7a0d1b7f70eb0, - limb2: 0x1c98b0667298ccde + limb2: 0x1c98b0667298ccde, }, r1a1: u288 { limb0: 0x803a0d1125f5fa7b64acaedc, limb1: 0xf2f903ea7789b90ca1596a30, - limb2: 0x1864a718bd9a7a91 - } + limb2: 0x1864a718bd9a7a91, + }, }, G2Line { r0a0: u288 { limb0: 0x64f25c9b7128e749ef25f105, limb1: 0xa5df6656e0fe3aa5e76219c, - limb2: 0x10eefd3c4ed405d9 + limb2: 0x10eefd3c4ed405d9, }, r0a1: u288 { limb0: 0x5cfdf017ce0e5290a9af8685, limb1: 0xfef7491b535ef1df815f8e9, - limb2: 0x14736e677cde8946 + limb2: 0x14736e677cde8946, }, r1a0: u288 { limb0: 0x105ce8ec6221751c0a741801, limb1: 0xc8a91f64511eb8ec67bd0a5e, - limb2: 0x24b72e0bef64ca50 + limb2: 0x24b72e0bef64ca50, }, r1a1: u288 { limb0: 0x7b6d0c7da1f527d186f153f4, limb1: 0x3af4476ab8b4bf6bfaa284c4, - limb2: 0x14fd84d626179073 - } + limb2: 0x14fd84d626179073, + }, }, G2Line { r0a0: u288 { limb0: 0x95531ad3030b96d815ffc130, limb1: 0x3e57484f7c4a6080aeeb5389, - limb2: 0x258e31db306db347 + limb2: 0x258e31db306db347, }, r0a1: u288 { limb0: 0x9083b01855e312eac6d42b37, limb1: 0x2345be89c9e05ddcaca68d44, - limb2: 0x23c9dd3674d542b2 + limb2: 0x23c9dd3674d542b2, }, r1a0: u288 { limb0: 0xc79418d3ebbe74ae9a0dfa4, limb1: 0x14b66f0d16a1c604533cf0d6, - limb2: 0x3acddc2145f3eec + limb2: 0x3acddc2145f3eec, }, r1a1: u288 { limb0: 0x1288e3b3be0ac21711e0f760, limb1: 0xd0bc22f88b8051ffc112590a, - limb2: 0xdd5bdbb302158c1 - } + limb2: 0xdd5bdbb302158c1, + }, }, G2Line { r0a0: u288 { limb0: 0xdf325bffc4f75bde16339c21, limb1: 0x59e1b11a922fd25b46da34ad, - limb2: 0x1df431a8b518c319 + limb2: 0x1df431a8b518c319, }, r0a1: u288 { limb0: 0xa34e525fbce9d573f316a8e1, limb1: 0x5715c100bd0d4bc47e1199aa, - limb2: 0x111fd4d9fe3f4aa8 + limb2: 0x111fd4d9fe3f4aa8, }, r1a0: u288 { limb0: 0x4ddeb02cca8556d49bb4d13b, limb1: 0x56b8e64426fbb6983377fe9f, - limb2: 0x166b7c9a7bb6eb74 + limb2: 0x166b7c9a7bb6eb74, }, r1a1: u288 { limb0: 0x8ef5c3ef69254a68b5ffcf4d, limb1: 0xd6eaa92d6814c39953c833ca, - limb2: 0x8cda70783ba41fc - } + limb2: 0x8cda70783ba41fc, + }, }, G2Line { r0a0: u288 { limb0: 0x95531ad3030b96d815ffc130, limb1: 0x3e57484f7c4a6080aeeb5389, - limb2: 0x258e31db306db347 + limb2: 0x258e31db306db347, }, r0a1: u288 { limb0: 0x9083b01855e312eac6d42b37, limb1: 0x2345be89c9e05ddcaca68d44, - limb2: 0x23c9dd3674d542b2 + limb2: 0x23c9dd3674d542b2, }, r1a0: u288 { limb0: 0xc79418d3ebbe74ae9a0dfa4, limb1: 0x14b66f0d16a1c604533cf0d6, - limb2: 0x3acddc2145f3eec + limb2: 0x3acddc2145f3eec, }, r1a1: u288 { limb0: 0x1288e3b3be0ac21711e0f760, limb1: 0xd0bc22f88b8051ffc112590a, - limb2: 0xdd5bdbb302158c1 - } + limb2: 0xdd5bdbb302158c1, + }, }, G2Line { r0a0: u288 { limb0: 0xdf325bffc4f75bde16339c21, limb1: 0x59e1b11a922fd25b46da34ad, - limb2: 0x1df431a8b518c319 + limb2: 0x1df431a8b518c319, }, r0a1: u288 { limb0: 0xa34e525fbce9d573f316a8e1, limb1: 0x5715c100bd0d4bc47e1199aa, - limb2: 0x111fd4d9fe3f4aa8 + limb2: 0x111fd4d9fe3f4aa8, }, r1a0: u288 { limb0: 0x4ddeb02cca8556d49bb4d13b, limb1: 0x56b8e64426fbb6983377fe9f, - limb2: 0x166b7c9a7bb6eb74 + limb2: 0x166b7c9a7bb6eb74, }, r1a1: u288 { limb0: 0x8ef5c3ef69254a68b5ffcf4d, limb1: 0xd6eaa92d6814c39953c833ca, - limb2: 0x8cda70783ba41fc - } + limb2: 0x8cda70783ba41fc, + }, }, G2Line { r0a0: u288 { limb0: 0x4e44a9b72f424336295cd2d4, limb1: 0xe43008eebda999077f586dd0, - limb2: 0x2833eade2a41fefe + limb2: 0x2833eade2a41fefe, }, r0a1: u288 { limb0: 0xa23faf119ba1e712eaa2ad9d, limb1: 0xffd42ca54f7c46f0e5dd7375, - limb2: 0x14f3d66f92191f3d + limb2: 0x14f3d66f92191f3d, }, r1a0: u288 { limb0: 0xde664b9a5bb68f83b166d13f, limb1: 0x504eada56a1604828ac250aa, - limb2: 0x1a59ac93ced3882 + limb2: 0x1a59ac93ced3882, }, r1a1: u288 { limb0: 0x57e2ca35f761f0a43dca1cf5, limb1: 0x9d1dae4b976d26ff058b20f6, - limb2: 0x27083f11525f853e - } + limb2: 0x27083f11525f853e, + }, }, G2Line { r0a0: u288 { limb0: 0x4e44a9b72f424336295cd2d4, limb1: 0xe43008eebda999077f586dd0, - limb2: 0x2833eade2a41fefe + limb2: 0x2833eade2a41fefe, }, r0a1: u288 { limb0: 0xa23faf119ba1e712eaa2ad9d, limb1: 0xffd42ca54f7c46f0e5dd7375, - limb2: 0x14f3d66f92191f3d + limb2: 0x14f3d66f92191f3d, }, r1a0: u288 { limb0: 0xde664b9a5bb68f83b166d13f, limb1: 0x504eada56a1604828ac250aa, - limb2: 0x1a59ac93ced3882 + limb2: 0x1a59ac93ced3882, }, r1a1: u288 { limb0: 0x57e2ca35f761f0a43dca1cf5, limb1: 0x9d1dae4b976d26ff058b20f6, - limb2: 0x27083f11525f853e - } + limb2: 0x27083f11525f853e, + }, }, G2Line { r0a0: u288 { limb0: 0xacffdc27d3923f5779c9f561, limb1: 0x6acc5c81d640b06edf8669e7, - limb2: 0x23d3ecf6cd5ae000 + limb2: 0x23d3ecf6cd5ae000, }, r0a1: u288 { limb0: 0xc576257e34519bcbfe12a0e5, limb1: 0x6dfda810453128aa1b9ff5f3, - limb2: 0x272b3f6cde8f6f3d + limb2: 0x272b3f6cde8f6f3d, }, r1a0: u288 { limb0: 0x3314182b61b3a1153d51085c, limb1: 0x78d944875a2068000dc27e73, - limb2: 0x2184b9ce45b284ff + limb2: 0x2184b9ce45b284ff, }, r1a1: u288 { limb0: 0xa3831da9efe63936fe510a88, limb1: 0xd853b46a2f7648744b5bbcea, - limb2: 0x2437a9f7f5559f66 - } + limb2: 0x2437a9f7f5559f66, + }, }, G2Line { r0a0: u288 { limb0: 0xacffdc27d3923f5779c9f561, limb1: 0x6acc5c81d640b06edf8669e7, - limb2: 0x23d3ecf6cd5ae000 + limb2: 0x23d3ecf6cd5ae000, }, r0a1: u288 { limb0: 0xc576257e34519bcbfe12a0e5, limb1: 0x6dfda810453128aa1b9ff5f3, - limb2: 0x272b3f6cde8f6f3d + limb2: 0x272b3f6cde8f6f3d, }, r1a0: u288 { limb0: 0x3314182b61b3a1153d51085c, limb1: 0x78d944875a2068000dc27e73, - limb2: 0x2184b9ce45b284ff + limb2: 0x2184b9ce45b284ff, }, r1a1: u288 { limb0: 0xa3831da9efe63936fe510a88, limb1: 0xd853b46a2f7648744b5bbcea, - limb2: 0x2437a9f7f5559f66 - } + limb2: 0x2437a9f7f5559f66, + }, }, G2Line { r0a0: u288 { limb0: 0x373d78cacc3a213ab7a5dc77, limb1: 0x2c4c9295f1b3e767a376d95a, - limb2: 0x6fa8606535c131 + limb2: 0x6fa8606535c131, }, r0a1: u288 { limb0: 0x7a037d066e3015f12b9bb899, limb1: 0x2df06eb9be7dd1d34dd0ce6e, - limb2: 0x2bfecfb6faa40681 + limb2: 0x2bfecfb6faa40681, }, r1a0: u288 { limb0: 0x767f84f556bc0e82acc4c2fc, limb1: 0xdc285959286fe86c69fd09c6, - limb2: 0xddf35d64e052591 + limb2: 0xddf35d64e052591, }, r1a1: u288 { limb0: 0xba3bf8a2a744c4be716d10a3, limb1: 0x704558fde5a2dd4610092a58, - limb2: 0x24381fac38d1c2f4 - } + limb2: 0x24381fac38d1c2f4, + }, }, G2Line { r0a0: u288 { limb0: 0x8bfb882fe3e87bf7f06a534, limb1: 0x60e74ba16f35b38925253fa1, - limb2: 0x105952dd8d3cb0fb + limb2: 0x105952dd8d3cb0fb, }, r0a1: u288 { limb0: 0x86a65a5ae488b0d28900cf53, limb1: 0x4fca5c6edee392882c778363, - limb2: 0x160b4e8a7969f551 + limb2: 0x160b4e8a7969f551, }, r1a0: u288 { limb0: 0x7b126c951fa4afc0c2ebda0c, limb1: 0x85834d2eff18413563bf9144, - limb2: 0x8f905b15b3b2add + limb2: 0x8f905b15b3b2add, }, r1a1: u288 { limb0: 0xa595d6853747f798b16d2eca, limb1: 0x42d7941f6581b069059ed186, - limb2: 0x2eb502b9a9b7169b - } + limb2: 0x2eb502b9a9b7169b, + }, }, G2Line { r0a0: u288 { limb0: 0x373d78cacc3a213ab7a5dc77, limb1: 0x2c4c9295f1b3e767a376d95a, - limb2: 0x6fa8606535c131 + limb2: 0x6fa8606535c131, }, r0a1: u288 { limb0: 0x7a037d066e3015f12b9bb899, limb1: 0x2df06eb9be7dd1d34dd0ce6e, - limb2: 0x2bfecfb6faa40681 + limb2: 0x2bfecfb6faa40681, }, r1a0: u288 { limb0: 0x767f84f556bc0e82acc4c2fc, limb1: 0xdc285959286fe86c69fd09c6, - limb2: 0xddf35d64e052591 + limb2: 0xddf35d64e052591, }, r1a1: u288 { limb0: 0xba3bf8a2a744c4be716d10a3, limb1: 0x704558fde5a2dd4610092a58, - limb2: 0x24381fac38d1c2f4 - } + limb2: 0x24381fac38d1c2f4, + }, }, G2Line { r0a0: u288 { limb0: 0x8bfb882fe3e87bf7f06a534, limb1: 0x60e74ba16f35b38925253fa1, - limb2: 0x105952dd8d3cb0fb + limb2: 0x105952dd8d3cb0fb, }, r0a1: u288 { limb0: 0x86a65a5ae488b0d28900cf53, limb1: 0x4fca5c6edee392882c778363, - limb2: 0x160b4e8a7969f551 + limb2: 0x160b4e8a7969f551, }, r1a0: u288 { limb0: 0x7b126c951fa4afc0c2ebda0c, limb1: 0x85834d2eff18413563bf9144, - limb2: 0x8f905b15b3b2add + limb2: 0x8f905b15b3b2add, }, r1a1: u288 { limb0: 0xa595d6853747f798b16d2eca, limb1: 0x42d7941f6581b069059ed186, - limb2: 0x2eb502b9a9b7169b - } + limb2: 0x2eb502b9a9b7169b, + }, }, G2Line { r0a0: u288 { limb0: 0xe6dbfdaa4aaed35ae46b7e36, limb1: 0x954a32448a2c26964f83e2ff, - limb2: 0x23fe11d86de21bf3 + limb2: 0x23fe11d86de21bf3, }, r0a1: u288 { limb0: 0x390ec78bb0c63fea5a5112ca, limb1: 0x5eaba420296488bd9ad78ba4, - limb2: 0x179a2336d20f9552 + limb2: 0x179a2336d20f9552, }, r1a0: u288 { limb0: 0x451d421ca57949d9274eaee9, limb1: 0xd85aee99f3f7b33bdddf1b37, - limb2: 0x1b83c0b80546357d + limb2: 0x1b83c0b80546357d, }, r1a1: u288 { limb0: 0x94c9276300f21460bd558c41, limb1: 0x89efceec3bb694f4c41487d3, - limb2: 0x44375dd912e436b - } + limb2: 0x44375dd912e436b, + }, }, G2Line { r0a0: u288 { limb0: 0xe6dbfdaa4aaed35ae46b7e36, limb1: 0x954a32448a2c26964f83e2ff, - limb2: 0x23fe11d86de21bf3 + limb2: 0x23fe11d86de21bf3, }, r0a1: u288 { limb0: 0x390ec78bb0c63fea5a5112ca, limb1: 0x5eaba420296488bd9ad78ba4, - limb2: 0x179a2336d20f9552 + limb2: 0x179a2336d20f9552, }, r1a0: u288 { limb0: 0x451d421ca57949d9274eaee9, limb1: 0xd85aee99f3f7b33bdddf1b37, - limb2: 0x1b83c0b80546357d + limb2: 0x1b83c0b80546357d, }, r1a1: u288 { limb0: 0x94c9276300f21460bd558c41, limb1: 0x89efceec3bb694f4c41487d3, - limb2: 0x44375dd912e436b - } + limb2: 0x44375dd912e436b, + }, }, G2Line { r0a0: u288 { limb0: 0x90c98d8d59246f7ac71cbc7, limb1: 0x603dd0e0dd09fb8ad13dbbb, - limb2: 0x1d068d315771a3c1 + limb2: 0x1d068d315771a3c1, }, r0a1: u288 { limb0: 0x2bb3f34aa59b0e052ec56b80, limb1: 0xb239e8dca49685c638327d9e, - limb2: 0x11e46c1f8395f739 + limb2: 0x11e46c1f8395f739, }, r1a0: u288 { limb0: 0x2f114895453b5cf23b04678c, limb1: 0x99cdbda7fef0644b67d48e85, - limb2: 0x6d8bc66cf89ee21 + limb2: 0x6d8bc66cf89ee21, }, r1a1: u288 { limb0: 0x903c6ead9a344fceaab2dd24, limb1: 0x97063cfc1096d628d7979e2c, - limb2: 0x49f8c496be2ccd4 - } + limb2: 0x49f8c496be2ccd4, + }, }, G2Line { r0a0: u288 { limb0: 0x90c98d8d59246f7ac71cbc7, limb1: 0x603dd0e0dd09fb8ad13dbbb, - limb2: 0x1d068d315771a3c1 + limb2: 0x1d068d315771a3c1, }, r0a1: u288 { limb0: 0x2bb3f34aa59b0e052ec56b80, limb1: 0xb239e8dca49685c638327d9e, - limb2: 0x11e46c1f8395f739 + limb2: 0x11e46c1f8395f739, }, r1a0: u288 { limb0: 0x2f114895453b5cf23b04678c, limb1: 0x99cdbda7fef0644b67d48e85, - limb2: 0x6d8bc66cf89ee21 + limb2: 0x6d8bc66cf89ee21, }, r1a1: u288 { limb0: 0x903c6ead9a344fceaab2dd24, limb1: 0x97063cfc1096d628d7979e2c, - limb2: 0x49f8c496be2ccd4 - } + limb2: 0x49f8c496be2ccd4, + }, }, G2Line { r0a0: u288 { limb0: 0x3778e71e52e9cd8a2efaae30, limb1: 0x1510f4be21ae0d4ce4e9c407, - limb2: 0x87f2c39614ed514 + limb2: 0x87f2c39614ed514, }, r0a1: u288 { limb0: 0x9425b553c85be9f8eab4827e, limb1: 0xd75d6f1a6013f310d81e5f6e, - limb2: 0x188c2e53470ad6dc + limb2: 0x188c2e53470ad6dc, }, r1a0: u288 { limb0: 0xd6715a5f7fb9d3f64160e303, limb1: 0xfb0e7cb89f7e8c3908e859f9, - limb2: 0x84f3df13ca3d149 + limb2: 0x84f3df13ca3d149, }, r1a1: u288 { limb0: 0xea46b6a8dbd35d5c7098c283, limb1: 0xff4f98d6447bac1d056ea3b3, - limb2: 0xd6d18364b06a02c - } + limb2: 0xd6d18364b06a02c, + }, }, G2Line { r0a0: u288 { limb0: 0x3778e71e52e9cd8a2efaae30, limb1: 0x1510f4be21ae0d4ce4e9c407, - limb2: 0x87f2c39614ed514 + limb2: 0x87f2c39614ed514, }, r0a1: u288 { limb0: 0x9425b553c85be9f8eab4827e, limb1: 0xd75d6f1a6013f310d81e5f6e, - limb2: 0x188c2e53470ad6dc + limb2: 0x188c2e53470ad6dc, }, r1a0: u288 { limb0: 0xd6715a5f7fb9d3f64160e303, limb1: 0xfb0e7cb89f7e8c3908e859f9, - limb2: 0x84f3df13ca3d149 + limb2: 0x84f3df13ca3d149, }, r1a1: u288 { limb0: 0xea46b6a8dbd35d5c7098c283, limb1: 0xff4f98d6447bac1d056ea3b3, - limb2: 0xd6d18364b06a02c - } + limb2: 0xd6d18364b06a02c, + }, }, G2Line { r0a0: u288 { limb0: 0x6f6d3e211d26957a67f263c, limb1: 0x8da5874752e96d222d666c7e, - limb2: 0x266336ff63f6cae + limb2: 0x266336ff63f6cae, }, r0a1: u288 { limb0: 0xb3b8c3099016c6a6814524b4, limb1: 0x4b7c12934d9309f8cb6fe11, - limb2: 0x24a297917e6d2286 + limb2: 0x24a297917e6d2286, }, r1a0: u288 { limb0: 0x29f2516e3c81dc23beb0b4a5, limb1: 0x66af1f7514ccca035bf4bd08, - limb2: 0x1c93fbb41c5a080f + limb2: 0x1c93fbb41c5a080f, }, r1a1: u288 { limb0: 0x1d9a69028cdcd85247c47085, limb1: 0xca54eb95e7fb935d08e1e49, - limb2: 0x25c558909e8ce210 - } + limb2: 0x25c558909e8ce210, + }, }, G2Line { r0a0: u288 { limb0: 0x6f6d3e211d26957a67f263c, limb1: 0x8da5874752e96d222d666c7e, - limb2: 0x266336ff63f6cae + limb2: 0x266336ff63f6cae, }, r0a1: u288 { limb0: 0xb3b8c3099016c6a6814524b4, limb1: 0x4b7c12934d9309f8cb6fe11, - limb2: 0x24a297917e6d2286 + limb2: 0x24a297917e6d2286, }, r1a0: u288 { limb0: 0x29f2516e3c81dc23beb0b4a5, limb1: 0x66af1f7514ccca035bf4bd08, - limb2: 0x1c93fbb41c5a080f + limb2: 0x1c93fbb41c5a080f, }, r1a1: u288 { limb0: 0x1d9a69028cdcd85247c47085, limb1: 0xca54eb95e7fb935d08e1e49, - limb2: 0x25c558909e8ce210 - } + limb2: 0x25c558909e8ce210, + }, }, G2Line { r0a0: u288 { limb0: 0xa2877a17d6822fdbec0a419a, limb1: 0xff617440635bbeae917acf03, - limb2: 0x302aa8c0c25edf9c + limb2: 0x302aa8c0c25edf9c, }, r0a1: u288 { limb0: 0xa0509fbe6fedb1a1d6bc0fa0, limb1: 0xb6f674c844db3046d0228a67, - limb2: 0x275d1093fe789296 + limb2: 0x275d1093fe789296, }, r1a0: u288 { limb0: 0x252b1469a10bf6c0e8441f2e, limb1: 0xe3f275f7dc0d10062fa24067, - limb2: 0x5938d22b9b86d1f + limb2: 0x5938d22b9b86d1f, }, r1a1: u288 { limb0: 0xfb5f636c62c36f78c5062f30, limb1: 0x150a99ab14007914780e49f1, - limb2: 0x9e0bccb105b14f4 - } + limb2: 0x9e0bccb105b14f4, + }, }, G2Line { r0a0: u288 { limb0: 0xa2877a17d6822fdbec0a419a, limb1: 0xff617440635bbeae917acf03, - limb2: 0x302aa8c0c25edf9c + limb2: 0x302aa8c0c25edf9c, }, r0a1: u288 { limb0: 0xa0509fbe6fedb1a1d6bc0fa0, limb1: 0xb6f674c844db3046d0228a67, - limb2: 0x275d1093fe789296 + limb2: 0x275d1093fe789296, }, r1a0: u288 { limb0: 0x252b1469a10bf6c0e8441f2e, limb1: 0xe3f275f7dc0d10062fa24067, - limb2: 0x5938d22b9b86d1f + limb2: 0x5938d22b9b86d1f, }, r1a1: u288 { limb0: 0xfb5f636c62c36f78c5062f30, limb1: 0x150a99ab14007914780e49f1, - limb2: 0x9e0bccb105b14f4 - } + limb2: 0x9e0bccb105b14f4, + }, }, G2Line { r0a0: u288 { limb0: 0xc5eaebad6bd5beb92e09aade, limb1: 0xcbd48c7eb96beac635eddee1, - limb2: 0x6b94aae5ea30073 + limb2: 0x6b94aae5ea30073, }, r0a1: u288 { limb0: 0x882af1093bd174803a58f378, limb1: 0x9ec588e092fc5b155ebeec2e, - limb2: 0x1ca1957381eeeaf6 + limb2: 0x1ca1957381eeeaf6, }, r1a0: u288 { limb0: 0x85f75492a545f601ebdaeca3, limb1: 0xb76104e8575174401e8c88d3, - limb2: 0x2f386789cd7045e0 + limb2: 0x2f386789cd7045e0, }, r1a1: u288 { limb0: 0x21695ebadab2d91e4fdb6459, limb1: 0x76f7be32767094c83713ad27, - limb2: 0x11f63fe7a6d180b6 - } + limb2: 0x11f63fe7a6d180b6, + }, }, G2Line { r0a0: u288 { limb0: 0xbff947921ed15906d7d1a15d, limb1: 0x801c1b9c79563f2e5bce21e1, - limb2: 0x956f2ac3e4fe88a + limb2: 0x956f2ac3e4fe88a, }, r0a1: u288 { limb0: 0x5b2798f11186aa7db5373cdd, limb1: 0xa5023b2f0c8bab4ec100bf18, - limb2: 0x13a0cace49d5eade + limb2: 0x13a0cace49d5eade, }, r1a0: u288 { limb0: 0x9b0527939d6c45e657273a85, limb1: 0x76cb75e8dc534ecd7e917521, - limb2: 0x12e40c7aed42af34 + limb2: 0x12e40c7aed42af34, }, r1a1: u288 { limb0: 0x77da98dd73c9603932b79af4, limb1: 0xfaac3a02aea7867b5226fa70, - limb2: 0x8e2f40461279814 - } + limb2: 0x8e2f40461279814, + }, }, G2Line { r0a0: u288 { limb0: 0xc5eaebad6bd5beb92e09aade, limb1: 0xcbd48c7eb96beac635eddee1, - limb2: 0x6b94aae5ea30073 + limb2: 0x6b94aae5ea30073, }, r0a1: u288 { limb0: 0x882af1093bd174803a58f378, limb1: 0x9ec588e092fc5b155ebeec2e, - limb2: 0x1ca1957381eeeaf6 + limb2: 0x1ca1957381eeeaf6, }, r1a0: u288 { limb0: 0x85f75492a545f601ebdaeca3, limb1: 0xb76104e8575174401e8c88d3, - limb2: 0x2f386789cd7045e0 + limb2: 0x2f386789cd7045e0, }, r1a1: u288 { limb0: 0x21695ebadab2d91e4fdb6459, limb1: 0x76f7be32767094c83713ad27, - limb2: 0x11f63fe7a6d180b6 - } + limb2: 0x11f63fe7a6d180b6, + }, }, G2Line { r0a0: u288 { limb0: 0xbff947921ed15906d7d1a15d, limb1: 0x801c1b9c79563f2e5bce21e1, - limb2: 0x956f2ac3e4fe88a + limb2: 0x956f2ac3e4fe88a, }, r0a1: u288 { limb0: 0x5b2798f11186aa7db5373cdd, limb1: 0xa5023b2f0c8bab4ec100bf18, - limb2: 0x13a0cace49d5eade + limb2: 0x13a0cace49d5eade, }, r1a0: u288 { limb0: 0x9b0527939d6c45e657273a85, limb1: 0x76cb75e8dc534ecd7e917521, - limb2: 0x12e40c7aed42af34 + limb2: 0x12e40c7aed42af34, }, r1a1: u288 { limb0: 0x77da98dd73c9603932b79af4, limb1: 0xfaac3a02aea7867b5226fa70, - limb2: 0x8e2f40461279814 - } + limb2: 0x8e2f40461279814, + }, }, G2Line { r0a0: u288 { limb0: 0xac907bc1f092e5e0913e845c, limb1: 0x5964ee4cf6c9a38642dd0517, - limb2: 0x1719e7b29682420d + limb2: 0x1719e7b29682420d, }, r0a1: u288 { limb0: 0x74d7d423222f8b95733071c5, limb1: 0x86f3c3861a5f4d9c59281db1, - limb2: 0x2e4ed8b13095cb38 + limb2: 0x2e4ed8b13095cb38, }, r1a0: u288 { limb0: 0x4967b22d6ffa060c3d0f2c5f, limb1: 0x48dc68663059b322a3bdeaa4, - limb2: 0x166e533bd057aeaf + limb2: 0x166e533bd057aeaf, }, r1a1: u288 { limb0: 0xcdd096c0af346e40e770fa2b, limb1: 0x6a8d2b8bc4369ae60bcd1a63, - limb2: 0x2fd98e44a782d9d9 - } + limb2: 0x2fd98e44a782d9d9, + }, }, G2Line { r0a0: u288 { limb0: 0xac907bc1f092e5e0913e845c, limb1: 0x5964ee4cf6c9a38642dd0517, - limb2: 0x1719e7b29682420d + limb2: 0x1719e7b29682420d, }, r0a1: u288 { limb0: 0x74d7d423222f8b95733071c5, limb1: 0x86f3c3861a5f4d9c59281db1, - limb2: 0x2e4ed8b13095cb38 + limb2: 0x2e4ed8b13095cb38, }, r1a0: u288 { limb0: 0x4967b22d6ffa060c3d0f2c5f, limb1: 0x48dc68663059b322a3bdeaa4, - limb2: 0x166e533bd057aeaf + limb2: 0x166e533bd057aeaf, }, r1a1: u288 { limb0: 0xcdd096c0af346e40e770fa2b, limb1: 0x6a8d2b8bc4369ae60bcd1a63, - limb2: 0x2fd98e44a782d9d9 - } + limb2: 0x2fd98e44a782d9d9, + }, }, G2Line { r0a0: u288 { limb0: 0xcae2854ff6a3816300716e11, limb1: 0x24542ac4d609ab52f57a1cf6, - limb2: 0x130bee99db1c1a6 + limb2: 0x130bee99db1c1a6, }, r0a1: u288 { limb0: 0x7a097fcb199569eb2020a518, limb1: 0xc59e26079797276de74d2710, - limb2: 0x205de761540e71f0 + limb2: 0x205de761540e71f0, }, r1a0: u288 { limb0: 0xaa1ad54be641d1006740583, limb1: 0x3b2a9d3fc0122931ae274736, - limb2: 0xbe53b90a6b0a84e + limb2: 0xbe53b90a6b0a84e, }, r1a1: u288 { limb0: 0xd74fcd1e68f4e37eb864c664, limb1: 0x148c5cb80d01f6a428be16e8, - limb2: 0x12f83a1b869c2d94 - } + limb2: 0x12f83a1b869c2d94, + }, }, G2Line { r0a0: u288 { limb0: 0xcae2854ff6a3816300716e11, limb1: 0x24542ac4d609ab52f57a1cf6, - limb2: 0x130bee99db1c1a6 + limb2: 0x130bee99db1c1a6, }, r0a1: u288 { limb0: 0x7a097fcb199569eb2020a518, limb1: 0xc59e26079797276de74d2710, - limb2: 0x205de761540e71f0 + limb2: 0x205de761540e71f0, }, r1a0: u288 { limb0: 0xaa1ad54be641d1006740583, limb1: 0x3b2a9d3fc0122931ae274736, - limb2: 0xbe53b90a6b0a84e + limb2: 0xbe53b90a6b0a84e, }, r1a1: u288 { limb0: 0xd74fcd1e68f4e37eb864c664, limb1: 0x148c5cb80d01f6a428be16e8, - limb2: 0x12f83a1b869c2d94 - } + limb2: 0x12f83a1b869c2d94, + }, }, G2Line { r0a0: u288 { limb0: 0xc45d014325b07ba0dd2d4f10, limb1: 0x361ef3f040192c17167b900c, - limb2: 0xf09fdc89e100ba7 + limb2: 0xf09fdc89e100ba7, }, r0a1: u288 { limb0: 0x19de05e48711d6d787de58a5, limb1: 0x52290b2ee0a6dae953c249cf, - limb2: 0xf136a05d822f41d + limb2: 0xf136a05d822f41d, }, r1a0: u288 { limb0: 0x17b39f9e05d9816d69d3a613, limb1: 0x643e9006b7b05faa90e6a8, - limb2: 0x20e7d1e6a4c0547c + limb2: 0x20e7d1e6a4c0547c, }, r1a1: u288 { limb0: 0x2fee0ea45053ae644c4e684f, limb1: 0xbb2e7afad484141b0be42479, - limb2: 0x187df546a9ccfb69 - } + limb2: 0x187df546a9ccfb69, + }, }, G2Line { r0a0: u288 { limb0: 0xada5bca8b46adc829ca20edf, limb1: 0xa9cc28a9116efbf02609e3f2, - limb2: 0xaedc7dd73b536f3 + limb2: 0xaedc7dd73b536f3, }, r0a1: u288 { limb0: 0xab9510ead48ad195261ddc88, limb1: 0xc202a7ba9dfce6d86664504e, - limb2: 0x2ce423186cc9b5a9 + limb2: 0x2ce423186cc9b5a9, }, r1a0: u288 { limb0: 0x8f2b148f9ab7585ea1a6c347, limb1: 0x508884251415af912a5d0a42, - limb2: 0x1dbbf26d101af06d + limb2: 0x1dbbf26d101af06d, }, r1a1: u288 { limb0: 0x68b9f7cab6f91619604f8061, limb1: 0xd94ab22c8f954516f2d2de81, - limb2: 0x16aa4a653b525fb1 - } + limb2: 0x16aa4a653b525fb1, + }, }, G2Line { r0a0: u288 { limb0: 0xc45d014325b07ba0dd2d4f10, limb1: 0x361ef3f040192c17167b900c, - limb2: 0xf09fdc89e100ba7 + limb2: 0xf09fdc89e100ba7, }, r0a1: u288 { limb0: 0x19de05e48711d6d787de58a5, limb1: 0x52290b2ee0a6dae953c249cf, - limb2: 0xf136a05d822f41d + limb2: 0xf136a05d822f41d, }, r1a0: u288 { limb0: 0x17b39f9e05d9816d69d3a613, limb1: 0x643e9006b7b05faa90e6a8, - limb2: 0x20e7d1e6a4c0547c + limb2: 0x20e7d1e6a4c0547c, }, r1a1: u288 { limb0: 0x2fee0ea45053ae644c4e684f, limb1: 0xbb2e7afad484141b0be42479, - limb2: 0x187df546a9ccfb69 - } + limb2: 0x187df546a9ccfb69, + }, }, G2Line { r0a0: u288 { limb0: 0xada5bca8b46adc829ca20edf, limb1: 0xa9cc28a9116efbf02609e3f2, - limb2: 0xaedc7dd73b536f3 + limb2: 0xaedc7dd73b536f3, }, r0a1: u288 { limb0: 0xab9510ead48ad195261ddc88, limb1: 0xc202a7ba9dfce6d86664504e, - limb2: 0x2ce423186cc9b5a9 + limb2: 0x2ce423186cc9b5a9, }, r1a0: u288 { limb0: 0x8f2b148f9ab7585ea1a6c347, limb1: 0x508884251415af912a5d0a42, - limb2: 0x1dbbf26d101af06d + limb2: 0x1dbbf26d101af06d, }, r1a1: u288 { limb0: 0x68b9f7cab6f91619604f8061, limb1: 0xd94ab22c8f954516f2d2de81, - limb2: 0x16aa4a653b525fb1 - } + limb2: 0x16aa4a653b525fb1, + }, }, G2Line { r0a0: u288 { limb0: 0xc4a85cff6912d5bfd21136b3, limb1: 0x34488d83eff390d6a141392c, - limb2: 0xdd68be1560fdaae + limb2: 0xdd68be1560fdaae, }, r0a1: u288 { limb0: 0x25abfb1fa590f9ccb71b8e0, limb1: 0x43c63f304c5602ef9de96df6, - limb2: 0x21e65c606ce32d5a + limb2: 0x21e65c606ce32d5a, }, r1a0: u288 { limb0: 0x6e4626b5e644b7a440e1b381, limb1: 0xa29ef58cc4acec20c08690c, - limb2: 0x1eca054ddf87b2a4 + limb2: 0x1eca054ddf87b2a4, }, r1a1: u288 { limb0: 0xc220eeaf9d6200717abc6724, limb1: 0x702fffe80bce126803560a40, - limb2: 0x2e0f90625bd64073 - } + limb2: 0x2e0f90625bd64073, + }, }, G2Line { r0a0: u288 { limb0: 0xc4a85cff6912d5bfd21136b3, limb1: 0x34488d83eff390d6a141392c, - limb2: 0xdd68be1560fdaae + limb2: 0xdd68be1560fdaae, }, r0a1: u288 { limb0: 0x25abfb1fa590f9ccb71b8e0, limb1: 0x43c63f304c5602ef9de96df6, - limb2: 0x21e65c606ce32d5a + limb2: 0x21e65c606ce32d5a, }, r1a0: u288 { limb0: 0x6e4626b5e644b7a440e1b381, limb1: 0xa29ef58cc4acec20c08690c, - limb2: 0x1eca054ddf87b2a4 + limb2: 0x1eca054ddf87b2a4, }, r1a1: u288 { limb0: 0xc220eeaf9d6200717abc6724, limb1: 0x702fffe80bce126803560a40, - limb2: 0x2e0f90625bd64073 - } + limb2: 0x2e0f90625bd64073, + }, }, G2Line { r0a0: u288 { limb0: 0x59f254cb97c8a519e0461a6, limb1: 0xb4542e9c6bb21b7d9648e1d4, - limb2: 0x22dc33964ee2947b + limb2: 0x22dc33964ee2947b, }, r0a1: u288 { limb0: 0x5e83c2931befc562e4c93cee, limb1: 0x675b3e97b43eba3f75101885, - limb2: 0x11d20ed3321c48f + limb2: 0x11d20ed3321c48f, }, r1a0: u288 { limb0: 0x11e5d20e996d12471ceb3541, limb1: 0x229064d01b397b4af809e840, - limb2: 0x21834a1301ac5984 + limb2: 0x21834a1301ac5984, }, r1a1: u288 { limb0: 0xbe43cdde5117c697882c850f, limb1: 0x1bc4151048af9bbd27f7e82a, - limb2: 0x2501d9aca420d21e - } + limb2: 0x2501d9aca420d21e, + }, }, G2Line { r0a0: u288 { limb0: 0x134b53d15a50fc2bed6d2f3d, limb1: 0xd4f8c40bf294c7e18346462d, - limb2: 0x1aad2161b8c9e68e + limb2: 0x1aad2161b8c9e68e, }, r0a1: u288 { limb0: 0x88262244e0b154b0ca5b5d9a, limb1: 0xd288b3c01ba5c293f8c800f8, - limb2: 0xf0ac20574e1aede + limb2: 0xf0ac20574e1aede, }, r1a0: u288 { limb0: 0xe5373b9b81964332b6771878, limb1: 0x80e60988bd2e9de7f4395ae6, - limb2: 0x2e916f6959fa27f0 + limb2: 0x2e916f6959fa27f0, }, r1a1: u288 { limb0: 0x3f67c739560ef94c04b58369, limb1: 0x1ee07a68fb111967cd5b15b8, - limb2: 0x1b7e48fae034571 - } + limb2: 0x1b7e48fae034571, + }, }, G2Line { r0a0: u288 { limb0: 0x59f254cb97c8a519e0461a6, limb1: 0xb4542e9c6bb21b7d9648e1d4, - limb2: 0x22dc33964ee2947b + limb2: 0x22dc33964ee2947b, }, r0a1: u288 { limb0: 0x5e83c2931befc562e4c93cee, limb1: 0x675b3e97b43eba3f75101885, - limb2: 0x11d20ed3321c48f + limb2: 0x11d20ed3321c48f, }, r1a0: u288 { limb0: 0x11e5d20e996d12471ceb3541, limb1: 0x229064d01b397b4af809e840, - limb2: 0x21834a1301ac5984 + limb2: 0x21834a1301ac5984, }, r1a1: u288 { limb0: 0xbe43cdde5117c697882c850f, limb1: 0x1bc4151048af9bbd27f7e82a, - limb2: 0x2501d9aca420d21e - } + limb2: 0x2501d9aca420d21e, + }, }, G2Line { r0a0: u288 { limb0: 0x134b53d15a50fc2bed6d2f3d, limb1: 0xd4f8c40bf294c7e18346462d, - limb2: 0x1aad2161b8c9e68e + limb2: 0x1aad2161b8c9e68e, }, r0a1: u288 { limb0: 0x88262244e0b154b0ca5b5d9a, limb1: 0xd288b3c01ba5c293f8c800f8, - limb2: 0xf0ac20574e1aede + limb2: 0xf0ac20574e1aede, }, r1a0: u288 { limb0: 0xe5373b9b81964332b6771878, limb1: 0x80e60988bd2e9de7f4395ae6, - limb2: 0x2e916f6959fa27f0 + limb2: 0x2e916f6959fa27f0, }, r1a1: u288 { limb0: 0x3f67c739560ef94c04b58369, limb1: 0x1ee07a68fb111967cd5b15b8, - limb2: 0x1b7e48fae034571 - } + limb2: 0x1b7e48fae034571, + }, }, G2Line { r0a0: u288 { limb0: 0x65bb9e7438a232dad6eb7f96, limb1: 0x5cf05222319fe00305afe0bf, - limb2: 0x1c6d87b3a5aabb43 + limb2: 0x1c6d87b3a5aabb43, }, r0a1: u288 { limb0: 0xb8e845bbd71aa9644432eaa6, limb1: 0xcdbf988db0903b19b07b9f3, - limb2: 0x107ca76698ca0dcd + limb2: 0x107ca76698ca0dcd, }, r1a0: u288 { limb0: 0x5ba7979e387e50b016321956, limb1: 0x2ee41a1e59ccbc1350611d32, - limb2: 0x11a3b7b762eec2c5 + limb2: 0x11a3b7b762eec2c5, }, r1a1: u288 { limb0: 0xb3f5edfecf19d6f82799dd03, limb1: 0xc0d095110dad9ebbefe29784, - limb2: 0x1f63c13501eeeaf5 - } + limb2: 0x1f63c13501eeeaf5, + }, }, G2Line { r0a0: u288 { limb0: 0x65bb9e7438a232dad6eb7f96, limb1: 0x5cf05222319fe00305afe0bf, - limb2: 0x1c6d87b3a5aabb43 + limb2: 0x1c6d87b3a5aabb43, }, r0a1: u288 { limb0: 0xb8e845bbd71aa9644432eaa6, limb1: 0xcdbf988db0903b19b07b9f3, - limb2: 0x107ca76698ca0dcd + limb2: 0x107ca76698ca0dcd, }, r1a0: u288 { limb0: 0x5ba7979e387e50b016321956, limb1: 0x2ee41a1e59ccbc1350611d32, - limb2: 0x11a3b7b762eec2c5 + limb2: 0x11a3b7b762eec2c5, }, r1a1: u288 { limb0: 0xb3f5edfecf19d6f82799dd03, limb1: 0xc0d095110dad9ebbefe29784, - limb2: 0x1f63c13501eeeaf5 - } + limb2: 0x1f63c13501eeeaf5, + }, }, G2Line { r0a0: u288 { limb0: 0xde29dd2c7147403100fa258c, limb1: 0xbfc33c64aa2cdfd5f33f638d, - limb2: 0x139edaa5713a8a73 + limb2: 0x139edaa5713a8a73, }, r0a1: u288 { limb0: 0x8de2a4556c0698bd62bdc91d, limb1: 0x497ed1dffa7e70b6c15dad0c, - limb2: 0x2cd9650c8add9b02 + limb2: 0x2cd9650c8add9b02, }, r1a0: u288 { limb0: 0x2357739dff7746f02bf5d5cd, limb1: 0x37396bdbe70cf65e7f7ed43b, - limb2: 0x16571ebe2a0acf51 + limb2: 0x16571ebe2a0acf51, }, r1a1: u288 { limb0: 0x5df40d02171f3aa50f4f1b23, limb1: 0x3d504cd9327215bf089595d0, - limb2: 0x2598b49390b4ab86 - } + limb2: 0x2598b49390b4ab86, + }, }, G2Line { r0a0: u288 { limb0: 0xde29dd2c7147403100fa258c, limb1: 0xbfc33c64aa2cdfd5f33f638d, - limb2: 0x139edaa5713a8a73 + limb2: 0x139edaa5713a8a73, }, r0a1: u288 { limb0: 0x8de2a4556c0698bd62bdc91d, limb1: 0x497ed1dffa7e70b6c15dad0c, - limb2: 0x2cd9650c8add9b02 + limb2: 0x2cd9650c8add9b02, }, r1a0: u288 { limb0: 0x2357739dff7746f02bf5d5cd, limb1: 0x37396bdbe70cf65e7f7ed43b, - limb2: 0x16571ebe2a0acf51 + limb2: 0x16571ebe2a0acf51, }, r1a1: u288 { limb0: 0x5df40d02171f3aa50f4f1b23, limb1: 0x3d504cd9327215bf089595d0, - limb2: 0x2598b49390b4ab86 - } + limb2: 0x2598b49390b4ab86, + }, }, G2Line { r0a0: u288 { limb0: 0x4360e486f47a872ae0460f44, limb1: 0x7bb35bfed6fcfcf8779029e1, - limb2: 0x1390b4c7cb6b52f1 + limb2: 0x1390b4c7cb6b52f1, }, r0a1: u288 { limb0: 0xa628a0a5b10cbbd6c74c24ee, limb1: 0x7470f4707a0cc892ebefded7, - limb2: 0x1ff4ca8749a8104e + limb2: 0x1ff4ca8749a8104e, }, r1a0: u288 { limb0: 0xff60a007ec6c8b1e83574f3d, limb1: 0xce3526917a6268d71609c0a1, - limb2: 0x3016dc03227dad67 + limb2: 0x3016dc03227dad67, }, r1a1: u288 { limb0: 0x3989e237ecb0bc27e6ad5d37, limb1: 0x91acde41c342e92417210e02, - limb2: 0x2c602bf496b1e2b8 - } + limb2: 0x2c602bf496b1e2b8, + }, }, G2Line { r0a0: u288 { limb0: 0x103a372c78fa5b2a67d01204, limb1: 0x675f1cbc7aebe1140e8bed2a, - limb2: 0x2532e98456a291c3 + limb2: 0x2532e98456a291c3, }, r0a1: u288 { limb0: 0xc0be03786bd147df08fa1ece, limb1: 0x7878592e1699337b543a6fa2, - limb2: 0x9e2390310f5b3d7 + limb2: 0x9e2390310f5b3d7, }, r1a0: u288 { limb0: 0x6d973cc33a79ba068e6572ad, limb1: 0xc2fddbd0c013d321cabfbf43, - limb2: 0x249b679f9a94f336 + limb2: 0x249b679f9a94f336, }, r1a1: u288 { limb0: 0xe20f26b34d3756b2b9519351, limb1: 0xde793f45fed2b6ad4576aaf8, - limb2: 0x2cc11b280706670a - } + limb2: 0x2cc11b280706670a, + }, }, G2Line { r0a0: u288 { limb0: 0x4360e486f47a872ae0460f44, limb1: 0x7bb35bfed6fcfcf8779029e1, - limb2: 0x1390b4c7cb6b52f1 + limb2: 0x1390b4c7cb6b52f1, }, r0a1: u288 { limb0: 0xa628a0a5b10cbbd6c74c24ee, limb1: 0x7470f4707a0cc892ebefded7, - limb2: 0x1ff4ca8749a8104e + limb2: 0x1ff4ca8749a8104e, }, r1a0: u288 { limb0: 0xff60a007ec6c8b1e83574f3d, limb1: 0xce3526917a6268d71609c0a1, - limb2: 0x3016dc03227dad67 + limb2: 0x3016dc03227dad67, }, r1a1: u288 { limb0: 0x3989e237ecb0bc27e6ad5d37, limb1: 0x91acde41c342e92417210e02, - limb2: 0x2c602bf496b1e2b8 - } + limb2: 0x2c602bf496b1e2b8, + }, }, G2Line { r0a0: u288 { limb0: 0x103a372c78fa5b2a67d01204, limb1: 0x675f1cbc7aebe1140e8bed2a, - limb2: 0x2532e98456a291c3 + limb2: 0x2532e98456a291c3, }, r0a1: u288 { limb0: 0xc0be03786bd147df08fa1ece, limb1: 0x7878592e1699337b543a6fa2, - limb2: 0x9e2390310f5b3d7 + limb2: 0x9e2390310f5b3d7, }, r1a0: u288 { limb0: 0x6d973cc33a79ba068e6572ad, limb1: 0xc2fddbd0c013d321cabfbf43, - limb2: 0x249b679f9a94f336 + limb2: 0x249b679f9a94f336, }, r1a1: u288 { limb0: 0xe20f26b34d3756b2b9519351, limb1: 0xde793f45fed2b6ad4576aaf8, - limb2: 0x2cc11b280706670a - } + limb2: 0x2cc11b280706670a, + }, }, G2Line { r0a0: u288 { limb0: 0x551986dc96f0443f7ac4ba73, limb1: 0x78107a0c01ea8e3f9bd2e6fd, - limb2: 0x201da6796dee986f + limb2: 0x201da6796dee986f, }, r0a1: u288 { limb0: 0xb29fe7d173b13e6ed7b96297, limb1: 0x77342f3c7dfec27fe1753e85, - limb2: 0x1fa36d6151f8156e + limb2: 0x1fa36d6151f8156e, }, r1a0: u288 { limb0: 0xcfbc59734fa247fead294d84, limb1: 0x95cf28f410134c75494cc333, - limb2: 0x2fdd98603896fb30 + limb2: 0x2fdd98603896fb30, }, r1a1: u288 { limb0: 0x225b0b0fef9e6d36d471d78e, limb1: 0x278c8534902d21f77aef3522, - limb2: 0xe42d7fa7de4d6c8 - } + limb2: 0xe42d7fa7de4d6c8, + }, }, G2Line { r0a0: u288 { limb0: 0x551986dc96f0443f7ac4ba73, limb1: 0x78107a0c01ea8e3f9bd2e6fd, - limb2: 0x201da6796dee986f + limb2: 0x201da6796dee986f, }, r0a1: u288 { limb0: 0xb29fe7d173b13e6ed7b96297, limb1: 0x77342f3c7dfec27fe1753e85, - limb2: 0x1fa36d6151f8156e + limb2: 0x1fa36d6151f8156e, }, r1a0: u288 { limb0: 0xcfbc59734fa247fead294d84, limb1: 0x95cf28f410134c75494cc333, - limb2: 0x2fdd98603896fb30 + limb2: 0x2fdd98603896fb30, }, r1a1: u288 { limb0: 0x225b0b0fef9e6d36d471d78e, limb1: 0x278c8534902d21f77aef3522, - limb2: 0xe42d7fa7de4d6c8 - } + limb2: 0xe42d7fa7de4d6c8, + }, }, G2Line { r0a0: u288 { limb0: 0xd524080ad04473596afdaafb, limb1: 0x9da4392d65be1f8372c18a53, - limb2: 0xbccb6baf45de67c + limb2: 0xbccb6baf45de67c, }, r0a1: u288 { limb0: 0x336813e1fb5e17e81b5b051b, limb1: 0xe98e855ed4992521f93709a4, - limb2: 0x297b055bd5622a18 + limb2: 0x297b055bd5622a18, }, r1a0: u288 { limb0: 0x2e761701f878006486dedec1, limb1: 0x677ff8e5f6b82a95401407f, - limb2: 0x2f5725fecfef8317 + limb2: 0x2f5725fecfef8317, }, r1a1: u288 { limb0: 0x839358e9dd8ffc54f27fca9c, limb1: 0xa4a0948db4162fdf44aee0f6, - limb2: 0x2849739e5c4e2ee3 - } + limb2: 0x2849739e5c4e2ee3, + }, }, G2Line { r0a0: u288 { limb0: 0xd524080ad04473596afdaafb, limb1: 0x9da4392d65be1f8372c18a53, - limb2: 0xbccb6baf45de67c + limb2: 0xbccb6baf45de67c, }, r0a1: u288 { limb0: 0x336813e1fb5e17e81b5b051b, limb1: 0xe98e855ed4992521f93709a4, - limb2: 0x297b055bd5622a18 + limb2: 0x297b055bd5622a18, }, r1a0: u288 { limb0: 0x2e761701f878006486dedec1, limb1: 0x677ff8e5f6b82a95401407f, - limb2: 0x2f5725fecfef8317 + limb2: 0x2f5725fecfef8317, }, r1a1: u288 { limb0: 0x839358e9dd8ffc54f27fca9c, limb1: 0xa4a0948db4162fdf44aee0f6, - limb2: 0x2849739e5c4e2ee3 - } + limb2: 0x2849739e5c4e2ee3, + }, }, G2Line { r0a0: u288 { limb0: 0xc9cde220c427e6e795c276ea, limb1: 0xf16a4bf65aa097b4b2102d3a, - limb2: 0x107f879bc0743525 + limb2: 0x107f879bc0743525, }, r0a1: u288 { limb0: 0x5edbca4d3c47278b7e543edc, limb1: 0xe6280d0a1160bc4062c712a2, - limb2: 0xd65ce18e50f6e9f + limb2: 0xd65ce18e50f6e9f, }, r1a0: u288 { limb0: 0x922d89859e41d74f44066e94, limb1: 0x92d65b7ea0039b0163ab463, - limb2: 0x233cfba3a88b3b44 + limb2: 0x233cfba3a88b3b44, }, r1a1: u288 { limb0: 0xbaceedcb5732d6a04a4a3ba2, limb1: 0xe586d3e9d7583a9b9956674c, - limb2: 0x1b35c7bee23e7274 - } + limb2: 0x1b35c7bee23e7274, + }, }, G2Line { r0a0: u288 { limb0: 0xc9cde220c427e6e795c276ea, limb1: 0xf16a4bf65aa097b4b2102d3a, - limb2: 0x107f879bc0743525 + limb2: 0x107f879bc0743525, }, r0a1: u288 { limb0: 0x5edbca4d3c47278b7e543edc, limb1: 0xe6280d0a1160bc4062c712a2, - limb2: 0xd65ce18e50f6e9f + limb2: 0xd65ce18e50f6e9f, }, r1a0: u288 { limb0: 0x922d89859e41d74f44066e94, limb1: 0x92d65b7ea0039b0163ab463, - limb2: 0x233cfba3a88b3b44 + limb2: 0x233cfba3a88b3b44, }, r1a1: u288 { limb0: 0xbaceedcb5732d6a04a4a3ba2, limb1: 0xe586d3e9d7583a9b9956674c, - limb2: 0x1b35c7bee23e7274 - } + limb2: 0x1b35c7bee23e7274, + }, }, G2Line { r0a0: u288 { limb0: 0x7dc2872c3517c1e449fc4122, limb1: 0x705ab5ca7266a5ffa614625b, - limb2: 0x166c4d11551f6f6d + limb2: 0x166c4d11551f6f6d, }, r0a1: u288 { limb0: 0x492f67a4ba40719208859c1b, limb1: 0x7a676c7fc4295e5aab645973, - limb2: 0x2d03ea35dec3ab5d + limb2: 0x2d03ea35dec3ab5d, }, r1a0: u288 { limb0: 0x529cb1e346af0b40e0e2e6b9, limb1: 0xe42e697812ceb8a7c51f85b3, - limb2: 0x2b5f25393ba2c781 + limb2: 0x2b5f25393ba2c781, }, r1a1: u288 { limb0: 0x3d2f685444515b3441d54cee, limb1: 0xed7dcc8e1781c6d4006bba3f, - limb2: 0x26f0fac3db26fe20 - } + limb2: 0x26f0fac3db26fe20, + }, }, G2Line { r0a0: u288 { limb0: 0x7dc2872c3517c1e449fc4122, limb1: 0x705ab5ca7266a5ffa614625b, - limb2: 0x166c4d11551f6f6d + limb2: 0x166c4d11551f6f6d, }, r0a1: u288 { limb0: 0x492f67a4ba40719208859c1b, limb1: 0x7a676c7fc4295e5aab645973, - limb2: 0x2d03ea35dec3ab5d + limb2: 0x2d03ea35dec3ab5d, }, r1a0: u288 { limb0: 0x529cb1e346af0b40e0e2e6b9, limb1: 0xe42e697812ceb8a7c51f85b3, - limb2: 0x2b5f25393ba2c781 + limb2: 0x2b5f25393ba2c781, }, r1a1: u288 { limb0: 0x3d2f685444515b3441d54cee, limb1: 0xed7dcc8e1781c6d4006bba3f, - limb2: 0x26f0fac3db26fe20 - } + limb2: 0x26f0fac3db26fe20, + }, }, G2Line { r0a0: u288 { limb0: 0x1e691060b09334f4d4d11564, limb1: 0xc2f23d460e32ab29aac9a462, - limb2: 0x1f52946e8ab57b9d + limb2: 0x1f52946e8ab57b9d, }, r0a1: u288 { limb0: 0xb8f6cec3d46206bf11579e06, limb1: 0x6b82224b4c502934276477ce, - limb2: 0x4263847a3546583 + limb2: 0x4263847a3546583, }, r1a0: u288 { limb0: 0x3e02aba94130839fdfb531d3, limb1: 0x89b37e5ce7cd94f86280b704, - limb2: 0x25f502760510099 + limb2: 0x25f502760510099, }, r1a1: u288 { limb0: 0xef21ddf9cebf3491c94329fd, limb1: 0xb2577ec6fa2817d5e8a2aaad, - limb2: 0x2e0a1cc9617d5d85 - } + limb2: 0x2e0a1cc9617d5d85, + }, }, G2Line { r0a0: u288 { limb0: 0x8ccc1f1b7b7c84a2fb81a4d1, limb1: 0x1fd835bf3d332347a842499, - limb2: 0x105f1e2419d5da43 + limb2: 0x105f1e2419d5da43, }, r0a1: u288 { limb0: 0xce0594565bc3f6746917fac1, limb1: 0x10f45021d35f29b40306afa2, - limb2: 0x175b0196bc37d977 + limb2: 0x175b0196bc37d977, }, r1a0: u288 { limb0: 0x3bfc77f3df29fdb7446275fd, limb1: 0x761a984dcc263e2a7230a42c, - limb2: 0xdc47d8f8fd9a377 + limb2: 0xdc47d8f8fd9a377, }, r1a1: u288 { limb0: 0x5310a14e6b20a87bded6741b, limb1: 0xaf75a4d44565ed067c32308e, - limb2: 0x1745ddfc2f0f2db5 - } + limb2: 0x1745ddfc2f0f2db5, + }, }, G2Line { r0a0: u288 { limb0: 0x1e691060b09334f4d4d11564, limb1: 0xc2f23d460e32ab29aac9a462, - limb2: 0x1f52946e8ab57b9d + limb2: 0x1f52946e8ab57b9d, }, r0a1: u288 { limb0: 0xb8f6cec3d46206bf11579e06, limb1: 0x6b82224b4c502934276477ce, - limb2: 0x4263847a3546583 + limb2: 0x4263847a3546583, }, r1a0: u288 { limb0: 0x3e02aba94130839fdfb531d3, limb1: 0x89b37e5ce7cd94f86280b704, - limb2: 0x25f502760510099 + limb2: 0x25f502760510099, }, r1a1: u288 { limb0: 0xef21ddf9cebf3491c94329fd, limb1: 0xb2577ec6fa2817d5e8a2aaad, - limb2: 0x2e0a1cc9617d5d85 - } + limb2: 0x2e0a1cc9617d5d85, + }, }, G2Line { r0a0: u288 { limb0: 0x8ccc1f1b7b7c84a2fb81a4d1, limb1: 0x1fd835bf3d332347a842499, - limb2: 0x105f1e2419d5da43 + limb2: 0x105f1e2419d5da43, }, r0a1: u288 { limb0: 0xce0594565bc3f6746917fac1, limb1: 0x10f45021d35f29b40306afa2, - limb2: 0x175b0196bc37d977 + limb2: 0x175b0196bc37d977, }, r1a0: u288 { limb0: 0x3bfc77f3df29fdb7446275fd, limb1: 0x761a984dcc263e2a7230a42c, - limb2: 0xdc47d8f8fd9a377 + limb2: 0xdc47d8f8fd9a377, }, r1a1: u288 { limb0: 0x5310a14e6b20a87bded6741b, limb1: 0xaf75a4d44565ed067c32308e, - limb2: 0x1745ddfc2f0f2db5 - } + limb2: 0x1745ddfc2f0f2db5, + }, }, G2Line { r0a0: u288 { limb0: 0x9002fa9c872aa1591cb2e83c, limb1: 0x18092dea89807d07c96f5cee, - limb2: 0x5e775cc8d0e2333 + limb2: 0x5e775cc8d0e2333, }, r0a1: u288 { limb0: 0x6e55603f23c1e2f40ecbc3be, limb1: 0x9ef6bba8f2ca071759eee99a, - limb2: 0x66cf6e10d463eb6 + limb2: 0x66cf6e10d463eb6, }, r1a0: u288 { limb0: 0x30131216b55fd9bf4d2cbe86, limb1: 0xbaa5fde208b9fceda4ed5946, - limb2: 0xdbb530576beae47 + limb2: 0xdbb530576beae47, }, r1a1: u288 { limb0: 0xe09b26e7b2fe48a7f274d02d, limb1: 0x9e41ae04207fa2eb5f641fed, - limb2: 0x511a273c2863628 - } + limb2: 0x511a273c2863628, + }, }, G2Line { r0a0: u288 { limb0: 0x9002fa9c872aa1591cb2e83c, limb1: 0x18092dea89807d07c96f5cee, - limb2: 0x5e775cc8d0e2333 + limb2: 0x5e775cc8d0e2333, }, r0a1: u288 { limb0: 0x6e55603f23c1e2f40ecbc3be, limb1: 0x9ef6bba8f2ca071759eee99a, - limb2: 0x66cf6e10d463eb6 + limb2: 0x66cf6e10d463eb6, }, r1a0: u288 { limb0: 0x30131216b55fd9bf4d2cbe86, limb1: 0xbaa5fde208b9fceda4ed5946, - limb2: 0xdbb530576beae47 + limb2: 0xdbb530576beae47, }, r1a1: u288 { limb0: 0xe09b26e7b2fe48a7f274d02d, limb1: 0x9e41ae04207fa2eb5f641fed, - limb2: 0x511a273c2863628 - } + limb2: 0x511a273c2863628, + }, }, G2Line { r0a0: u288 { limb0: 0x9e446957265af1f6cdcb9e15, limb1: 0x6c10753b3e38581919c0cc4d, - limb2: 0x3049507b97cd2ae3 + limb2: 0x3049507b97cd2ae3, }, r0a1: u288 { limb0: 0x81d9c4ec56b0c577f646eb40, limb1: 0x2e5a0918579e398c48776ad2, - limb2: 0x3d00590d1493ac8 + limb2: 0x3d00590d1493ac8, }, r1a0: u288 { limb0: 0xa5ffc6ee3bc132f1681fe84f, limb1: 0x6906fa22a16540a098a498a7, - limb2: 0xd23995e1c7ff58d + limb2: 0xd23995e1c7ff58d, }, r1a1: u288 { limb0: 0x99b1ea789cd8357bbc2d09d8, limb1: 0x2fde0375bb34e500582e9729, - limb2: 0xfad5daa8506bc1 - } + limb2: 0xfad5daa8506bc1, + }, }, G2Line { r0a0: u288 { limb0: 0xc627fa78d0f6604cfc6262bc, limb1: 0x1a3f0695ff6e8412d1ea0eda, - limb2: 0x1b1754c1a9e0cea9 + limb2: 0x1b1754c1a9e0cea9, }, r0a1: u288 { limb0: 0x8fbb7ca95e11dda5d5f44cc0, limb1: 0xaab02dc7e290087c8d9224dc, - limb2: 0x4c39cf6e88ea4d8 + limb2: 0x4c39cf6e88ea4d8, }, r1a0: u288 { limb0: 0x66b308f30b0a27dfb743a053, limb1: 0xc24b32150e094160eb1e6e20, - limb2: 0x16091aac6ef81c7 + limb2: 0x16091aac6ef81c7, }, r1a1: u288 { limb0: 0x7e3aeab40b6fb8507a19662f, limb1: 0x8fa259d1ce6d3db3ba6cbcd, - limb2: 0x2c175175b8686be5 - } + limb2: 0x2c175175b8686be5, + }, }, G2Line { r0a0: u288 { limb0: 0x9e446957265af1f6cdcb9e15, limb1: 0x6c10753b3e38581919c0cc4d, - limb2: 0x3049507b97cd2ae3 + limb2: 0x3049507b97cd2ae3, }, r0a1: u288 { limb0: 0x81d9c4ec56b0c577f646eb40, limb1: 0x2e5a0918579e398c48776ad2, - limb2: 0x3d00590d1493ac8 + limb2: 0x3d00590d1493ac8, }, r1a0: u288 { limb0: 0xa5ffc6ee3bc132f1681fe84f, limb1: 0x6906fa22a16540a098a498a7, - limb2: 0xd23995e1c7ff58d + limb2: 0xd23995e1c7ff58d, }, r1a1: u288 { limb0: 0x99b1ea789cd8357bbc2d09d8, limb1: 0x2fde0375bb34e500582e9729, - limb2: 0xfad5daa8506bc1 - } + limb2: 0xfad5daa8506bc1, + }, }, G2Line { r0a0: u288 { limb0: 0xc627fa78d0f6604cfc6262bc, limb1: 0x1a3f0695ff6e8412d1ea0eda, - limb2: 0x1b1754c1a9e0cea9 + limb2: 0x1b1754c1a9e0cea9, }, r0a1: u288 { limb0: 0x8fbb7ca95e11dda5d5f44cc0, limb1: 0xaab02dc7e290087c8d9224dc, - limb2: 0x4c39cf6e88ea4d8 + limb2: 0x4c39cf6e88ea4d8, }, r1a0: u288 { limb0: 0x66b308f30b0a27dfb743a053, limb1: 0xc24b32150e094160eb1e6e20, - limb2: 0x16091aac6ef81c7 + limb2: 0x16091aac6ef81c7, }, r1a1: u288 { limb0: 0x7e3aeab40b6fb8507a19662f, limb1: 0x8fa259d1ce6d3db3ba6cbcd, - limb2: 0x2c175175b8686be5 - } + limb2: 0x2c175175b8686be5, + }, }, G2Line { r0a0: u288 { limb0: 0x391e6f951049b131d70e651, limb1: 0x5c0f54485e635304e14ce30e, - limb2: 0x221ee8dc68dde949 + limb2: 0x221ee8dc68dde949, }, r0a1: u288 { limb0: 0xac8ba155c82a61103e2963c1, limb1: 0x8559d1265b1f4418a886b3aa, - limb2: 0x140ce9c3c2eb5374 + limb2: 0x140ce9c3c2eb5374, }, r1a0: u288 { limb0: 0x73ebb164ba66b89f6ac09079, limb1: 0x3699654a08147615c793b6b5, - limb2: 0xaa97a901c3147f3 + limb2: 0xaa97a901c3147f3, }, r1a1: u288 { limb0: 0x9666d2cab8edbbffe6ede238, limb1: 0xc28b607bd98c0f9789de1cb4, - limb2: 0xcb0f83e0497f81e - } + limb2: 0xcb0f83e0497f81e, + }, }, G2Line { r0a0: u288 { limb0: 0x391e6f951049b131d70e651, limb1: 0x5c0f54485e635304e14ce30e, - limb2: 0x221ee8dc68dde949 + limb2: 0x221ee8dc68dde949, }, r0a1: u288 { limb0: 0xac8ba155c82a61103e2963c1, limb1: 0x8559d1265b1f4418a886b3aa, - limb2: 0x140ce9c3c2eb5374 + limb2: 0x140ce9c3c2eb5374, }, r1a0: u288 { limb0: 0x73ebb164ba66b89f6ac09079, limb1: 0x3699654a08147615c793b6b5, - limb2: 0xaa97a901c3147f3 + limb2: 0xaa97a901c3147f3, }, r1a1: u288 { limb0: 0x9666d2cab8edbbffe6ede238, limb1: 0xc28b607bd98c0f9789de1cb4, - limb2: 0xcb0f83e0497f81e - } + limb2: 0xcb0f83e0497f81e, + }, }, G2Line { r0a0: u288 { limb0: 0xd9cb0120b4122fb011495b79, limb1: 0xb13527eef1359006fb9859de, - limb2: 0x240401f012c778a3 + limb2: 0x240401f012c778a3, }, r0a1: u288 { limb0: 0x9cc1ae143c291244678b0671, limb1: 0x3f4bdf8e0d1bb7d8d2c700d7, - limb2: 0x12fc2e1a9bd4d4fb + limb2: 0x12fc2e1a9bd4d4fb, }, r1a0: u288 { limb0: 0x4d62fe7db900df0085dff093, limb1: 0x424c17123aa393f8a5520eb9, - limb2: 0x8df0bf255c22f60 + limb2: 0x8df0bf255c22f60, }, r1a1: u288 { limb0: 0x4caa438a70cd1b3862c1618e, limb1: 0x3e479829171b3521b4952056, - limb2: 0x828e185bcf93935 - } + limb2: 0x828e185bcf93935, + }, }, G2Line { r0a0: u288 { limb0: 0xd9cb0120b4122fb011495b79, limb1: 0xb13527eef1359006fb9859de, - limb2: 0x240401f012c778a3 + limb2: 0x240401f012c778a3, }, r0a1: u288 { limb0: 0x9cc1ae143c291244678b0671, limb1: 0x3f4bdf8e0d1bb7d8d2c700d7, - limb2: 0x12fc2e1a9bd4d4fb + limb2: 0x12fc2e1a9bd4d4fb, }, r1a0: u288 { limb0: 0x4d62fe7db900df0085dff093, limb1: 0x424c17123aa393f8a5520eb9, - limb2: 0x8df0bf255c22f60 + limb2: 0x8df0bf255c22f60, }, r1a1: u288 { limb0: 0x4caa438a70cd1b3862c1618e, limb1: 0x3e479829171b3521b4952056, - limb2: 0x828e185bcf93935 - } + limb2: 0x828e185bcf93935, + }, }, G2Line { r0a0: u288 { limb0: 0xb862a4ff37044dbe06e91363, limb1: 0xaf8e301a655e3e4a00bc528, - limb2: 0x1b35ba3ad1783bfa + limb2: 0x1b35ba3ad1783bfa, }, r0a1: u288 { limb0: 0x4d069af037c7fa2d75a8135b, limb1: 0xe23f93edb80bda1ddf6c3d8b, - limb2: 0x734462d6e70bd6 + limb2: 0x734462d6e70bd6, }, r1a0: u288 { limb0: 0xca21499f48088a3152f20477, limb1: 0xfb6ff15c58fd656c3a068ba7, - limb2: 0x129921fd1af30952 + limb2: 0x129921fd1af30952, }, r1a1: u288 { limb0: 0xe182d8890b92a8c636cfc2d5, limb1: 0xcf37e9714eabfb65cd257a30, - limb2: 0x19c5b0d5affa1c21 - } + limb2: 0x19c5b0d5affa1c21, + }, }, G2Line { r0a0: u288 { limb0: 0xb862a4ff37044dbe06e91363, limb1: 0xaf8e301a655e3e4a00bc528, - limb2: 0x1b35ba3ad1783bfa + limb2: 0x1b35ba3ad1783bfa, }, r0a1: u288 { limb0: 0x4d069af037c7fa2d75a8135b, limb1: 0xe23f93edb80bda1ddf6c3d8b, - limb2: 0x734462d6e70bd6 + limb2: 0x734462d6e70bd6, }, r1a0: u288 { limb0: 0xca21499f48088a3152f20477, limb1: 0xfb6ff15c58fd656c3a068ba7, - limb2: 0x129921fd1af30952 + limb2: 0x129921fd1af30952, }, r1a1: u288 { limb0: 0xe182d8890b92a8c636cfc2d5, limb1: 0xcf37e9714eabfb65cd257a30, - limb2: 0x19c5b0d5affa1c21 - } + limb2: 0x19c5b0d5affa1c21, + }, }, G2Line { r0a0: u288 { limb0: 0x8d30e8f01b6acf088a9bd5a6, limb1: 0xb440d1794eef76a66e0fdb32, - limb2: 0x16655a68127499b0 + limb2: 0x16655a68127499b0, }, r0a1: u288 { limb0: 0xf12061678632cd148d1be332, limb1: 0x3aa5b5ac85bb5c32e7c93d40, - limb2: 0x2f885ae792f2779e + limb2: 0x2f885ae792f2779e, }, r1a0: u288 { limb0: 0x1de53ae1c1e6c599d4a495e4, limb1: 0x8ef188b9abb6e97a0375dee6, - limb2: 0x9507d99d56d4d1d + limb2: 0x9507d99d56d4d1d, }, r1a1: u288 { limb0: 0x9a83ce73013109f348314267, limb1: 0xffd1a4c21374ab0fcece03f4, - limb2: 0x7570f2346d80d71 - } + limb2: 0x7570f2346d80d71, + }, }, G2Line { r0a0: u288 { limb0: 0xffb932597fa8bdce8de82fd9, limb1: 0xc9265a1ac66f25b59b4c7222, - limb2: 0x2a43f963f80117be + limb2: 0x2a43f963f80117be, }, r0a1: u288 { limb0: 0x9b6456669db38b591a35fa4e, limb1: 0x31aa367c72c0f07897f7d4a4, - limb2: 0x28d40172399c3b03 + limb2: 0x28d40172399c3b03, }, r1a0: u288 { limb0: 0xca95f93e068ff337f73f54d5, limb1: 0xabbf9fdc66cc4b10f9da741, - limb2: 0x22f1e27d902fc3ff + limb2: 0x22f1e27d902fc3ff, }, r1a1: u288 { limb0: 0xd12f8d49ae60289c48850a68, limb1: 0xc27491d681fc8ec1edf9d749, - limb2: 0x14e28f1895e25047 - } + limb2: 0x14e28f1895e25047, + }, }, G2Line { r0a0: u288 { limb0: 0x8d30e8f01b6acf088a9bd5a6, limb1: 0xb440d1794eef76a66e0fdb32, - limb2: 0x16655a68127499b0 + limb2: 0x16655a68127499b0, }, r0a1: u288 { limb0: 0xf12061678632cd148d1be332, limb1: 0x3aa5b5ac85bb5c32e7c93d40, - limb2: 0x2f885ae792f2779e + limb2: 0x2f885ae792f2779e, }, r1a0: u288 { limb0: 0x1de53ae1c1e6c599d4a495e4, limb1: 0x8ef188b9abb6e97a0375dee6, - limb2: 0x9507d99d56d4d1d + limb2: 0x9507d99d56d4d1d, }, r1a1: u288 { limb0: 0x9a83ce73013109f348314267, limb1: 0xffd1a4c21374ab0fcece03f4, - limb2: 0x7570f2346d80d71 - } + limb2: 0x7570f2346d80d71, + }, }, G2Line { r0a0: u288 { limb0: 0xffb932597fa8bdce8de82fd9, limb1: 0xc9265a1ac66f25b59b4c7222, - limb2: 0x2a43f963f80117be + limb2: 0x2a43f963f80117be, }, r0a1: u288 { limb0: 0x9b6456669db38b591a35fa4e, limb1: 0x31aa367c72c0f07897f7d4a4, - limb2: 0x28d40172399c3b03 + limb2: 0x28d40172399c3b03, }, r1a0: u288 { limb0: 0xca95f93e068ff337f73f54d5, limb1: 0xabbf9fdc66cc4b10f9da741, - limb2: 0x22f1e27d902fc3ff + limb2: 0x22f1e27d902fc3ff, }, r1a1: u288 { limb0: 0xd12f8d49ae60289c48850a68, limb1: 0xc27491d681fc8ec1edf9d749, - limb2: 0x14e28f1895e25047 - } + limb2: 0x14e28f1895e25047, + }, }, G2Line { r0a0: u288 { limb0: 0x473f1af712fdc704395691fd, limb1: 0xb051550f381c34c4b0734c3b, - limb2: 0x268983f32c1ff74a + limb2: 0x268983f32c1ff74a, }, r0a1: u288 { limb0: 0xcd3e26d45de18312b60f63b3, limb1: 0x4b1cf3f0c70a35c9ed0e7627, - limb2: 0x5faf0f8c5417fac + limb2: 0x5faf0f8c5417fac, }, r1a0: u288 { limb0: 0x7186248c0f4f620c4db44b27, limb1: 0xbaee201f71b6213a513c8c05, - limb2: 0x10696dfde75b0f74 + limb2: 0x10696dfde75b0f74, }, r1a1: u288 { limb0: 0x47fce5c1d2e0b960d052202, limb1: 0x12588735814120777f589cc7, - limb2: 0x755d1d035d5e613 - } + limb2: 0x755d1d035d5e613, + }, }, G2Line { r0a0: u288 { limb0: 0x473f1af712fdc704395691fd, limb1: 0xb051550f381c34c4b0734c3b, - limb2: 0x268983f32c1ff74a + limb2: 0x268983f32c1ff74a, }, r0a1: u288 { limb0: 0xcd3e26d45de18312b60f63b3, limb1: 0x4b1cf3f0c70a35c9ed0e7627, - limb2: 0x5faf0f8c5417fac + limb2: 0x5faf0f8c5417fac, }, r1a0: u288 { limb0: 0x7186248c0f4f620c4db44b27, limb1: 0xbaee201f71b6213a513c8c05, - limb2: 0x10696dfde75b0f74 + limb2: 0x10696dfde75b0f74, }, r1a1: u288 { limb0: 0x47fce5c1d2e0b960d052202, limb1: 0x12588735814120777f589cc7, - limb2: 0x755d1d035d5e613 - } + limb2: 0x755d1d035d5e613, + }, }, G2Line { r0a0: u288 { limb0: 0xb069903d83fafb38587039b1, limb1: 0x8c9aaa21806e5257331c422c, - limb2: 0x13dd740437a116d8 + limb2: 0x13dd740437a116d8, }, r0a1: u288 { limb0: 0x49d24e3bc669a61d3ec25caa, limb1: 0xeca54bbcf540ef02c5af1e2d, - limb2: 0x193a4e0703852e04 + limb2: 0x193a4e0703852e04, }, r1a0: u288 { limb0: 0x40ed8176e59843d8d045473f, limb1: 0xdb66931824221a92af499752, - limb2: 0x187f887f2aa471b3 + limb2: 0x187f887f2aa471b3, }, r1a1: u288 { limb0: 0x5fb9760acf925b445a49c759, limb1: 0xfc8fbbd94b6f146f5b998e84, - limb2: 0x79720a00d9dea8a - } + limb2: 0x79720a00d9dea8a, + }, }, G2Line { r0a0: u288 { limb0: 0x9ea0a9193ffeb1be07f5f80b, limb1: 0xfec5948eaf1002c198e0e6d5, - limb2: 0x2a4574fe23c4019d + limb2: 0x2a4574fe23c4019d, }, r0a1: u288 { limb0: 0x192d77825dd5d0e9571db112, limb1: 0x8b6f1079f2f153206cc2a502, - limb2: 0x247f3bad9ba3c5fe + limb2: 0x247f3bad9ba3c5fe, }, r1a0: u288 { limb0: 0x250463ee5fe1aecbafe35d74, limb1: 0xfb14416968302aaa18aca8dd, - limb2: 0x2667d8c8779f5e63 + limb2: 0x2667d8c8779f5e63, }, r1a1: u288 { limb0: 0x933a251b9bf2654b8cde705, limb1: 0x5b666a17b42cebd66d4dc4a4, - limb2: 0xfbadfc59294fbce - } + limb2: 0xfbadfc59294fbce, + }, }, G2Line { r0a0: u288 { limb0: 0xb069903d83fafb38587039b1, limb1: 0x8c9aaa21806e5257331c422c, - limb2: 0x13dd740437a116d8 + limb2: 0x13dd740437a116d8, }, r0a1: u288 { limb0: 0x49d24e3bc669a61d3ec25caa, limb1: 0xeca54bbcf540ef02c5af1e2d, - limb2: 0x193a4e0703852e04 + limb2: 0x193a4e0703852e04, }, r1a0: u288 { limb0: 0x40ed8176e59843d8d045473f, limb1: 0xdb66931824221a92af499752, - limb2: 0x187f887f2aa471b3 + limb2: 0x187f887f2aa471b3, }, r1a1: u288 { limb0: 0x5fb9760acf925b445a49c759, limb1: 0xfc8fbbd94b6f146f5b998e84, - limb2: 0x79720a00d9dea8a - } + limb2: 0x79720a00d9dea8a, + }, }, G2Line { r0a0: u288 { limb0: 0x9ea0a9193ffeb1be07f5f80b, limb1: 0xfec5948eaf1002c198e0e6d5, - limb2: 0x2a4574fe23c4019d + limb2: 0x2a4574fe23c4019d, }, r0a1: u288 { limb0: 0x192d77825dd5d0e9571db112, limb1: 0x8b6f1079f2f153206cc2a502, - limb2: 0x247f3bad9ba3c5fe + limb2: 0x247f3bad9ba3c5fe, }, r1a0: u288 { limb0: 0x250463ee5fe1aecbafe35d74, limb1: 0xfb14416968302aaa18aca8dd, - limb2: 0x2667d8c8779f5e63 + limb2: 0x2667d8c8779f5e63, }, r1a1: u288 { limb0: 0x933a251b9bf2654b8cde705, limb1: 0x5b666a17b42cebd66d4dc4a4, - limb2: 0xfbadfc59294fbce - } + limb2: 0xfbadfc59294fbce, + }, }, G2Line { r0a0: u288 { limb0: 0x46cedc1a7916cd4758546b8f, limb1: 0xc0301e8d2df36447a89fb4e8, - limb2: 0xd2ca8656d93e09e + limb2: 0xd2ca8656d93e09e, }, r0a1: u288 { limb0: 0xb3e000fc3f43a66bd80ccccd, limb1: 0x4f3937ef435c74591278ec30, - limb2: 0x2cacd585791ab63b + limb2: 0x2cacd585791ab63b, }, r1a0: u288 { limb0: 0x124b8c1a597cadcb6e4cd237, limb1: 0x8ff0b0f8077033669214f5a4, - limb2: 0x2d6762b5646a6eab + limb2: 0x2d6762b5646a6eab, }, r1a1: u288 { limb0: 0x2ac1adef2ec8f4f11dc21d70, limb1: 0xa47ce6dfc3545d78d6b35874, - limb2: 0x1e66cdeff84b898e - } + limb2: 0x1e66cdeff84b898e, + }, }, G2Line { r0a0: u288 { limb0: 0x46cedc1a7916cd4758546b8f, limb1: 0xc0301e8d2df36447a89fb4e8, - limb2: 0xd2ca8656d93e09e + limb2: 0xd2ca8656d93e09e, }, r0a1: u288 { limb0: 0xb3e000fc3f43a66bd80ccccd, limb1: 0x4f3937ef435c74591278ec30, - limb2: 0x2cacd585791ab63b + limb2: 0x2cacd585791ab63b, }, r1a0: u288 { limb0: 0x124b8c1a597cadcb6e4cd237, limb1: 0x8ff0b0f8077033669214f5a4, - limb2: 0x2d6762b5646a6eab + limb2: 0x2d6762b5646a6eab, }, r1a1: u288 { limb0: 0x2ac1adef2ec8f4f11dc21d70, limb1: 0xa47ce6dfc3545d78d6b35874, - limb2: 0x1e66cdeff84b898e - } + limb2: 0x1e66cdeff84b898e, + }, }, G2Line { r0a0: u288 { limb0: 0x7bded937b16de0bd513a7142, limb1: 0xcfbbf3d13e42ad1b5895e0f2, - limb2: 0x1eca553e197cc436 + limb2: 0x1eca553e197cc436, }, r0a1: u288 { limb0: 0x1326b172ffdca7374561eaa7, limb1: 0x1b78b181955868c0feac1a4d, - limb2: 0x27e90d835140fdf2 + limb2: 0x27e90d835140fdf2, }, r1a0: u288 { limb0: 0xabe4a2e309f9a3632b4ed1ce, limb1: 0xcea1bbacd364563ad1a77ebb, - limb2: 0x13127af43089e05a + limb2: 0x13127af43089e05a, }, r1a1: u288 { limb0: 0x87d1cfadbc1dc69a79324026, limb1: 0x9c9c2c5e286779e0a0d895fc, - limb2: 0x111e946cf01322eb - } + limb2: 0x111e946cf01322eb, + }, }, G2Line { r0a0: u288 { limb0: 0x7bded937b16de0bd513a7142, limb1: 0xcfbbf3d13e42ad1b5895e0f2, - limb2: 0x1eca553e197cc436 + limb2: 0x1eca553e197cc436, }, r0a1: u288 { limb0: 0x1326b172ffdca7374561eaa7, limb1: 0x1b78b181955868c0feac1a4d, - limb2: 0x27e90d835140fdf2 + limb2: 0x27e90d835140fdf2, }, r1a0: u288 { limb0: 0xabe4a2e309f9a3632b4ed1ce, limb1: 0xcea1bbacd364563ad1a77ebb, - limb2: 0x13127af43089e05a + limb2: 0x13127af43089e05a, }, r1a1: u288 { limb0: 0x87d1cfadbc1dc69a79324026, limb1: 0x9c9c2c5e286779e0a0d895fc, - limb2: 0x111e946cf01322eb - } + limb2: 0x111e946cf01322eb, + }, }, G2Line { r0a0: u288 { limb0: 0x9defc443a5f969707c567481, limb1: 0x55f8307d8694c3cec8cca946, - limb2: 0x1279f1c85384c33f + limb2: 0x1279f1c85384c33f, }, r0a1: u288 { limb0: 0xc45f4019a78bd32e0bdd4a1b, limb1: 0xaf7ddf8600e2296ceaf95d02, - limb2: 0xbe5e1b962492d36 + limb2: 0xbe5e1b962492d36, }, r1a0: u288 { limb0: 0x76245039bfb721ca1e2a0ee5, limb1: 0x8645cf7b04c2c109a1286acc, - limb2: 0x295c9183ac4c0896 + limb2: 0x295c9183ac4c0896, }, r1a1: u288 { limb0: 0xc074cb54759eec430185578f, limb1: 0x5eccd5653e9f7f02ed581abc, - limb2: 0x14cf7692e622fcc5 - } + limb2: 0x14cf7692e622fcc5, + }, }, G2Line { r0a0: u288 { limb0: 0xf8027d9e6b0a7844673e1245, limb1: 0x694d9db62bf7bb9a41262f0b, - limb2: 0x58b480579c361aa + limb2: 0x58b480579c361aa, }, r0a1: u288 { limb0: 0x91e7cecfe16bbaaaf0e19fda, limb1: 0xb9179883e4b271385d9f0518, - limb2: 0x1b352e7a150ca82b + limb2: 0x1b352e7a150ca82b, }, r1a0: u288 { limb0: 0xaca0ba97589ae090a84d3146, limb1: 0x6e9a896c16ec429fab404849, - limb2: 0x2360e6d4bbcf90f8 + limb2: 0x2360e6d4bbcf90f8, }, r1a1: u288 { limb0: 0xbb779a84783aa4ae72c18ceb, limb1: 0x27e540fc9069d0a5ef39760c, - limb2: 0x114c9874632415bb - } + limb2: 0x114c9874632415bb, + }, }, G2Line { r0a0: u288 { limb0: 0x9defc443a5f969707c567481, limb1: 0x55f8307d8694c3cec8cca946, - limb2: 0x1279f1c85384c33f + limb2: 0x1279f1c85384c33f, }, r0a1: u288 { limb0: 0xc45f4019a78bd32e0bdd4a1b, limb1: 0xaf7ddf8600e2296ceaf95d02, - limb2: 0xbe5e1b962492d36 + limb2: 0xbe5e1b962492d36, }, r1a0: u288 { limb0: 0x76245039bfb721ca1e2a0ee5, limb1: 0x8645cf7b04c2c109a1286acc, - limb2: 0x295c9183ac4c0896 + limb2: 0x295c9183ac4c0896, }, r1a1: u288 { limb0: 0xc074cb54759eec430185578f, limb1: 0x5eccd5653e9f7f02ed581abc, - limb2: 0x14cf7692e622fcc5 - } + limb2: 0x14cf7692e622fcc5, + }, }, G2Line { r0a0: u288 { limb0: 0xf8027d9e6b0a7844673e1245, limb1: 0x694d9db62bf7bb9a41262f0b, - limb2: 0x58b480579c361aa + limb2: 0x58b480579c361aa, }, r0a1: u288 { limb0: 0x91e7cecfe16bbaaaf0e19fda, limb1: 0xb9179883e4b271385d9f0518, - limb2: 0x1b352e7a150ca82b + limb2: 0x1b352e7a150ca82b, }, r1a0: u288 { limb0: 0xaca0ba97589ae090a84d3146, limb1: 0x6e9a896c16ec429fab404849, - limb2: 0x2360e6d4bbcf90f8 + limb2: 0x2360e6d4bbcf90f8, }, r1a1: u288 { limb0: 0xbb779a84783aa4ae72c18ceb, limb1: 0x27e540fc9069d0a5ef39760c, - limb2: 0x114c9874632415bb - } + limb2: 0x114c9874632415bb, + }, }, G2Line { r0a0: u288 { limb0: 0x2ec97171b355380af9597308, limb1: 0x5c98f31e4243eabcdc9c4d0a, - limb2: 0x189272184abbc67e + limb2: 0x189272184abbc67e, }, r0a1: u288 { limb0: 0x70b2a249ee2b52a2be3d20c1, limb1: 0x64f57fa1aabf12824a116967, - limb2: 0x2eff2b0744e46233 + limb2: 0x2eff2b0744e46233, }, r1a0: u288 { limb0: 0x745cbcaad594ddd38a5f1f4e, limb1: 0x95d1063847bfb4d5e006aa7d, - limb2: 0x16f68ed87066356e + limb2: 0x16f68ed87066356e, }, r1a1: u288 { limb0: 0xf642b7b361d87b9f994ddd0d, limb1: 0xdd217c0a6997dd8ec2539a54, - limb2: 0xeb46e09edaa161c - } + limb2: 0xeb46e09edaa161c, + }, }, G2Line { r0a0: u288 { limb0: 0x2ec97171b355380af9597308, limb1: 0x5c98f31e4243eabcdc9c4d0a, - limb2: 0x189272184abbc67e + limb2: 0x189272184abbc67e, }, r0a1: u288 { limb0: 0x70b2a249ee2b52a2be3d20c1, limb1: 0x64f57fa1aabf12824a116967, - limb2: 0x2eff2b0744e46233 + limb2: 0x2eff2b0744e46233, }, r1a0: u288 { limb0: 0x745cbcaad594ddd38a5f1f4e, limb1: 0x95d1063847bfb4d5e006aa7d, - limb2: 0x16f68ed87066356e + limb2: 0x16f68ed87066356e, }, r1a1: u288 { limb0: 0xf642b7b361d87b9f994ddd0d, limb1: 0xdd217c0a6997dd8ec2539a54, - limb2: 0xeb46e09edaa161c - } + limb2: 0xeb46e09edaa161c, + }, }, G2Line { r0a0: u288 { limb0: 0x75698f1cd702ddc2b33e1a09, limb1: 0x491bab5348fd4670d338478a, - limb2: 0xf12d300f3713d8 + limb2: 0xf12d300f3713d8, }, r0a1: u288 { limb0: 0x7f8777ccc370604bba36f21e, limb1: 0x9249013429c123002a183f50, - limb2: 0x1fcfca1835131e72 + limb2: 0x1fcfca1835131e72, }, r1a0: u288 { limb0: 0x8847a89e94951a7f1402ca0a, limb1: 0xcf6292aefd5885587e4b501a, - limb2: 0x1f79fc126e4b16c6 + limb2: 0x1f79fc126e4b16c6, }, r1a1: u288 { limb0: 0x9d2a84ea463b4f6fa6bdef4f, limb1: 0x757ea11f432296fd22343447, - limb2: 0x2679fc65403a5f42 - } + limb2: 0x2679fc65403a5f42, + }, }, G2Line { r0a0: u288 { limb0: 0x75698f1cd702ddc2b33e1a09, limb1: 0x491bab5348fd4670d338478a, - limb2: 0xf12d300f3713d8 + limb2: 0xf12d300f3713d8, }, r0a1: u288 { limb0: 0x7f8777ccc370604bba36f21e, limb1: 0x9249013429c123002a183f50, - limb2: 0x1fcfca1835131e72 + limb2: 0x1fcfca1835131e72, }, r1a0: u288 { limb0: 0x8847a89e94951a7f1402ca0a, limb1: 0xcf6292aefd5885587e4b501a, - limb2: 0x1f79fc126e4b16c6 + limb2: 0x1f79fc126e4b16c6, }, r1a1: u288 { limb0: 0x9d2a84ea463b4f6fa6bdef4f, limb1: 0x757ea11f432296fd22343447, - limb2: 0x2679fc65403a5f42 - } + limb2: 0x2679fc65403a5f42, + }, }, G2Line { r0a0: u288 { limb0: 0x34f8267fb775f59435a975a3, limb1: 0x5e24c3e432badae39861f051, - limb2: 0x172b5256de7536ee + limb2: 0x172b5256de7536ee, }, r0a1: u288 { limb0: 0x5c68fe19ba153dcabad4077e, limb1: 0xfcc73acc37bc3efd49f1611c, - limb2: 0x23e6dc58075ef8d9 + limb2: 0x23e6dc58075ef8d9, }, r1a0: u288 { limb0: 0x4459c03b4d093ccedd5d9bb8, limb1: 0xe78ba9031b31e2be3ed8f2ca, - limb2: 0x22ca3c03e154d61 + limb2: 0x22ca3c03e154d61, }, r1a1: u288 { limb0: 0xe3ddeffb8c8f1a4cffd5c3f8, limb1: 0x1241cc4c4b10d455e4d51279, - limb2: 0x1198575579f06677 - } + limb2: 0x1198575579f06677, + }, }, G2Line { r0a0: u288 { limb0: 0x34f8267fb775f59435a975a3, limb1: 0x5e24c3e432badae39861f051, - limb2: 0x172b5256de7536ee + limb2: 0x172b5256de7536ee, }, r0a1: u288 { limb0: 0x5c68fe19ba153dcabad4077e, limb1: 0xfcc73acc37bc3efd49f1611c, - limb2: 0x23e6dc58075ef8d9 + limb2: 0x23e6dc58075ef8d9, }, r1a0: u288 { limb0: 0x4459c03b4d093ccedd5d9bb8, limb1: 0xe78ba9031b31e2be3ed8f2ca, - limb2: 0x22ca3c03e154d61 + limb2: 0x22ca3c03e154d61, }, r1a1: u288 { limb0: 0xe3ddeffb8c8f1a4cffd5c3f8, limb1: 0x1241cc4c4b10d455e4d51279, - limb2: 0x1198575579f06677 - } + limb2: 0x1198575579f06677, + }, }, G2Line { r0a0: u288 { limb0: 0xb18b3c24e43743bdb2cdbd80, limb1: 0xe998c4bba97ba39223cf4a9c, - limb2: 0x19dc441e0f76e9e1 + limb2: 0x19dc441e0f76e9e1, }, r0a1: u288 { limb0: 0x4c5d0509f4c4d4eac63f9f95, limb1: 0x5d3dd460fa5eec27c0f1c16d, - limb2: 0x1ce5fefb5da40fc0 + limb2: 0x1ce5fefb5da40fc0, }, r1a0: u288 { limb0: 0x817ac722e3b0875c94d0c02d, limb1: 0x92716a07a8780a22c240503b, - limb2: 0x14624b4326fac880 + limb2: 0x14624b4326fac880, }, r1a1: u288 { limb0: 0x8f2279554369817a9f36b5b2, limb1: 0x6b6125c5be4c3c62b2ffbe7, - limb2: 0x1e71362b2df417b3 - } + limb2: 0x1e71362b2df417b3, + }, }, G2Line { r0a0: u288 { limb0: 0x5dbc257e7bb51557102dbe2a, limb1: 0xce362ed76472b2864c5f5b6f, - limb2: 0xbd519ac92f31216 + limb2: 0xbd519ac92f31216, }, r0a1: u288 { limb0: 0xe24007146139cc5810b3cbd1, limb1: 0xef3e2e5013aee1213c842bfb, - limb2: 0x1f9eea9d2acec058 + limb2: 0x1f9eea9d2acec058, }, r1a0: u288 { limb0: 0x913167d6677c3bc99423eaeb, limb1: 0xa2fa67dadc942e074343364, - limb2: 0x264f390c803c8e6 + limb2: 0x264f390c803c8e6, }, r1a1: u288 { limb0: 0x96fe98ba8d3de40aa91c7cef, limb1: 0x9c98ececaf9210453a32c237, - limb2: 0xbe97bca2544faec - } + limb2: 0xbe97bca2544faec, + }, }, G2Line { r0a0: u288 { limb0: 0xb18b3c24e43743bdb2cdbd80, limb1: 0xe998c4bba97ba39223cf4a9c, - limb2: 0x19dc441e0f76e9e1 + limb2: 0x19dc441e0f76e9e1, }, r0a1: u288 { limb0: 0x4c5d0509f4c4d4eac63f9f95, limb1: 0x5d3dd460fa5eec27c0f1c16d, - limb2: 0x1ce5fefb5da40fc0 + limb2: 0x1ce5fefb5da40fc0, }, r1a0: u288 { limb0: 0x817ac722e3b0875c94d0c02d, limb1: 0x92716a07a8780a22c240503b, - limb2: 0x14624b4326fac880 + limb2: 0x14624b4326fac880, }, r1a1: u288 { limb0: 0x8f2279554369817a9f36b5b2, limb1: 0x6b6125c5be4c3c62b2ffbe7, - limb2: 0x1e71362b2df417b3 - } + limb2: 0x1e71362b2df417b3, + }, }, G2Line { r0a0: u288 { limb0: 0x5dbc257e7bb51557102dbe2a, limb1: 0xce362ed76472b2864c5f5b6f, - limb2: 0xbd519ac92f31216 + limb2: 0xbd519ac92f31216, }, r0a1: u288 { limb0: 0xe24007146139cc5810b3cbd1, limb1: 0xef3e2e5013aee1213c842bfb, - limb2: 0x1f9eea9d2acec058 + limb2: 0x1f9eea9d2acec058, }, r1a0: u288 { limb0: 0x913167d6677c3bc99423eaeb, limb1: 0xa2fa67dadc942e074343364, - limb2: 0x264f390c803c8e6 + limb2: 0x264f390c803c8e6, }, r1a1: u288 { limb0: 0x96fe98ba8d3de40aa91c7cef, limb1: 0x9c98ececaf9210453a32c237, - limb2: 0xbe97bca2544faec - } + limb2: 0xbe97bca2544faec, + }, }, G2Line { r0a0: u288 { limb0: 0x9fdc0157c3f6d20bf1149a1e, limb1: 0x8dfe542e1b42911f5be6b44f, - limb2: 0x1777319f3952635d + limb2: 0x1777319f3952635d, }, r0a1: u288 { limb0: 0x63c6acb2bb3dd9747a3a9e32, limb1: 0xc1c8cdb31066df4015d898a0, - limb2: 0xa1a8086940fa431 + limb2: 0xa1a8086940fa431, }, r1a0: u288 { limb0: 0x26964bc2ff40bddadf582927, limb1: 0x5b95722b0f70f6745c2bdbff, - limb2: 0x236b02ee4ba7fc42 + limb2: 0x236b02ee4ba7fc42, }, r1a1: u288 { limb0: 0xfc468b651b4a0b741fcab682, limb1: 0x947fdb5abdbbf09b1861c9ff, - limb2: 0x168fbfc692ed02 - } + limb2: 0x168fbfc692ed02, + }, }, G2Line { r0a0: u288 { limb0: 0x9fdc0157c3f6d20bf1149a1e, limb1: 0x8dfe542e1b42911f5be6b44f, - limb2: 0x1777319f3952635d + limb2: 0x1777319f3952635d, }, r0a1: u288 { limb0: 0x63c6acb2bb3dd9747a3a9e32, limb1: 0xc1c8cdb31066df4015d898a0, - limb2: 0xa1a8086940fa431 + limb2: 0xa1a8086940fa431, }, r1a0: u288 { limb0: 0x26964bc2ff40bddadf582927, limb1: 0x5b95722b0f70f6745c2bdbff, - limb2: 0x236b02ee4ba7fc42 + limb2: 0x236b02ee4ba7fc42, }, r1a1: u288 { limb0: 0xfc468b651b4a0b741fcab682, limb1: 0x947fdb5abdbbf09b1861c9ff, - limb2: 0x168fbfc692ed02 - } + limb2: 0x168fbfc692ed02, + }, }, G2Line { r0a0: u288 { limb0: 0x3b05d569dd3cfe7e6ef2d371, limb1: 0x1ab213c78ac4d75edd6143b4, - limb2: 0x1bb1c4d653a5216f + limb2: 0x1bb1c4d653a5216f, }, r0a1: u288 { limb0: 0x9b92fea68b4f30a46556d398, limb1: 0x83327fb29ce9aca58bde417a, - limb2: 0x16153220e81ed45d + limb2: 0x16153220e81ed45d, }, r1a0: u288 { limb0: 0xb0d2a345496d30460462033c, limb1: 0xa40b16c304ff5061144ae50f, - limb2: 0x26721ea54af25d00 + limb2: 0x26721ea54af25d00, }, r1a1: u288 { limb0: 0xa5ccabe21466c944dbb14095, limb1: 0xa4c756d31e5d0f448cde68b2, - limb2: 0x2ae93a053a3d338d - } + limb2: 0x2ae93a053a3d338d, + }, }, G2Line { r0a0: u288 { limb0: 0x3b05d569dd3cfe7e6ef2d371, limb1: 0x1ab213c78ac4d75edd6143b4, - limb2: 0x1bb1c4d653a5216f + limb2: 0x1bb1c4d653a5216f, }, r0a1: u288 { limb0: 0x9b92fea68b4f30a46556d398, limb1: 0x83327fb29ce9aca58bde417a, - limb2: 0x16153220e81ed45d + limb2: 0x16153220e81ed45d, }, r1a0: u288 { limb0: 0xb0d2a345496d30460462033c, limb1: 0xa40b16c304ff5061144ae50f, - limb2: 0x26721ea54af25d00 + limb2: 0x26721ea54af25d00, }, r1a1: u288 { limb0: 0xa5ccabe21466c944dbb14095, limb1: 0xa4c756d31e5d0f448cde68b2, - limb2: 0x2ae93a053a3d338d - } + limb2: 0x2ae93a053a3d338d, + }, }, G2Line { r0a0: u288 { limb0: 0x423870b6e907bad3e53a1eb8, limb1: 0xa40d0139dec99f50870dad86, - limb2: 0xb478020107ff84a + limb2: 0xb478020107ff84a, }, r0a1: u288 { limb0: 0x7955bbd3730aa19c17ab5055, limb1: 0xaa78ed37b06b1fd334e3d3cf, - limb2: 0xd4f1f559a4fe8c6 + limb2: 0xd4f1f559a4fe8c6, }, r1a0: u288 { limb0: 0xe660ec3b96e88f895941963f, limb1: 0x58b13980728f7f2cb5a5434b, - limb2: 0x10784713fb59eeec + limb2: 0x10784713fb59eeec, }, r1a1: u288 { limb0: 0x90ac547745e13ed221e7ff6d, limb1: 0x72fd8ba2100b52edc8fe6adf, - limb2: 0xb07cd596e668799 - } + limb2: 0xb07cd596e668799, + }, }, G2Line { r0a0: u288 { limb0: 0x423870b6e907bad3e53a1eb8, limb1: 0xa40d0139dec99f50870dad86, - limb2: 0xb478020107ff84a + limb2: 0xb478020107ff84a, }, r0a1: u288 { limb0: 0x7955bbd3730aa19c17ab5055, limb1: 0xaa78ed37b06b1fd334e3d3cf, - limb2: 0xd4f1f559a4fe8c6 + limb2: 0xd4f1f559a4fe8c6, }, r1a0: u288 { limb0: 0xe660ec3b96e88f895941963f, limb1: 0x58b13980728f7f2cb5a5434b, - limb2: 0x10784713fb59eeec + limb2: 0x10784713fb59eeec, }, r1a1: u288 { limb0: 0x90ac547745e13ed221e7ff6d, limb1: 0x72fd8ba2100b52edc8fe6adf, - limb2: 0xb07cd596e668799 - } + limb2: 0xb07cd596e668799, + }, }, G2Line { r0a0: u288 { limb0: 0xc63bfc22e89cbddab53d25fe, limb1: 0x5bfa33f41b648419dad6ecee, - limb2: 0x29f285f798b40610 + limb2: 0x29f285f798b40610, }, r0a1: u288 { limb0: 0x685052730566d5e671c6896a, limb1: 0x9d632cc21dc7d36c01732c8d, - limb2: 0x2d2e5f43b41debb + limb2: 0x2d2e5f43b41debb, }, r1a0: u288 { limb0: 0xa08a1b8fcecc8a0833b4cfba, limb1: 0x72be9ff16897e8415c88d391, - limb2: 0x2f11915e5dbfe4db + limb2: 0x2f11915e5dbfe4db, }, r1a1: u288 { limb0: 0x25ccf150d767c294c0340770, limb1: 0x18c22516696708d37018fa53, - limb2: 0x2f6ceab98e5c92ec - } + limb2: 0x2f6ceab98e5c92ec, + }, }, G2Line { r0a0: u288 { limb0: 0x99481a4102c53eac80f3388e, limb1: 0xf5f8486ec984928173976d3f, - limb2: 0x1bd283b4cb081855 + limb2: 0x1bd283b4cb081855, }, r0a1: u288 { limb0: 0x5b874e4477dc6e06572fb2b7, limb1: 0x249ee0ef06247fa425a3fef5, - limb2: 0x1ae0e74588a52b14 + limb2: 0x1ae0e74588a52b14, }, r1a0: u288 { limb0: 0xea5de795431401fb27840e3c, limb1: 0x6faf5d812e5867e03f3e342c, - limb2: 0x275215ae272382f9 + limb2: 0x275215ae272382f9, }, r1a1: u288 { limb0: 0x486aa5eeaec04f001c7ff5, limb1: 0xd41375319ea34adc1551d9a3, - limb2: 0x3cf1dc61b974fbb - } + limb2: 0x3cf1dc61b974fbb, + }, }, G2Line { r0a0: u288 { limb0: 0xc63bfc22e89cbddab53d25fe, limb1: 0x5bfa33f41b648419dad6ecee, - limb2: 0x29f285f798b40610 + limb2: 0x29f285f798b40610, }, r0a1: u288 { limb0: 0x685052730566d5e671c6896a, limb1: 0x9d632cc21dc7d36c01732c8d, - limb2: 0x2d2e5f43b41debb + limb2: 0x2d2e5f43b41debb, }, r1a0: u288 { limb0: 0xa08a1b8fcecc8a0833b4cfba, limb1: 0x72be9ff16897e8415c88d391, - limb2: 0x2f11915e5dbfe4db + limb2: 0x2f11915e5dbfe4db, }, r1a1: u288 { limb0: 0x25ccf150d767c294c0340770, limb1: 0x18c22516696708d37018fa53, - limb2: 0x2f6ceab98e5c92ec - } + limb2: 0x2f6ceab98e5c92ec, + }, }, G2Line { r0a0: u288 { limb0: 0x99481a4102c53eac80f3388e, limb1: 0xf5f8486ec984928173976d3f, - limb2: 0x1bd283b4cb081855 + limb2: 0x1bd283b4cb081855, }, r0a1: u288 { limb0: 0x5b874e4477dc6e06572fb2b7, limb1: 0x249ee0ef06247fa425a3fef5, - limb2: 0x1ae0e74588a52b14 + limb2: 0x1ae0e74588a52b14, }, r1a0: u288 { limb0: 0xea5de795431401fb27840e3c, limb1: 0x6faf5d812e5867e03f3e342c, - limb2: 0x275215ae272382f9 + limb2: 0x275215ae272382f9, }, r1a1: u288 { limb0: 0x486aa5eeaec04f001c7ff5, limb1: 0xd41375319ea34adc1551d9a3, - limb2: 0x3cf1dc61b974fbb - } + limb2: 0x3cf1dc61b974fbb, + }, }, G2Line { r0a0: u288 { limb0: 0xa32359cf0ec38b184a1dcea9, limb1: 0x6bbbc5ef1267f2d51a878381, - limb2: 0x28df1061f929b4db + limb2: 0x28df1061f929b4db, }, r0a1: u288 { limb0: 0xd675802cc8b672fe8783e2d6, limb1: 0xbb7d5e433d79fd50d9469a7d, - limb2: 0x2784b6b89b7aa3ce + limb2: 0x2784b6b89b7aa3ce, }, r1a0: u288 { limb0: 0x249ea526c4c84209df18e160, limb1: 0x6b7ecab858c43a482ff55a47, - limb2: 0x45d81dac9b9b8ec + limb2: 0x45d81dac9b9b8ec, }, r1a1: u288 { limb0: 0x2e044de8199d7a5654fd9506, limb1: 0x17bae9b6381270ae16b4dded, - limb2: 0xfebafd1c55a0818 - } + limb2: 0xfebafd1c55a0818, + }, }, G2Line { r0a0: u288 { limb0: 0xa32359cf0ec38b184a1dcea9, limb1: 0x6bbbc5ef1267f2d51a878381, - limb2: 0x28df1061f929b4db + limb2: 0x28df1061f929b4db, }, r0a1: u288 { limb0: 0xd675802cc8b672fe8783e2d6, limb1: 0xbb7d5e433d79fd50d9469a7d, - limb2: 0x2784b6b89b7aa3ce + limb2: 0x2784b6b89b7aa3ce, }, r1a0: u288 { limb0: 0x249ea526c4c84209df18e160, limb1: 0x6b7ecab858c43a482ff55a47, - limb2: 0x45d81dac9b9b8ec + limb2: 0x45d81dac9b9b8ec, }, r1a1: u288 { limb0: 0x2e044de8199d7a5654fd9506, limb1: 0x17bae9b6381270ae16b4dded, - limb2: 0xfebafd1c55a0818 - } + limb2: 0xfebafd1c55a0818, + }, }, G2Line { r0a0: u288 { limb0: 0xd813dc3ba36fadef5eefdba8, limb1: 0x6d01874326cb306accf0faff, - limb2: 0x1c464c65c360a4c8 + limb2: 0x1c464c65c360a4c8, }, r0a1: u288 { limb0: 0xb7d92aae88aac832f2fa8c2e, limb1: 0xf57a537d0bbdac821cb31ab3, - limb2: 0x527b1aec5c0d2f1 + limb2: 0x527b1aec5c0d2f1, }, r1a0: u288 { limb0: 0xa07f43936bdbdf1dec60500b, limb1: 0x742456f2a8b6a9bae91cb16, - limb2: 0x1c4033eb3eba0cc5 + limb2: 0x1c4033eb3eba0cc5, }, r1a1: u288 { limb0: 0x94b3709ef3fc176b25617e7d, limb1: 0xaf22d45fcd3d4e3d14874fa, - limb2: 0x183887caa720ba0d - } + limb2: 0x183887caa720ba0d, + }, }, G2Line { r0a0: u288 { limb0: 0x3f02b00de6315b49872daa4d, limb1: 0xc303ab1deabf850249e8315f, - limb2: 0x1bdb6a8f0f0fdd3 + limb2: 0x1bdb6a8f0f0fdd3, }, r0a1: u288 { limb0: 0x92fce2a1127ff2f9b751e30d, limb1: 0x3eb729d57b891ac828eb15c3, - limb2: 0x2b484f5877256bb1 + limb2: 0x2b484f5877256bb1, }, r1a0: u288 { limb0: 0xf89b2f972cb4f7f4c599e891, limb1: 0xb4f5d2a5bde63ee512f11d9e, - limb2: 0x2dcdbce01b88089 + limb2: 0x2dcdbce01b88089, }, r1a1: u288 { limb0: 0xa7a47fc449bb8a9d2562bfcd, limb1: 0xc4e2d6ba5582860d7339459e, - limb2: 0x1d55e010c99b8d6c - } + limb2: 0x1d55e010c99b8d6c, + }, }, G2Line { r0a0: u288 { limb0: 0xd813dc3ba36fadef5eefdba8, limb1: 0x6d01874326cb306accf0faff, - limb2: 0x1c464c65c360a4c8 + limb2: 0x1c464c65c360a4c8, }, r0a1: u288 { limb0: 0xb7d92aae88aac832f2fa8c2e, limb1: 0xf57a537d0bbdac821cb31ab3, - limb2: 0x527b1aec5c0d2f1 + limb2: 0x527b1aec5c0d2f1, }, r1a0: u288 { limb0: 0xa07f43936bdbdf1dec60500b, limb1: 0x742456f2a8b6a9bae91cb16, - limb2: 0x1c4033eb3eba0cc5 + limb2: 0x1c4033eb3eba0cc5, }, r1a1: u288 { limb0: 0x94b3709ef3fc176b25617e7d, limb1: 0xaf22d45fcd3d4e3d14874fa, - limb2: 0x183887caa720ba0d - } + limb2: 0x183887caa720ba0d, + }, }, G2Line { r0a0: u288 { limb0: 0x3f02b00de6315b49872daa4d, limb1: 0xc303ab1deabf850249e8315f, - limb2: 0x1bdb6a8f0f0fdd3 + limb2: 0x1bdb6a8f0f0fdd3, }, r0a1: u288 { limb0: 0x92fce2a1127ff2f9b751e30d, limb1: 0x3eb729d57b891ac828eb15c3, - limb2: 0x2b484f5877256bb1 + limb2: 0x2b484f5877256bb1, }, r1a0: u288 { limb0: 0xf89b2f972cb4f7f4c599e891, limb1: 0xb4f5d2a5bde63ee512f11d9e, - limb2: 0x2dcdbce01b88089 + limb2: 0x2dcdbce01b88089, }, r1a1: u288 { limb0: 0xa7a47fc449bb8a9d2562bfcd, limb1: 0xc4e2d6ba5582860d7339459e, - limb2: 0x1d55e010c99b8d6c - } + limb2: 0x1d55e010c99b8d6c, + }, }, G2Line { r0a0: u288 { limb0: 0xd6632e909bb2d794dcbb2d61, limb1: 0x7457873febfef7ae91c35b58, - limb2: 0x9a9ca4c4d09e546 + limb2: 0x9a9ca4c4d09e546, }, r0a1: u288 { limb0: 0x94c62fe653f917fc33a9d5b5, limb1: 0x8bc51d76a334c7a433ae35ab, - limb2: 0xb27ad066a166ac4 + limb2: 0xb27ad066a166ac4, }, r1a0: u288 { limb0: 0x96db5ee9875982bf556c73e9, limb1: 0xe9f1ec9f66254c4f268a27f, - limb2: 0x1eef6e016b9ca6ff + limb2: 0x1eef6e016b9ca6ff, }, r1a1: u288 { limb0: 0xf6d057dbafe03b544a69128f, limb1: 0xe03743865a854f3f554c95b7, - limb2: 0x29c21dd74cd29781 - } + limb2: 0x29c21dd74cd29781, + }, }, G2Line { r0a0: u288 { limb0: 0xb964e3c6d975ca8cf820a505, limb1: 0x58cf1dfe1e77f86538998d74, - limb2: 0x253f8f7c9eb4af1 + limb2: 0x253f8f7c9eb4af1, }, r0a1: u288 { limb0: 0x751409cbae1c0030ee5977d1, limb1: 0xe203b703551126fdae59e500, - limb2: 0x2e4d7a2dbc83f9b5 + limb2: 0x2e4d7a2dbc83f9b5, }, r1a0: u288 { limb0: 0x3bb2d7500573a130dfcc7b70, limb1: 0x2e94772d1e8a4db8783ea2f7, - limb2: 0xb43fdec6bd93bce + limb2: 0xb43fdec6bd93bce, }, r1a1: u288 { limb0: 0xdcad2320f5fe6edb3ee742ff, limb1: 0xdb00d689081d6770c6978582, - limb2: 0x6029475ae5587e5 - } + limb2: 0x6029475ae5587e5, + }, }, G2Line { r0a0: u288 { limb0: 0xd6632e909bb2d794dcbb2d61, limb1: 0x7457873febfef7ae91c35b58, - limb2: 0x9a9ca4c4d09e546 + limb2: 0x9a9ca4c4d09e546, }, r0a1: u288 { limb0: 0x94c62fe653f917fc33a9d5b5, limb1: 0x8bc51d76a334c7a433ae35ab, - limb2: 0xb27ad066a166ac4 + limb2: 0xb27ad066a166ac4, }, r1a0: u288 { limb0: 0x96db5ee9875982bf556c73e9, limb1: 0xe9f1ec9f66254c4f268a27f, - limb2: 0x1eef6e016b9ca6ff + limb2: 0x1eef6e016b9ca6ff, }, r1a1: u288 { limb0: 0xf6d057dbafe03b544a69128f, limb1: 0xe03743865a854f3f554c95b7, - limb2: 0x29c21dd74cd29781 - } + limb2: 0x29c21dd74cd29781, + }, }, G2Line { r0a0: u288 { limb0: 0xb964e3c6d975ca8cf820a505, limb1: 0x58cf1dfe1e77f86538998d74, - limb2: 0x253f8f7c9eb4af1 + limb2: 0x253f8f7c9eb4af1, }, r0a1: u288 { limb0: 0x751409cbae1c0030ee5977d1, limb1: 0xe203b703551126fdae59e500, - limb2: 0x2e4d7a2dbc83f9b5 + limb2: 0x2e4d7a2dbc83f9b5, }, r1a0: u288 { limb0: 0x3bb2d7500573a130dfcc7b70, limb1: 0x2e94772d1e8a4db8783ea2f7, - limb2: 0xb43fdec6bd93bce + limb2: 0xb43fdec6bd93bce, }, r1a1: u288 { limb0: 0xdcad2320f5fe6edb3ee742ff, limb1: 0xdb00d689081d6770c6978582, - limb2: 0x6029475ae5587e5 - } + limb2: 0x6029475ae5587e5, + }, }, G2Line { r0a0: u288 { limb0: 0x44ec71963665d6ec8ad74841, limb1: 0x8403830d652edbde8339e929, - limb2: 0x100fb102d85f5085 + limb2: 0x100fb102d85f5085, }, r0a1: u288 { limb0: 0xc055c9daf26d35310e7b1e74, limb1: 0x40cdbeaffc8383e3cdc8926, - limb2: 0x6fd31831cc5c2e2 + limb2: 0x6fd31831cc5c2e2, }, r1a0: u288 { limb0: 0xad2ce478f7297f6138ae1c8c, limb1: 0x4d31d6f7382542621c5b6e17, - limb2: 0x7dbf7c3c0f14e33 + limb2: 0x7dbf7c3c0f14e33, }, r1a1: u288 { limb0: 0xe4640196247c27251483088e, limb1: 0x34dea70f9956ebc54e0606ba, - limb2: 0x8b41cd44b48eaaa - } + limb2: 0x8b41cd44b48eaaa, + }, }, G2Line { r0a0: u288 { limb0: 0x44ec71963665d6ec8ad74841, limb1: 0x8403830d652edbde8339e929, - limb2: 0x100fb102d85f5085 + limb2: 0x100fb102d85f5085, }, r0a1: u288 { limb0: 0xc055c9daf26d35310e7b1e74, limb1: 0x40cdbeaffc8383e3cdc8926, - limb2: 0x6fd31831cc5c2e2 + limb2: 0x6fd31831cc5c2e2, }, r1a0: u288 { limb0: 0xad2ce478f7297f6138ae1c8c, limb1: 0x4d31d6f7382542621c5b6e17, - limb2: 0x7dbf7c3c0f14e33 + limb2: 0x7dbf7c3c0f14e33, }, r1a1: u288 { limb0: 0xe4640196247c27251483088e, limb1: 0x34dea70f9956ebc54e0606ba, - limb2: 0x8b41cd44b48eaaa - } + limb2: 0x8b41cd44b48eaaa, + }, }, G2Line { r0a0: u288 { limb0: 0xa4dc3d37041029c7b2f1bb9, limb1: 0xf72869e330906647a7d54af8, - limb2: 0x705bd30bad6ce42 + limb2: 0x705bd30bad6ce42, }, r0a1: u288 { limb0: 0xb00eef39b09348fd65e27aec, limb1: 0xd5e053aa5ae39359fac6cdbc, - limb2: 0x90e03f1f820fe9a + limb2: 0x90e03f1f820fe9a, }, r1a0: u288 { limb0: 0x7f56704e86148b1a5595647e, limb1: 0xb8e4acc00d27e4eaf2d3de14, - limb2: 0x160398dceafe1fbe + limb2: 0x160398dceafe1fbe, }, r1a1: u288 { limb0: 0x7c39f499101722b5d82ceec4, limb1: 0xaf99a11bb8ab6c8134832009, - limb2: 0x2d7388a9d5187a36 - } + limb2: 0x2d7388a9d5187a36, + }, }, G2Line { r0a0: u288 { limb0: 0xa4dc3d37041029c7b2f1bb9, limb1: 0xf72869e330906647a7d54af8, - limb2: 0x705bd30bad6ce42 + limb2: 0x705bd30bad6ce42, }, r0a1: u288 { limb0: 0xb00eef39b09348fd65e27aec, limb1: 0xd5e053aa5ae39359fac6cdbc, - limb2: 0x90e03f1f820fe9a + limb2: 0x90e03f1f820fe9a, }, r1a0: u288 { limb0: 0x7f56704e86148b1a5595647e, limb1: 0xb8e4acc00d27e4eaf2d3de14, - limb2: 0x160398dceafe1fbe + limb2: 0x160398dceafe1fbe, }, r1a1: u288 { limb0: 0x7c39f499101722b5d82ceec4, limb1: 0xaf99a11bb8ab6c8134832009, - limb2: 0x2d7388a9d5187a36 - } + limb2: 0x2d7388a9d5187a36, + }, }, G2Line { r0a0: u288 { limb0: 0x26743d3c5ceab5151856abc8, limb1: 0x2bc840c6b3375132f6df6c4d, - limb2: 0xf20cc4455c9206b + limb2: 0xf20cc4455c9206b, }, r0a1: u288 { limb0: 0x75257f283994114ee03b667e, limb1: 0xb71eada78256c22a8b22564d, - limb2: 0x2c4f6002e64db7e4 + limb2: 0x2c4f6002e64db7e4, }, r1a0: u288 { limb0: 0xadeaeea86f50da58c232d0b5, limb1: 0xe988059d0234448257239cec, - limb2: 0x23c7423d92bbc634 + limb2: 0x23c7423d92bbc634, }, r1a1: u288 { limb0: 0x6afee648e46e570b43f3696d, limb1: 0x9a3f1aae0067f1de3d0a489, - limb2: 0xa7256957d6a8ed - } + limb2: 0xa7256957d6a8ed, + }, }, G2Line { r0a0: u288 { limb0: 0x26743d3c5ceab5151856abc8, limb1: 0x2bc840c6b3375132f6df6c4d, - limb2: 0xf20cc4455c9206b + limb2: 0xf20cc4455c9206b, }, r0a1: u288 { limb0: 0x75257f283994114ee03b667e, limb1: 0xb71eada78256c22a8b22564d, - limb2: 0x2c4f6002e64db7e4 + limb2: 0x2c4f6002e64db7e4, }, r1a0: u288 { limb0: 0xadeaeea86f50da58c232d0b5, limb1: 0xe988059d0234448257239cec, - limb2: 0x23c7423d92bbc634 + limb2: 0x23c7423d92bbc634, }, r1a1: u288 { limb0: 0x6afee648e46e570b43f3696d, limb1: 0x9a3f1aae0067f1de3d0a489, - limb2: 0xa7256957d6a8ed - } + limb2: 0xa7256957d6a8ed, + }, }, G2Line { r0a0: u288 { limb0: 0x9894b9b6df6285e00cb3ef9d, limb1: 0xc7799b231f547596527979f9, - limb2: 0x1873cf42f2befcbc + limb2: 0x1873cf42f2befcbc, }, r0a1: u288 { limb0: 0xea5b37d753c87bdd55f0ed0, limb1: 0x70d0582e29fd33896e945be5, - limb2: 0x273059304eef6b83 + limb2: 0x273059304eef6b83, }, r1a0: u288 { limb0: 0x1a8c1b6d717a3b41ece55725, limb1: 0x7b31c1b97f15745a6d80ea0d, - limb2: 0x2cd26d3a7bbe93e6 + limb2: 0x2cd26d3a7bbe93e6, }, r1a1: u288 { limb0: 0xe2ad8bc0279b5c304c489ca6, limb1: 0x176d1c945108ce77fcd238cd, - limb2: 0xde3c7c3f1c3d01b - } + limb2: 0xde3c7c3f1c3d01b, + }, }, G2Line { r0a0: u288 { limb0: 0x3980a9ac8c34a235d2616212, limb1: 0x84c8a8ab074ce118b68f30e9, - limb2: 0x13d1902579c8a95e + limb2: 0x13d1902579c8a95e, }, r0a1: u288 { limb0: 0x84b1be8046674b6544cdbd07, limb1: 0x198c1a70db0768c46ee0879f, - limb2: 0xb7e46866f7c1d4f + limb2: 0xb7e46866f7c1d4f, }, r1a0: u288 { limb0: 0x5aa04f6da050797974642dff, limb1: 0x67018b676db95697c6fc0e94, - limb2: 0x174b5365db908344 + limb2: 0x174b5365db908344, }, r1a1: u288 { limb0: 0x12ae4d7bff5800094457c75f, limb1: 0xaf7fb1cf0adfdefc0943c20d, - limb2: 0x2e168cd37dc90c25 - } + limb2: 0x2e168cd37dc90c25, + }, }, G2Line { r0a0: u288 { limb0: 0x9894b9b6df6285e00cb3ef9d, limb1: 0xc7799b231f547596527979f9, - limb2: 0x1873cf42f2befcbc + limb2: 0x1873cf42f2befcbc, }, r0a1: u288 { limb0: 0xea5b37d753c87bdd55f0ed0, limb1: 0x70d0582e29fd33896e945be5, - limb2: 0x273059304eef6b83 + limb2: 0x273059304eef6b83, }, r1a0: u288 { limb0: 0x1a8c1b6d717a3b41ece55725, limb1: 0x7b31c1b97f15745a6d80ea0d, - limb2: 0x2cd26d3a7bbe93e6 + limb2: 0x2cd26d3a7bbe93e6, }, r1a1: u288 { limb0: 0xe2ad8bc0279b5c304c489ca6, limb1: 0x176d1c945108ce77fcd238cd, - limb2: 0xde3c7c3f1c3d01b - } + limb2: 0xde3c7c3f1c3d01b, + }, }, G2Line { r0a0: u288 { limb0: 0x3980a9ac8c34a235d2616212, limb1: 0x84c8a8ab074ce118b68f30e9, - limb2: 0x13d1902579c8a95e + limb2: 0x13d1902579c8a95e, }, r0a1: u288 { limb0: 0x84b1be8046674b6544cdbd07, limb1: 0x198c1a70db0768c46ee0879f, - limb2: 0xb7e46866f7c1d4f + limb2: 0xb7e46866f7c1d4f, }, r1a0: u288 { limb0: 0x5aa04f6da050797974642dff, limb1: 0x67018b676db95697c6fc0e94, - limb2: 0x174b5365db908344 + limb2: 0x174b5365db908344, }, r1a1: u288 { limb0: 0x12ae4d7bff5800094457c75f, limb1: 0xaf7fb1cf0adfdefc0943c20d, - limb2: 0x2e168cd37dc90c25 - } + limb2: 0x2e168cd37dc90c25, + }, }, ] .span(); @@ -11032,125 +11032,125 @@ mod pairing_tests { w0: u288 { limb0: 0x23ca9e30f07b55b24f193b0f, limb1: 0xe87a29af47945c59bebde6e3, - limb2: 0x25202875a18b48d6 + limb2: 0x25202875a18b48d6, }, w1: u288 { limb0: 0x73c45803819fb7aff4be48d4, limb1: 0xbc4e8cdff399f10e04552e9e, - limb2: 0xe200b0579a47bb3 + limb2: 0xe200b0579a47bb3, }, w2: u288 { limb0: 0xb7e202dd946f1c1e893294f5, limb1: 0x9b242eecb685264d1d38f92, - limb2: 0x2743277dfb400b12 + limb2: 0x2743277dfb400b12, }, w3: u288 { limb0: 0x713dcf49af707a72abcdd23f, limb1: 0x297d2b276e1e10592a67e028, - limb2: 0x7ce37c37c9a9830 + limb2: 0x7ce37c37c9a9830, }, w4: u288 { limb0: 0x1a1e7136ddb0226444e3dd93, limb1: 0x10ec67e9ba10af63294f9067, - limb2: 0x2209ca34e9632ffe + limb2: 0x2209ca34e9632ffe, }, w5: u288 { limb0: 0x282b36f9275c1d75a96b4bba, limb1: 0xcd30a7361a37968571854966, - limb2: 0x56824745ec0be7e + limb2: 0x56824745ec0be7e, }, w6: u288 { limb0: 0xfd161b3f69becd983863c1f8, limb1: 0x9e173cc60a49b16b0ae54cb6, - limb2: 0x21c2ff8564f4b359 + limb2: 0x21c2ff8564f4b359, }, w7: u288 { limb0: 0x83b2b95b17f74a4135c8f0ec, limb1: 0x1d49d1548ca28958a1477f77, - limb2: 0x21dfaf1ab1424f7a + limb2: 0x21dfaf1ab1424f7a, }, w8: u288 { limb0: 0x9f42e8c899eb37b1c750776a, limb1: 0x1d527af4bf9944d9cacfc9b6, - limb2: 0x2cedae6373f81ff3 + limb2: 0x2cedae6373f81ff3, }, w9: u288 { limb0: 0x5826957af02c5ff75ecf2f7f, limb1: 0x63de3d3ed13db73b40636e33, - limb2: 0x1b4e8f8bab34df27 + limb2: 0x1b4e8f8bab34df27, }, w10: u288 { limb0: 0xe47acbb5fc054b575c4de206, limb1: 0x21c9659455fa7db99219fcb1, - limb2: 0x1da51303ee50de45 + limb2: 0x1da51303ee50de45, }, w11: u288 { limb0: 0xfba59dce6d63b61b27c81f88, limb1: 0xdcca144de9ddd923bbb33c4b, - limb2: 0x291ee2a6f851083a - } + limb2: 0x291ee2a6f851083a, + }, }, lambda_root_inverse: E12D { w0: u288 { limb0: 0xb5c3eabbd3b1eef8ea5617f4, limb1: 0x11833d922f25b3a34d3fca8f, - limb2: 0x13750c425c423ee + limb2: 0x13750c425c423ee, }, w1: u288 { limb0: 0x8983bd9d7448c89812be4350, limb1: 0xcc0a0b4ca76d768c80ff8e55, - limb2: 0xfb6e764fd741485 + limb2: 0xfb6e764fd741485, }, w2: u288 { limb0: 0x3edb9b44088f29518c1cf962, limb1: 0x3800221baf8e4d5d69808d93, - limb2: 0x14d575b46d080633 + limb2: 0x14d575b46d080633, }, w3: u288 { limb0: 0x132e0ad247c2f54fbe52f5bb, limb1: 0x4b0a3207c00cd30d7bdcf774, - limb2: 0x1a93653a38cb2fe4 + limb2: 0x1a93653a38cb2fe4, }, w4: u288 { limb0: 0xad30ef932f284898d3a7a46b, limb1: 0x4163e6658533a807cd45d00d, - limb2: 0xddb14c4f82f8631 + limb2: 0xddb14c4f82f8631, }, w5: u288 { limb0: 0x6b8e30e4eaa63a9ed81168d8, limb1: 0x313309f6dbce4e865d4fedb1, - limb2: 0x2d3f5b1fefcb56f + limb2: 0x2d3f5b1fefcb56f, }, w6: u288 { limb0: 0x4ef02281cc723a6da515811a, limb1: 0x14ff8ed665651ab8ce848f43, - limb2: 0x131a42012d97077d + limb2: 0x131a42012d97077d, }, w7: u288 { limb0: 0x9378001a32c652b319e017f4, limb1: 0x7adaa3bb782735807171c8ee, - limb2: 0x26a3c45ea339b47e + limb2: 0x26a3c45ea339b47e, }, w8: u288 { limb0: 0xb45f0d072cee9451b2ef6bcd, limb1: 0xb5c79d9af82faa633c46c783, - limb2: 0x288162b64a95050e + limb2: 0x288162b64a95050e, }, w9: u288 { limb0: 0xb400e23dbb10336db8e3e567, limb1: 0xf8be889f6826d20f76b01fa, - limb2: 0x2a6ee642f39f6ea8 + limb2: 0x2a6ee642f39f6ea8, }, w10: u288 { limb0: 0xaa002ca04722ef6e113c90c7, limb1: 0x4a44cfbf7d0d8a113c67d3b8, - limb2: 0x1b19f196206d8a99 + limb2: 0x1b19f196206d8a99, }, w11: u288 { limb0: 0x3b36e8198a598435a63c262d, limb1: 0x5bd67fccbd394684e1e4c572, - limb2: 0x166091a34daab9c1 - } + limb2: 0x166091a34daab9c1, + }, }, w: MillerLoopResultScalingFactor { w0: u288 { limb0: 0x1, limb1: 0x0, limb2: 0x0 }, @@ -11158,2178 +11158,2178 @@ mod pairing_tests { w4: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w6: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, w8: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, - w10: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 } + w10: u288 { limb0: 0x0, limb1: 0x0, limb2: 0x0 }, }, Ris: array![ E12D { w0: u288 { limb0: 0xe2f6acee09a64156c15e3478, limb1: 0xed70b0971287f50104248a93, - limb2: 0x127703e3d61d8953 + limb2: 0x127703e3d61d8953, }, w1: u288 { limb0: 0x3f33ed733eb4838ff43a064d, limb1: 0x261b3bb5a0d1e3b1fc2eea8d, - limb2: 0x1b45799651c4e710 + limb2: 0x1b45799651c4e710, }, w2: u288 { limb0: 0xfef7aacba92a3760281d63cc, limb1: 0xd3c17160fa29274e8fb29068, - limb2: 0xd4e6a9fe3bada06 + limb2: 0xd4e6a9fe3bada06, }, w3: u288 { limb0: 0xf8318240f89419438fe2d639, limb1: 0xe998e7c29f76b508e0538e38, - limb2: 0xfb03e005dbba59f + limb2: 0xfb03e005dbba59f, }, w4: u288 { limb0: 0x70c9890149ae3e2742c5c731, limb1: 0xe9a6d4fc61f71f5d5ed989d4, - limb2: 0x2dad8e036bd59924 + limb2: 0x2dad8e036bd59924, }, w5: u288 { limb0: 0xd7b63c2f5eed5c20e605768d, limb1: 0xb0003493ed0492f6fa50f418, - limb2: 0x17228fa4697986c7 + limb2: 0x17228fa4697986c7, }, w6: u288 { limb0: 0xa3dc70c11244fb2deda36cb2, limb1: 0xb8fb759606fba9d97587f0e8, - limb2: 0x2e2f815e063bb0 + limb2: 0x2e2f815e063bb0, }, w7: u288 { limb0: 0x686d29a44e7110ac6c8b9505, limb1: 0x74ac5a716ee1e9d44b50960f, - limb2: 0x2152b931c3859503 + limb2: 0x2152b931c3859503, }, w8: u288 { limb0: 0x5868412c8c818820977a66f0, limb1: 0x2f9e83b27ce0c185c6f1c18f, - limb2: 0x14fac55b88d3ce93 + limb2: 0x14fac55b88d3ce93, }, w9: u288 { limb0: 0xb78d2652e51b3c673a385a19, limb1: 0x795b0f1a23960c7aca666e05, - limb2: 0x12a1f27a3602498a + limb2: 0x12a1f27a3602498a, }, w10: u288 { limb0: 0xaccfdbe167c5f15ccbe8a10b, limb1: 0xe7f7a9853750e8e77d47908, - limb2: 0x1b9bfc8952b7f369 + limb2: 0x1b9bfc8952b7f369, }, w11: u288 { limb0: 0x149b5924ec95ec9b05da4bf8, limb1: 0x7567100511e744c551a6e4ea, - limb2: 0x2b223a2dfd168795 - } + limb2: 0x2b223a2dfd168795, + }, }, E12D { w0: u288 { limb0: 0xa72a4848e30642eded615898, limb1: 0xbef543f14f1aad5e18139eb6, - limb2: 0x2c7bcf2fddd1e961 + limb2: 0x2c7bcf2fddd1e961, }, w1: u288 { limb0: 0x46fd177379d58e372b9b6f07, limb1: 0x517211fbf41f194c331f00e5, - limb2: 0x2f5c91ca28636a00 + limb2: 0x2f5c91ca28636a00, }, w2: u288 { limb0: 0xe41a3ec01dc8bb8501df492e, limb1: 0xd7f7ab9d0f2782f2373b5314, - limb2: 0x91712eca3f77452 + limb2: 0x91712eca3f77452, }, w3: u288 { limb0: 0x133e5c67a8f2690bc04b91b9, limb1: 0x8582c464e09299148f27b703, - limb2: 0x249bfada0b86ef33 + limb2: 0x249bfada0b86ef33, }, w4: u288 { limb0: 0xeeb02ca00147f12d2e8458f7, limb1: 0xceaae80445f4c7407c02c1da, - limb2: 0x25e046234afd2a85 + limb2: 0x25e046234afd2a85, }, w5: u288 { limb0: 0x64b3d4f3d18031d4235862df, limb1: 0x92f83b81871013f01b47013c, - limb2: 0x15fe7761fa1f33ac + limb2: 0x15fe7761fa1f33ac, }, w6: u288 { limb0: 0x3fb298307f41db600150f88c, limb1: 0x3da094ebafc14d7eb2182997, - limb2: 0x818cb4e830ba356 + limb2: 0x818cb4e830ba356, }, w7: u288 { limb0: 0x12ef8a22b1bc73ea237df6f6, limb1: 0x9d344aace728adbd489c9720, - limb2: 0x821d3466302b0d2 + limb2: 0x821d3466302b0d2, }, w8: u288 { limb0: 0x638f4928fe9fe06b17f5d2db, limb1: 0x596ab928517338096d96b2f6, - limb2: 0x29e68f04a0ee89be + limb2: 0x29e68f04a0ee89be, }, w9: u288 { limb0: 0x67f1e11e7d4fea0d7745eb44, limb1: 0x105e36bfdc4442638522b7d5, - limb2: 0x2593d5a9dac5df2c + limb2: 0x2593d5a9dac5df2c, }, w10: u288 { limb0: 0x453ddfce74fe7c8b9bc7ea76, limb1: 0x73264637eb39edbe0400abf1, - limb2: 0x2f665b3f82c255a5 + limb2: 0x2f665b3f82c255a5, }, w11: u288 { limb0: 0xa64871f14a5c040bc6216bc1, limb1: 0xc3071982e7657ce273aafe11, - limb2: 0x25c2ccc6a7f12699 - } + limb2: 0x25c2ccc6a7f12699, + }, }, E12D { w0: u288 { limb0: 0x8d5b811a09caa58be413ffdb, limb1: 0xaec13af0ff4aa5a9b3dcb582, - limb2: 0xb759534e5c8811b + limb2: 0xb759534e5c8811b, }, w1: u288 { limb0: 0x8bfd162f232d87d70447c4fb, limb1: 0x5b714a61f27eeeb66210a238, - limb2: 0x235eb11b01463a62 + limb2: 0x235eb11b01463a62, }, w2: u288 { limb0: 0xa97e216801ac38c907ba52a0, limb1: 0x70ae4f1968af5555df98298f, - limb2: 0x95e6702a59e1a6a + limb2: 0x95e6702a59e1a6a, }, w3: u288 { limb0: 0x9cd4ed96bdec2348819310c, limb1: 0x4766b2e8e7e732e7970b9689, - limb2: 0x149bdcbd6a7afcb9 + limb2: 0x149bdcbd6a7afcb9, }, w4: u288 { limb0: 0xbe702be60291c9e6e885e5c3, limb1: 0xe93a545111f29c9592a036c4, - limb2: 0x1591e5e82ed4b4dc + limb2: 0x1591e5e82ed4b4dc, }, w5: u288 { limb0: 0x8d199a3abe5faaff7a3bc9f8, limb1: 0x7cc933e5a020b4766ac8a761, - limb2: 0x2fe6b400ae57faae + limb2: 0x2fe6b400ae57faae, }, w6: u288 { limb0: 0xaec592ab3c28bfe83c215cfa, limb1: 0xac24f84ed0a437939c2000e9, - limb2: 0x1f2843afe30b053a + limb2: 0x1f2843afe30b053a, }, w7: u288 { limb0: 0x6d2d0627cede31c8eb85e75e, limb1: 0x7bdddc87f039012eb3b77194, - limb2: 0x178660f13401179e + limb2: 0x178660f13401179e, }, w8: u288 { limb0: 0x62368134bd89bd0f837ed4d4, limb1: 0x6dc31aed6fb226f4b4c0f22c, - limb2: 0x24e758c4f9d85d63 + limb2: 0x24e758c4f9d85d63, }, w9: u288 { limb0: 0x2f1d16930c76c2c58ded454a, limb1: 0xd31b8e954fb055fe7ca38da, - limb2: 0xdc52b7ecb883c77 + limb2: 0xdc52b7ecb883c77, }, w10: u288 { limb0: 0x709c6bce583682d54711f158, limb1: 0xb32e399977ba98f1dbf49828, - limb2: 0x1ff3ce291ef8cdaa + limb2: 0x1ff3ce291ef8cdaa, }, w11: u288 { limb0: 0xfedfcfb5ac3535fd88a15183, limb1: 0xe97e7b5d3bf6635f37dd122d, - limb2: 0x22a38c2aae1e8fc9 - } + limb2: 0x22a38c2aae1e8fc9, + }, }, E12D { w0: u288 { limb0: 0x4e15598d95c5f7c52c6b9226, limb1: 0x7260273fb797ec0382fc0b74, - limb2: 0x1b4722521d49dd9c + limb2: 0x1b4722521d49dd9c, }, w1: u288 { limb0: 0x41a84bd4c94bd9e253b5dbe8, limb1: 0x4f06564a6624a9a4b1f4922f, - limb2: 0x154f62ec865e8ec2 + limb2: 0x154f62ec865e8ec2, }, w2: u288 { limb0: 0x25ed47681b082c51b72e1c67, limb1: 0xfdab86c84aa645fdcc31d18d, - limb2: 0x824a28773085f87 + limb2: 0x824a28773085f87, }, w3: u288 { limb0: 0x725527ec8d20e00f959c8e4b, limb1: 0x5f0a9b28686d3343669aa6dd, - limb2: 0x24b7b0049449f95c + limb2: 0x24b7b0049449f95c, }, w4: u288 { limb0: 0xbbe336284924385760066449, limb1: 0xf34b401046c192b98e0b8e64, - limb2: 0x22a2832e9e2adf52 + limb2: 0x22a2832e9e2adf52, }, w5: u288 { limb0: 0x49e39158392c0ff5930f63bd, limb1: 0xdc907401ccc882dbb3d29c09, - limb2: 0x135a779eb01ae2a9 + limb2: 0x135a779eb01ae2a9, }, w6: u288 { limb0: 0x27f79ea3a7d57234b676f496, limb1: 0x75257d3143963669b9c2f6a, - limb2: 0x2b202d6fa27717e1 + limb2: 0x2b202d6fa27717e1, }, w7: u288 { limb0: 0xff147074bd0eb0177d13885d, limb1: 0x75c3a42b9b267b3842b6b4c7, - limb2: 0x54de18ae56affbc + limb2: 0x54de18ae56affbc, }, w8: u288 { limb0: 0xea9ab70d9faddee08a3d721, limb1: 0x2799218b0495f05389162288, - limb2: 0x1b188d8d706d0da5 + limb2: 0x1b188d8d706d0da5, }, w9: u288 { limb0: 0xc78b4fdfd2c7f08de090785a, limb1: 0xb0ed8ae4c9d8f8cf66b189a3, - limb2: 0x3ef3e9bb717b0be + limb2: 0x3ef3e9bb717b0be, }, w10: u288 { limb0: 0xa95f9089c84967d73eeb7c72, limb1: 0xfcc8b694c6dab512b6097cc7, - limb2: 0x185f26ab25337e83 + limb2: 0x185f26ab25337e83, }, w11: u288 { limb0: 0x10a59371fd44cdb8de434ac6, limb1: 0x3c17b135fbcb13d74e419dfb, - limb2: 0x278311e97f6ef4 - } + limb2: 0x278311e97f6ef4, + }, }, E12D { w0: u288 { limb0: 0xe7df08107e805939ebd064d1, limb1: 0x84eaf0a72178fea0cd7fdda3, - limb2: 0x1a3c2d31a8a1ee84 + limb2: 0x1a3c2d31a8a1ee84, }, w1: u288 { limb0: 0xac6519066bbcb1864ae2773, limb1: 0xc26038949c313989e0054bbe, - limb2: 0x28eb7e83ec81a257 + limb2: 0x28eb7e83ec81a257, }, w2: u288 { limb0: 0x11e340e6c9fe6671a0adb177, limb1: 0x92b97e720c203dfe72f47426, - limb2: 0xb846a3ae27eaf33 + limb2: 0xb846a3ae27eaf33, }, w3: u288 { limb0: 0xe04834e31217e48f0e8eb14e, limb1: 0x8935efe701ea6319c4ec860f, - limb2: 0x13f14982cf2bc20c + limb2: 0x13f14982cf2bc20c, }, w4: u288 { limb0: 0x82dc6d9f7406f0a279ef8a56, limb1: 0x51d959b05efad385a218b2bb, - limb2: 0x103a320e5b6a9452 + limb2: 0x103a320e5b6a9452, }, w5: u288 { limb0: 0x2ed59048aebb44b229f7267a, limb1: 0xc8a4f65f52a1922dec503120, - limb2: 0x2d8aad0d7b0b6937 + limb2: 0x2d8aad0d7b0b6937, }, w6: u288 { limb0: 0xdf4cb0cb215170ff0a6b3c1e, limb1: 0x18ee79ed0b8c2cd754f322a6, - limb2: 0xbd8cb5657cc0178 + limb2: 0xbd8cb5657cc0178, }, w7: u288 { limb0: 0x440e6b453eda236f95430186, limb1: 0x39d4deb16fd3ecee0a714cf7, - limb2: 0x26574156175bc55 + limb2: 0x26574156175bc55, }, w8: u288 { limb0: 0x1f4caed0971cc3ed8347723d, limb1: 0x28a247d79794bcee6045e924, - limb2: 0x2657b147233a6fc4 + limb2: 0x2657b147233a6fc4, }, w9: u288 { limb0: 0xf26b32e9d9a108813f659c6b, limb1: 0x876ed468fa80b8be08c0b09b, - limb2: 0x10ca44b2c6d4f9da + limb2: 0x10ca44b2c6d4f9da, }, w10: u288 { limb0: 0xa8ab369559d68eb036cd3db, limb1: 0x723fdc5ac4ca2c61a5a1ffe9, - limb2: 0x12199d02a50f2c5 + limb2: 0x12199d02a50f2c5, }, w11: u288 { limb0: 0x1a376782048bbe32096ddea0, limb1: 0xa715d036367bef48038ea78d, - limb2: 0x14e09936f8a93c9e - } + limb2: 0x14e09936f8a93c9e, + }, }, E12D { w0: u288 { limb0: 0x5c840d64ee3e008381f3e04, limb1: 0x243b2760acc2f44649a5b24f, - limb2: 0x2e6cfbab4b3fed61 + limb2: 0x2e6cfbab4b3fed61, }, w1: u288 { limb0: 0x9743d90c3eef67f5cdf72c19, limb1: 0xf3b5548f9d13f9dc940fa4b2, - limb2: 0x13b8b4c7ca5ec4a2 + limb2: 0x13b8b4c7ca5ec4a2, }, w2: u288 { limb0: 0xf97c58447c8b03814fa6103f, limb1: 0x30d22f3e8c4c7d8523c76597, - limb2: 0x872b0b5d8b48bd1 + limb2: 0x872b0b5d8b48bd1, }, w3: u288 { limb0: 0x78947a908649525b01ca6334, limb1: 0xcfe0ba68f50e623a89171963, - limb2: 0x29503e874bbfec29 + limb2: 0x29503e874bbfec29, }, w4: u288 { limb0: 0x1dae9e71040fd1230c92cbb1, limb1: 0x65a3011a3d4b8129b45eaad6, - limb2: 0x81795daa56a29d3 + limb2: 0x81795daa56a29d3, }, w5: u288 { limb0: 0xd7376a308b09572a31465eb8, limb1: 0x9a987b8f5f86b01cd050946c, - limb2: 0x1b4cef85ace274fe + limb2: 0x1b4cef85ace274fe, }, w6: u288 { limb0: 0x121c88496e9a87e389aabc55, limb1: 0x53070d5039789dbe1ff3c5d9, - limb2: 0x6f0665bfd35e8c7 + limb2: 0x6f0665bfd35e8c7, }, w7: u288 { limb0: 0xdd9ddf4069428e4d4bdf5f7d, limb1: 0x6dace55e5658b1bf8c3a2093, - limb2: 0x29485c58194eed74 + limb2: 0x29485c58194eed74, }, w8: u288 { limb0: 0x5ee1da4b7149da261bda9305, limb1: 0x7601e480e9a8d7be7979c77e, - limb2: 0x14cffa23faf832a0 + limb2: 0x14cffa23faf832a0, }, w9: u288 { limb0: 0xb4e59ad341d4b129ba6ce9a2, limb1: 0xaa1fd997e27e7f4f5fab6918, - limb2: 0x157b9b49aca1ab9 + limb2: 0x157b9b49aca1ab9, }, w10: u288 { limb0: 0xfff92978e32c48590140bfab, limb1: 0xe1cc130cb1566161f46fa326, - limb2: 0x11f2a66bd21895fe + limb2: 0x11f2a66bd21895fe, }, w11: u288 { limb0: 0x4a8d0b05c8ab2197c89b44f2, limb1: 0x48260cd32fd7d0452d9aa26, - limb2: 0x1ff38242cb34892c - } + limb2: 0x1ff38242cb34892c, + }, }, E12D { w0: u288 { limb0: 0x20f9010789e7b152257be743, limb1: 0x41355459a9e13ce010e9491c, - limb2: 0x175f282d0d7ac03e + limb2: 0x175f282d0d7ac03e, }, w1: u288 { limb0: 0xd61a99e14e1f68ea78858dfe, limb1: 0xdb29e70187d87a8d1f4d27a1, - limb2: 0x17afeea1b34fc021 + limb2: 0x17afeea1b34fc021, }, w2: u288 { limb0: 0x3c9e6fb3d89216edef33a1d7, limb1: 0x3dd931680d2bb7651f688b2a, - limb2: 0x13e86a7233e4491b + limb2: 0x13e86a7233e4491b, }, w3: u288 { limb0: 0x377d4b442701faa12601d1f0, limb1: 0xfa864548c3a1a262fd21db8c, - limb2: 0x8c5a91f3fe9bf24 + limb2: 0x8c5a91f3fe9bf24, }, w4: u288 { limb0: 0xdc1920a9ba58d700bf2b145c, limb1: 0xd46f80f0104c31aa036d6a0b, - limb2: 0x1073f44a4d433e6b + limb2: 0x1073f44a4d433e6b, }, w5: u288 { limb0: 0xbe5e796a5bd4049ddad323b0, limb1: 0xe7bc4d5004bad605fd02a27, - limb2: 0x3028bf8868ed598a + limb2: 0x3028bf8868ed598a, }, w6: u288 { limb0: 0x40b609fabc6888cab7f4019d, limb1: 0x7bcf89f3bd29e5c43d4f02ce, - limb2: 0x16a2865923d5b251 + limb2: 0x16a2865923d5b251, }, w7: u288 { limb0: 0x70655717bb0c1ed90589d31c, limb1: 0xd8f6e54cc87b156c80122aad, - limb2: 0x1854b621bdf3aa08 + limb2: 0x1854b621bdf3aa08, }, w8: u288 { limb0: 0x25e6085c5d718fa434af198d, limb1: 0x243092e705cd68fcd328a2a3, - limb2: 0xabda9d2c0c69f93 + limb2: 0xabda9d2c0c69f93, }, w9: u288 { limb0: 0x12d9ff05f7fd76b25f56ee31, limb1: 0xff2e5068668cbd41d6a8d70e, - limb2: 0x30318bdd373e291 + limb2: 0x30318bdd373e291, }, w10: u288 { limb0: 0x5b6d9d5299e67c2427987d3, limb1: 0x60309cea9bcde182039deaf7, - limb2: 0x1eeb35c995c1375b + limb2: 0x1eeb35c995c1375b, }, w11: u288 { limb0: 0xf6c6a575126d36fb8016d94a, limb1: 0x9a38ec893c85a4a110a3845e, - limb2: 0x2992a2b7e6cd37c2 - } + limb2: 0x2992a2b7e6cd37c2, + }, }, E12D { w0: u288 { limb0: 0x2513fcc1815172e2acb78c48, limb1: 0xf1fb049b85c85a858e3796f5, - limb2: 0x300c791e8d042987 + limb2: 0x300c791e8d042987, }, w1: u288 { limb0: 0xb5f548909a82f0ce9b151b26, limb1: 0x8087f9db3ad26d11c3dcd0d3, - limb2: 0xbe98e54b599db1f + limb2: 0xbe98e54b599db1f, }, w2: u288 { limb0: 0x1e55ee1359e4dacd0a224ac, limb1: 0xc049969cc268c7302cbbb96, - limb2: 0x292939420dc4994c + limb2: 0x292939420dc4994c, }, w3: u288 { limb0: 0x9a439ef1b4b8a3e5e0d131ee, limb1: 0x5243b76e0bffe1ad4934762b, - limb2: 0x10b7c0e8f5e55d8e + limb2: 0x10b7c0e8f5e55d8e, }, w4: u288 { limb0: 0x472318a31d61843dc0ac35a3, limb1: 0xfdc8264ebbe6c3255fd45fbd, - limb2: 0x23cab8acf199a2a6 + limb2: 0x23cab8acf199a2a6, }, w5: u288 { limb0: 0x3c5f90aa19be5ca9d586b983, limb1: 0xcba0d66ca2dc42a68f4136fa, - limb2: 0x23d949165118abea + limb2: 0x23d949165118abea, }, w6: u288 { limb0: 0x7aff327e17d6666c7f90c4a7, limb1: 0x2f133759ea769762428ca397, - limb2: 0x229a3fc5c84e256a + limb2: 0x229a3fc5c84e256a, }, w7: u288 { limb0: 0xe2793380656d37b00873ec9a, limb1: 0x1338f4f95cf705ab40325500, - limb2: 0xf5ae003d907d6e1 + limb2: 0xf5ae003d907d6e1, }, w8: u288 { limb0: 0x85c6f4773db45818f2a0edfa, limb1: 0x11b541412c501fd59d939141, - limb2: 0x25f1c74f47ddcbbc + limb2: 0x25f1c74f47ddcbbc, }, w9: u288 { limb0: 0x79f213447462cc95732ff6eb, limb1: 0xa2d558f0e0eca18cfa84426, - limb2: 0x1ab5af6e2200b5a6 + limb2: 0x1ab5af6e2200b5a6, }, w10: u288 { limb0: 0x7bae196bef0db195215adf17, limb1: 0xd0a4b5dc5a11d37222964f4d, - limb2: 0x4f26d49b9bc199a + limb2: 0x4f26d49b9bc199a, }, w11: u288 { limb0: 0xb16717e715fbc76c3bac66f1, limb1: 0x3ebe263de3e1a89803bc0da8, - limb2: 0xfb0595b5b9d8246 - } + limb2: 0xfb0595b5b9d8246, + }, }, E12D { w0: u288 { limb0: 0x4691a6b6d8442401fdb5fd61, limb1: 0x1a4aa6fd9f3cfbd122b2cd2b, - limb2: 0x254267bcadf6ce8b + limb2: 0x254267bcadf6ce8b, }, w1: u288 { limb0: 0xe22fbb9f0206f7b3b78be6ee, limb1: 0xf6e0deb6e65d40117da6b2fd, - limb2: 0x2a4f1a801c3cd205 + limb2: 0x2a4f1a801c3cd205, }, w2: u288 { limb0: 0x163800b0a0c25286cf11a38b, limb1: 0xac61df59604318c6fcd74d67, - limb2: 0x1a9633d30804c9cf + limb2: 0x1a9633d30804c9cf, }, w3: u288 { limb0: 0x7333b8203f73c7c30b504051, limb1: 0xa080c3854f1a6a8a917b0366, - limb2: 0x276eac4715fb20ca + limb2: 0x276eac4715fb20ca, }, w4: u288 { limb0: 0x399e6af618d4d4f3d6b6df5, limb1: 0xc75b47790bdefc3a4c3f9514, - limb2: 0x29d9317f2b639acd + limb2: 0x29d9317f2b639acd, }, w5: u288 { limb0: 0x3c127769d3815a3c70c1ee1e, limb1: 0xfd2b1eee94f11e14c21a9358, - limb2: 0x350f2baa271499a + limb2: 0x350f2baa271499a, }, w6: u288 { limb0: 0x16ad4469d442f5ad7e3a969b, limb1: 0xa319c77cf65f5ddf06c79804, - limb2: 0xfc01932cb22cac6 + limb2: 0xfc01932cb22cac6, }, w7: u288 { limb0: 0xd3ec2fe1d535457c02b0abdb, limb1: 0x9336d37bd33818f9e69963f8, - limb2: 0x221133208264ed33 + limb2: 0x221133208264ed33, }, w8: u288 { limb0: 0xba4ad8aa28c47ead56764d20, limb1: 0x60ea71535c537102ff8591aa, - limb2: 0x99bbc9915f4f422 + limb2: 0x99bbc9915f4f422, }, w9: u288 { limb0: 0xd10f7b7b93fff77a5af1c82a, limb1: 0x54501ad6471fd3ea73f001d2, - limb2: 0x218c4075b09ef652 + limb2: 0x218c4075b09ef652, }, w10: u288 { limb0: 0x6656f1088f37e6bae8831fe4, limb1: 0xd3542728908036bec18ddee4, - limb2: 0x16fe23702ee4af80 + limb2: 0x16fe23702ee4af80, }, w11: u288 { limb0: 0x8bf6a24658757bdf96918d6d, limb1: 0x1e72bce9091c22a645562e32, - limb2: 0x1856aa098aa33d63 - } + limb2: 0x1856aa098aa33d63, + }, }, E12D { w0: u288 { limb0: 0x5eaa057c5e9d338929a7ad43, limb1: 0x7ae96e982db7587ba91a1736, - limb2: 0x72cb1aafef8fc8e + limb2: 0x72cb1aafef8fc8e, }, w1: u288 { limb0: 0x1bb7723ff47ccb109a4226ec, limb1: 0x328efe288a27af15b2af6381, - limb2: 0x2dccf1917c988cef + limb2: 0x2dccf1917c988cef, }, w2: u288 { limb0: 0xcc638278fb869f3c6930e578, limb1: 0x685535107befb2dbff15dcb0, - limb2: 0x1552b4647293ddad + limb2: 0x1552b4647293ddad, }, w3: u288 { limb0: 0x6a2bab4ed331aeb86499d23f, limb1: 0x3e6ac194919d26afeae1c7e6, - limb2: 0xa3bd7d404906b4a + limb2: 0xa3bd7d404906b4a, }, w4: u288 { limb0: 0xd0f18a8f6bcb2c54d031eae7, limb1: 0x428e6f2b4d1b1d15ecbfeaf5, - limb2: 0x2f7d795e0c7bb871 + limb2: 0x2f7d795e0c7bb871, }, w5: u288 { limb0: 0x9fa385290e5a47297dba3917, limb1: 0xb79650782cdb39ff5a1f208, - limb2: 0x15d475f38ea7476b + limb2: 0x15d475f38ea7476b, }, w6: u288 { limb0: 0x7bb49cca7dfd0cb7e3f79b2c, limb1: 0x8c7bac4c06a9d05c2accbd03, - limb2: 0x1fa0d8145555736d + limb2: 0x1fa0d8145555736d, }, w7: u288 { limb0: 0xf736aafbbf8cd7e7c4065e91, limb1: 0x43830e9122457788cb86d1ab, - limb2: 0x135aa9aaad9954db + limb2: 0x135aa9aaad9954db, }, w8: u288 { limb0: 0xbed546ba0b8744fcb9d52660, limb1: 0xfbc7f3baa7c7119fcce3e80, - limb2: 0x15a9f9b27f95df27 + limb2: 0x15a9f9b27f95df27, }, w9: u288 { limb0: 0xb4f28322f24bab28cefc2b81, limb1: 0xbb67c1a9879e054fb1dd9bd3, - limb2: 0x6dc479b44e4a35 + limb2: 0x6dc479b44e4a35, }, w10: u288 { limb0: 0xc55900f2e2fcb03d4745b72e, limb1: 0x789b848782d349549f5f1e85, - limb2: 0x13a9a01aff27a9ae + limb2: 0x13a9a01aff27a9ae, }, w11: u288 { limb0: 0xec2faefd68343ff84384d5e8, limb1: 0x1a7cf79c9cfdf71ef2008e74, - limb2: 0x29c5f1ef7cfa4e48 - } + limb2: 0x29c5f1ef7cfa4e48, + }, }, E12D { w0: u288 { limb0: 0x7da07b86a17f90a2b01f070, limb1: 0x32e6cbe8bb76431d030b6541, - limb2: 0x169136ca3fcbd52e + limb2: 0x169136ca3fcbd52e, }, w1: u288 { limb0: 0x14b5cdc5d62216c47192de8b, limb1: 0xd1e61add783e061d23aa8b5b, - limb2: 0xd15a28ca328e478 + limb2: 0xd15a28ca328e478, }, w2: u288 { limb0: 0xc481cc31c16863df81e8b67d, limb1: 0xe43107afa658bd6eab99baad, - limb2: 0x2dbb3774b86ff414 + limb2: 0x2dbb3774b86ff414, }, w3: u288 { limb0: 0x2b792a9e9477d0720b49c556, limb1: 0x6ee0355be00472bf4c29595c, - limb2: 0x1250c722f7dce651 + limb2: 0x1250c722f7dce651, }, w4: u288 { limb0: 0x4f155753d7ca72726d9c5ede, limb1: 0x68c513a27a582318aba863b2, - limb2: 0x268c4cff2a0868af + limb2: 0x268c4cff2a0868af, }, w5: u288 { limb0: 0xee23384132ef355ea4c9cd2f, limb1: 0x769a778520242fa9be2b4b86, - limb2: 0x619b6540902c8da + limb2: 0x619b6540902c8da, }, w6: u288 { limb0: 0xcf619319e7da22d2d87ded3b, limb1: 0x55bc420f357a9f9af7f3fc27, - limb2: 0x2c6d25af354a8c0a + limb2: 0x2c6d25af354a8c0a, }, w7: u288 { limb0: 0x897b30003ba50ceffa155118, limb1: 0xcd16b98450f6e704b376af36, - limb2: 0x387312925d56e5e + limb2: 0x387312925d56e5e, }, w8: u288 { limb0: 0x1547ce758af5caac5f3cba19, limb1: 0xd2759b5209f5ccde276ae2b9, - limb2: 0x8bebfeee0e486ee + limb2: 0x8bebfeee0e486ee, }, w9: u288 { limb0: 0x158e0f0bc8649c7c9458ccf5, limb1: 0xf20a2eae3793c6df722b69bb, - limb2: 0xb7e139783caa97b + limb2: 0xb7e139783caa97b, }, w10: u288 { limb0: 0xb214433bcc9c61f41a672fe5, limb1: 0xae856be4ca18bfeeb97256e7, - limb2: 0x2ff69682f9db28ad + limb2: 0x2ff69682f9db28ad, }, w11: u288 { limb0: 0x8cbe2f6182148a74244954ac, limb1: 0xc968190da741992ceeeac286, - limb2: 0x296c04958814178f - } + limb2: 0x296c04958814178f, + }, }, E12D { w0: u288 { limb0: 0xaabe5805d69bcf87faaa0624, limb1: 0x478fadd1e2384b0d94ffd427, - limb2: 0x1778a52ea6419cbb + limb2: 0x1778a52ea6419cbb, }, w1: u288 { limb0: 0x3a2bb7367f836fd33e72bc42, limb1: 0x9ed4175a04e317113a9bf7cc, - limb2: 0x1bd3b89c53bba237 + limb2: 0x1bd3b89c53bba237, }, w2: u288 { limb0: 0x283ba112d1a901a2963ebce9, limb1: 0xb88b6d8c90c32641cd8de77c, - limb2: 0x4330ff81bbf1aaa + limb2: 0x4330ff81bbf1aaa, }, w3: u288 { limb0: 0xef466974e62e9d7175c4cb8c, limb1: 0x96bfc81d65fe336227113e7d, - limb2: 0x231f3ab8575b8204 + limb2: 0x231f3ab8575b8204, }, w4: u288 { limb0: 0x6032f7ceed8d763a3c16ca06, limb1: 0xbd357cd0947f134569dd65c, - limb2: 0x24d6a3c8b70196e5 + limb2: 0x24d6a3c8b70196e5, }, w5: u288 { limb0: 0x4d47e505d9d4281c38d84f9a, limb1: 0x86fdc9b122276e23bdaef6c4, - limb2: 0x2d2a5a3cfec76827 + limb2: 0x2d2a5a3cfec76827, }, w6: u288 { limb0: 0x10764f6301da0139409355eb, limb1: 0x169023ab7ba2af2701d8ee7, - limb2: 0xa8fd0478a5bd5b3 + limb2: 0xa8fd0478a5bd5b3, }, w7: u288 { limb0: 0x36fbb7632c5e32ac4d439c06, limb1: 0x77e68a927e6bf7b50f468589, - limb2: 0xd712970fe77ed33 + limb2: 0xd712970fe77ed33, }, w8: u288 { limb0: 0xc6333c4fb88e300a722635d2, limb1: 0x3bd0a9d311c8a7a2a831fc13, - limb2: 0x24a2803265596f98 + limb2: 0x24a2803265596f98, }, w9: u288 { limb0: 0x602f27f3c41e13f70ec306ac, limb1: 0xa2d9c70458bc21b31e4e8bbb, - limb2: 0x2318628ab88e0d2e + limb2: 0x2318628ab88e0d2e, }, w10: u288 { limb0: 0x31d07509de71e84d70fc3597, limb1: 0x63a67db560e7854c1b9ffbe6, - limb2: 0x24630165d03ca7e4 + limb2: 0x24630165d03ca7e4, }, w11: u288 { limb0: 0x7f01293d47393ed8f8faacfd, limb1: 0x693d55d27d34d8d82a45ded6, - limb2: 0x2e982efc254e90e2 - } + limb2: 0x2e982efc254e90e2, + }, }, E12D { w0: u288 { limb0: 0x7a0151622f32149cc39127, limb1: 0xb7d82d0d7cbfc0854dc18a81, - limb2: 0x15121c24c444fb2f + limb2: 0x15121c24c444fb2f, }, w1: u288 { limb0: 0xfe3069d46d030b7bfeb319c7, limb1: 0x92e43b1c259b05e959a29443, - limb2: 0x2f82238cefd08b68 + limb2: 0x2f82238cefd08b68, }, w2: u288 { limb0: 0xffacb1a6cd1e11dec597ebce, limb1: 0xd482f37e951b21ac15bda39, - limb2: 0xd4d51a607e5c451 + limb2: 0xd4d51a607e5c451, }, w3: u288 { limb0: 0xc8c7f69a0db529acbb725a01, limb1: 0x56ba1fcd17ca509c764236b9, - limb2: 0x266c3b87a040d37e + limb2: 0x266c3b87a040d37e, }, w4: u288 { limb0: 0x4571f5a426917bcc6db587c7, limb1: 0x37b7677a534ffa0b66876d0b, - limb2: 0x242bb826f4dad2b9 + limb2: 0x242bb826f4dad2b9, }, w5: u288 { limb0: 0x3b306aacc86c5e63e826c06, limb1: 0x71a1e66a7cf1dd9abd8f6be3, - limb2: 0xf55d9b7d527f5bd + limb2: 0xf55d9b7d527f5bd, }, w6: u288 { limb0: 0xc2334694e7214460556de85d, limb1: 0x44f339ca483ed2f8e20760e0, - limb2: 0x1543c07af87205ef + limb2: 0x1543c07af87205ef, }, w7: u288 { limb0: 0x193cbdd9bd6c91872b1446e8, limb1: 0x390ed7d90a9e41dd08eb0563, - limb2: 0x69314f2882ec9bf + limb2: 0x69314f2882ec9bf, }, w8: u288 { limb0: 0x3e0e5deb39dfbceb0c50cccb, limb1: 0x5359859220ecaaed1bb1d8d5, - limb2: 0x2c243e59d1644b8c + limb2: 0x2c243e59d1644b8c, }, w9: u288 { limb0: 0x63a83a2e6ee175fe65f5b650, limb1: 0x6d0dae1d5b365f909737b583, - limb2: 0x2e16f1774475930e + limb2: 0x2e16f1774475930e, }, w10: u288 { limb0: 0x4bf38c8f50cf94e94ac2eefe, limb1: 0x91db1898abcd99d2828dcd2b, - limb2: 0x2a7826645be14d28 + limb2: 0x2a7826645be14d28, }, w11: u288 { limb0: 0x88d5c83684006468edcfb23a, limb1: 0x52c496f1f5f22ebee63f5006, - limb2: 0xf75dc2e7a584b21 - } + limb2: 0xf75dc2e7a584b21, + }, }, E12D { w0: u288 { limb0: 0x1d5b005c0f05c5913d89d3b8, limb1: 0x1e9c6e293e242c3b4c758f7f, - limb2: 0x303cc3f8883df373 + limb2: 0x303cc3f8883df373, }, w1: u288 { limb0: 0x97919a6105618116083ae38, limb1: 0x548b96828190b58631bd017f, - limb2: 0xd62fd4a5522751e + limb2: 0xd62fd4a5522751e, }, w2: u288 { limb0: 0xb90c093c24bd6b00dcaef48e, limb1: 0x332793bc6fe8daec55a499e3, - limb2: 0x1a62c1adf27dcf4 + limb2: 0x1a62c1adf27dcf4, }, w3: u288 { limb0: 0xed9979bdbc911880b0f2993a, limb1: 0xb9b3d9a78d1ba75a2054dcb6, - limb2: 0x1139bc2af9fc7062 + limb2: 0x1139bc2af9fc7062, }, w4: u288 { limb0: 0xd01ad4e199459d8cfb34022d, limb1: 0xaa55da20d2c29e4f72e8428f, - limb2: 0x19408bc263e8c5e3 + limb2: 0x19408bc263e8c5e3, }, w5: u288 { limb0: 0xe6b6ec6c97330d7bd862275e, limb1: 0xfc7647d2e15333b7f1dc16df, - limb2: 0xe8505d43bbb0de1 + limb2: 0xe8505d43bbb0de1, }, w6: u288 { limb0: 0xac1553394c20ce85bac73bc9, limb1: 0xfd38aa3ace7885aeac4f9c51, - limb2: 0x14bf831b8d59488a + limb2: 0x14bf831b8d59488a, }, w7: u288 { limb0: 0xe7b696d082fe6624d2f66473, limb1: 0x19efee72fac6dc76acb45556, - limb2: 0x2c27a0376c0c6cd0 + limb2: 0x2c27a0376c0c6cd0, }, w8: u288 { limb0: 0x587829d461e3ac5dd4c122b0, limb1: 0x1489d76e7d359134feda6f9d, - limb2: 0x2bf00f05d6d34be6 + limb2: 0x2bf00f05d6d34be6, }, w9: u288 { limb0: 0x68c5607a34b7e03c4ad3e625, limb1: 0x34a43c63330e1744beef8754, - limb2: 0x56191473aed3f7 + limb2: 0x56191473aed3f7, }, w10: u288 { limb0: 0x9b9361a588fabd5162e75e94, limb1: 0xbca7aeef2e209ac40e230e6f, - limb2: 0x241e1b5b17b02573 + limb2: 0x241e1b5b17b02573, }, w11: u288 { limb0: 0x6466ba52d605bf43dcc711a6, limb1: 0x4fd443195501e425d1d0dc3, - limb2: 0x2b1b1a35b478f840 - } + limb2: 0x2b1b1a35b478f840, + }, }, E12D { w0: u288 { limb0: 0x37359d1ca3169479a4787c63, limb1: 0xe6959b34e4552a7091baa5c2, - limb2: 0x251e2d6fc02a0dd1 + limb2: 0x251e2d6fc02a0dd1, }, w1: u288 { limb0: 0xff5382744072d73ab25ff20d, limb1: 0x899afcd9d3ae5e06050f28f, - limb2: 0x69671dfe2d55cc2 + limb2: 0x69671dfe2d55cc2, }, w2: u288 { limb0: 0x4c5bc5ee2d1c3c29908f93b9, limb1: 0x818cc183be27df97d8e39ad3, - limb2: 0x136a07953bb41b63 + limb2: 0x136a07953bb41b63, }, w3: u288 { limb0: 0xc8ba1092a51526df08511ece, limb1: 0xca463cae871d2aa4f117545d, - limb2: 0x2ec243402bbea649 + limb2: 0x2ec243402bbea649, }, w4: u288 { limb0: 0x73459af87f990777dd76405b, limb1: 0x9167416ccd1679acd9c0dc19, - limb2: 0x25d92fc30a1b3c13 + limb2: 0x25d92fc30a1b3c13, }, w5: u288 { limb0: 0xe7d616bf546a691f57deb700, limb1: 0xb6ee6aefa4852dc03975ecac, - limb2: 0xb46a9fae190dacc + limb2: 0xb46a9fae190dacc, }, w6: u288 { limb0: 0xc858c3ec3ca78161afa95440, limb1: 0x88e7ab9779f7b3100a561d0c, - limb2: 0x4646ce8e109b9ec + limb2: 0x4646ce8e109b9ec, }, w7: u288 { limb0: 0x6078ed80374f164838d05309, limb1: 0x49036f0001a89a5411eacecd, - limb2: 0x17d15ad5a21e80c + limb2: 0x17d15ad5a21e80c, }, w8: u288 { limb0: 0xfbf54aa1649f1360f628f647, limb1: 0x873566f2575908c732fa2601, - limb2: 0x8081b2cbe570dc9 + limb2: 0x8081b2cbe570dc9, }, w9: u288 { limb0: 0xdd3685fd23d83f41b8fef63b, limb1: 0x570af8337c272785be94352a, - limb2: 0x24153962f93d7ca0 + limb2: 0x24153962f93d7ca0, }, w10: u288 { limb0: 0x6b6fc38cd84153e3d243c8eb, limb1: 0x70e90d7590bb138f44afe58a, - limb2: 0x27de5024e0c84f0c + limb2: 0x27de5024e0c84f0c, }, w11: u288 { limb0: 0x3fdd6c208244f367bff5c112, limb1: 0x91e2f705ede749a13823072b, - limb2: 0xe1375efaa7677ef - } + limb2: 0xe1375efaa7677ef, + }, }, E12D { w0: u288 { limb0: 0xff28b79435eb24678e3c8eb2, limb1: 0xc0ba0a6fad1811714d5c9c79, - limb2: 0x303a480b499d41e7 + limb2: 0x303a480b499d41e7, }, w1: u288 { limb0: 0xfa7877caa1e87cb6765e080, limb1: 0xa17c36fc7d0139b6b04e701b, - limb2: 0x100468da3cdddbdf + limb2: 0x100468da3cdddbdf, }, w2: u288 { limb0: 0x556a84f960de5f80740c18f1, limb1: 0xbc003e85b28d9419b1321c41, - limb2: 0x2486957161a92fa6 + limb2: 0x2486957161a92fa6, }, w3: u288 { limb0: 0xee123f2e218e5fc7636d043b, limb1: 0x2b4620d525e7c98b54118214, - limb2: 0x1ced0e32a4c0e974 + limb2: 0x1ced0e32a4c0e974, }, w4: u288 { limb0: 0xf456e317add8dd976e4f5ec3, limb1: 0xe1f85ddcbcd7b5d860ee1fbe, - limb2: 0x20bdfcffe9078da6 + limb2: 0x20bdfcffe9078da6, }, w5: u288 { limb0: 0xa2e12460aebe22abbb6623d, limb1: 0x3243bd5a49f9c15ce84b992e, - limb2: 0xa794ff503d2eb58 + limb2: 0xa794ff503d2eb58, }, w6: u288 { limb0: 0xb2013aea1419e59761f6c6b, limb1: 0x18c41d13e9b5ae46b4fbe2c5, - limb2: 0x243e8aea6f4bc41f + limb2: 0x243e8aea6f4bc41f, }, w7: u288 { limb0: 0x834bff6b7ec9caf258fa8481, limb1: 0xd5e3f6fb4e5949909942a836, - limb2: 0xf5651e38a53058f + limb2: 0xf5651e38a53058f, }, w8: u288 { limb0: 0x2392f32d40ef4fdcb8f7bde1, limb1: 0xd92211269e6981a3796f748b, - limb2: 0x1cdde6b416be4e91 + limb2: 0x1cdde6b416be4e91, }, w9: u288 { limb0: 0x627d6f1b96532fc7f042aa71, limb1: 0xbc546773f537f33e8088aa6b, - limb2: 0x165110d82726d415 + limb2: 0x165110d82726d415, }, w10: u288 { limb0: 0xd218510f5366a09241344258, limb1: 0x5687f91e9d385ff162a2ca58, - limb2: 0xa3e9521fd2d3236 + limb2: 0xa3e9521fd2d3236, }, w11: u288 { limb0: 0x96ab37c321ac8988f874caf6, limb1: 0x1d6deccbe79c563f085d2193, - limb2: 0x2f84f7ff1d8e8ee6 - } + limb2: 0x2f84f7ff1d8e8ee6, + }, }, E12D { w0: u288 { limb0: 0x5f32f9a8eeade34241b12810, limb1: 0x133593b9a4a6f381aada074b, - limb2: 0x19a32273e388ac99 + limb2: 0x19a32273e388ac99, }, w1: u288 { limb0: 0xbb69e4856293ec3d92e7d805, limb1: 0x14b85538654531e02cc5932f, - limb2: 0x2491b31e28bd44cb + limb2: 0x2491b31e28bd44cb, }, w2: u288 { limb0: 0x7d82d03af6f8c76c427ba75e, limb1: 0x967b04b92b39941ab44d08d0, - limb2: 0x2ed3f4a2944bbc22 + limb2: 0x2ed3f4a2944bbc22, }, w3: u288 { limb0: 0xa67689abcb222c5eb04f50c2, limb1: 0xe0d373c25972b07e166bbcea, - limb2: 0x1a446eebcb6a1bee + limb2: 0x1a446eebcb6a1bee, }, w4: u288 { limb0: 0x144f30062c10c29bc8be47e4, limb1: 0x64ff3ba7a156ef19d36084b, - limb2: 0x1cc5ff275bd1ad9f + limb2: 0x1cc5ff275bd1ad9f, }, w5: u288 { limb0: 0x4056c33c3a351381152ed01f, limb1: 0xb7b9abe58c58333fc5e0adf8, - limb2: 0xdc9e6ce6f13cf11 + limb2: 0xdc9e6ce6f13cf11, }, w6: u288 { limb0: 0x859bc9e4ea2fc918100b2aac, limb1: 0xc35b40b2582eadc5a1bfe918, - limb2: 0x26298d0dffc77744 + limb2: 0x26298d0dffc77744, }, w7: u288 { limb0: 0x291737ba242cd9b07c66d388, limb1: 0x333115d29458501e74089135, - limb2: 0x19226600b340c7ad + limb2: 0x19226600b340c7ad, }, w8: u288 { limb0: 0xee5f0962e034c8abc8d0ba4d, limb1: 0xc7427067383034c39b47f730, - limb2: 0x2ae92f519b17a927 + limb2: 0x2ae92f519b17a927, }, w9: u288 { limb0: 0xadcd32340a46dbcdcf713132, limb1: 0x14238f7af8998c11c93864c3, - limb2: 0x2d78f33e6b135046 + limb2: 0x2d78f33e6b135046, }, w10: u288 { limb0: 0xccce7f0390dcb48a4fc658a, limb1: 0xb02ef39422aed2a4dd9d99c7, - limb2: 0x22b7c12ee728e4b0 + limb2: 0x22b7c12ee728e4b0, }, w11: u288 { limb0: 0xa55e6345f04363f98e39d62c, limb1: 0x83304eb48f67c3e63068f9, - limb2: 0x1b26fcc2e690d30e - } + limb2: 0x1b26fcc2e690d30e, + }, }, E12D { w0: u288 { limb0: 0x78827305894f7d7c8cb42cd8, limb1: 0x603660b8ffde85ba43f25540, - limb2: 0x1f8bbd81eceac6fa + limb2: 0x1f8bbd81eceac6fa, }, w1: u288 { limb0: 0x20d1c2265d7c54a7c13d661f, limb1: 0x5a6375fef487fe0e27db784f, - limb2: 0x11c961fd171a5f7f + limb2: 0x11c961fd171a5f7f, }, w2: u288 { limb0: 0x6c3b26607fea356bde658104, limb1: 0xf70ad1941455882811fe366c, - limb2: 0xbf839d2222b9e50 + limb2: 0xbf839d2222b9e50, }, w3: u288 { limb0: 0xf2d7051b992886c2de350c7c, limb1: 0x559005099aae5b1e262c07e9, - limb2: 0x1add5d82450dbff0 + limb2: 0x1add5d82450dbff0, }, w4: u288 { limb0: 0x56cda0fca379e7b056f95ebf, limb1: 0x103bb7ec80c51b58ea745255, - limb2: 0x1508ea36a5f7ad14 + limb2: 0x1508ea36a5f7ad14, }, w5: u288 { limb0: 0x8ecd2696af2a0932ff92660f, limb1: 0x200362b96b74147636a81336, - limb2: 0x2857fb636f1f4016 + limb2: 0x2857fb636f1f4016, }, w6: u288 { limb0: 0xfec4a1335fdd5fd059a8dd8e, limb1: 0x75c2b9cd1be202f40e13c3d4, - limb2: 0xbb3d42cdbcbd58d + limb2: 0xbb3d42cdbcbd58d, }, w7: u288 { limb0: 0x4e763270d3457d2f36ffc8bb, limb1: 0xd51b5ff1fa57c35d5c9fccd7, - limb2: 0xfb41479fa0f3e95 + limb2: 0xfb41479fa0f3e95, }, w8: u288 { limb0: 0xf3d9559364d6b5acabe4fd40, limb1: 0xa442dd432e5e47e74e99435c, - limb2: 0x207acb81831a892 + limb2: 0x207acb81831a892, }, w9: u288 { limb0: 0xcb48f0d150ce1d5da376de1c, limb1: 0xda6dcb76b3d2babe3f7c0af3, - limb2: 0x29de187ceb63f010 + limb2: 0x29de187ceb63f010, }, w10: u288 { limb0: 0xbd50ea4093b9a099bb8a9ef8, limb1: 0xbfb8d8b5eeda12c6a0e3711b, - limb2: 0x2de77f287de6bb26 + limb2: 0x2de77f287de6bb26, }, w11: u288 { limb0: 0xd4ac588d5c0eaafc31b2a954, limb1: 0xd4ee68fb818201cd7e229bb6, - limb2: 0x4f268dcccb4c9e7 - } + limb2: 0x4f268dcccb4c9e7, + }, }, E12D { w0: u288 { limb0: 0x336e696338af25774cbde6ba, limb1: 0x69dc4b06614375293bcddb42, - limb2: 0x17bed31b51d2bccf + limb2: 0x17bed31b51d2bccf, }, w1: u288 { limb0: 0xee67b2a9992ca2297a33680b, limb1: 0x1d3067d4e8bb0562cfc0e586, - limb2: 0x2cd961c43819130e + limb2: 0x2cd961c43819130e, }, w2: u288 { limb0: 0xba1d54e30e624b6576fa30e4, limb1: 0xa664731781f4d006a5e8f83a, - limb2: 0x1acc8a751e4fa7c5 + limb2: 0x1acc8a751e4fa7c5, }, w3: u288 { limb0: 0xe4c3723499688f9a8dea5008, limb1: 0x26989a78c35cc577065d49ea, - limb2: 0x25aa6ae3c7e3ca0b + limb2: 0x25aa6ae3c7e3ca0b, }, w4: u288 { limb0: 0xbf23d984a1987abc8698d6fe, limb1: 0xdd4d0bf7124d07e5bdb0ccbf, - limb2: 0x120468245f03f2c5 + limb2: 0x120468245f03f2c5, }, w5: u288 { limb0: 0xb7ce1be795587bce1bec22d2, limb1: 0xc1741799c9616ccbda199640, - limb2: 0x18e8aabf72cf2545 + limb2: 0x18e8aabf72cf2545, }, w6: u288 { limb0: 0xcf933e271bebd4985302d609, limb1: 0xe2765fd44c8c12899cdeafec, - limb2: 0x2469cab8cca6a721 + limb2: 0x2469cab8cca6a721, }, w7: u288 { limb0: 0xf4e8330657ffd4d21e3489ad, limb1: 0xeaa193edb41eca1d92439dff, - limb2: 0x2bdca29cc4f5e24f + limb2: 0x2bdca29cc4f5e24f, }, w8: u288 { limb0: 0xc1bbfb6aff365e98d6f377ce, limb1: 0xd798f860fbf687b45aedbcb, - limb2: 0x1816a7d7508073be + limb2: 0x1816a7d7508073be, }, w9: u288 { limb0: 0x1751153c6447e4dd744cb3d6, limb1: 0xb5575d0d3a63675f38f68fb7, - limb2: 0xcf079455eea2772 + limb2: 0xcf079455eea2772, }, w10: u288 { limb0: 0x9103d7708c70e7ca7c1afb54, limb1: 0x269475ce46651c528d3ba3b0, - limb2: 0x1612bee0a4422ef0 + limb2: 0x1612bee0a4422ef0, }, w11: u288 { limb0: 0x7e74e496a46aa542d7ba3398, limb1: 0x38381d151f53772b3c7b6ac5, - limb2: 0x2627da3091fe9618 - } + limb2: 0x2627da3091fe9618, + }, }, E12D { w0: u288 { limb0: 0x4a472c78419727c213f1ecb7, limb1: 0x52e7713a969eea3195477e0d, - limb2: 0x2452ff1793e9989f + limb2: 0x2452ff1793e9989f, }, w1: u288 { limb0: 0x5af2af840a414c07f88aafe7, limb1: 0x84d438781dc331e9f8dbe5c7, - limb2: 0xa08c364dac40aa7 + limb2: 0xa08c364dac40aa7, }, w2: u288 { limb0: 0x7544947cd54dce3b7db3f88a, limb1: 0xb21db0825eb2c743a0974622, - limb2: 0x99e9f9e14609b3a + limb2: 0x99e9f9e14609b3a, }, w3: u288 { limb0: 0x3df463ae1c6f6e33af40b4ed, limb1: 0x6e6bf88773cfb5481ed3a5ef, - limb2: 0x18093f68aa581ebb + limb2: 0x18093f68aa581ebb, }, w4: u288 { limb0: 0x2e9083725e6fafe12ada88db, limb1: 0x5c7f7db97c54dd97d496e7dd, - limb2: 0x169da8674967384c + limb2: 0x169da8674967384c, }, w5: u288 { limb0: 0xc3e8ae8e4f6250be5ce5700e, limb1: 0x551ed24f2d0023c301973675, - limb2: 0x4d06cb38306e620 + limb2: 0x4d06cb38306e620, }, w6: u288 { limb0: 0xd07fd97a4c34b22e94e00333, limb1: 0x44142bc7fa2c3c38bd001770, - limb2: 0x26cb2e67195220a9 + limb2: 0x26cb2e67195220a9, }, w7: u288 { limb0: 0x4d74de63b523c2d231d42069, limb1: 0xb755b6feb43d9e3b85679a26, - limb2: 0x8ef130214a48a61 + limb2: 0x8ef130214a48a61, }, w8: u288 { limb0: 0x92d0adc0007a60452b2b1d1, limb1: 0x6ebdf8fb1be942eae576175e, - limb2: 0x1487691fffafabad + limb2: 0x1487691fffafabad, }, w9: u288 { limb0: 0x3da0ccf413998d4af4fff3c2, limb1: 0xaae02debc708b689df0b0507, - limb2: 0x24db0f80bd712d56 + limb2: 0x24db0f80bd712d56, }, w10: u288 { limb0: 0xe0cf1a580089999c4ee222c0, limb1: 0xbf0ae87f88101f422985bd99, - limb2: 0x12f407eec0475734 + limb2: 0x12f407eec0475734, }, w11: u288 { limb0: 0xc8783d4bc08a2731ab3bfa93, limb1: 0x7d26093e383c18102ae4cb0b, - limb2: 0x1f96be2222d525ac - } + limb2: 0x1f96be2222d525ac, + }, }, E12D { w0: u288 { limb0: 0xda5fa34846746a819c442983, limb1: 0xb0cda896f70d81847cc85ed8, - limb2: 0x16f7dc8dd816b6ef + limb2: 0x16f7dc8dd816b6ef, }, w1: u288 { limb0: 0xd598894ff54bdafbad9f94c6, limb1: 0x67341e698880b16e06df5b4, - limb2: 0xe0a2eba838a6862 + limb2: 0xe0a2eba838a6862, }, w2: u288 { limb0: 0x2d4fdc3d1173c7dfb46e7170, limb1: 0x4a30acf8b62d37adef886fec, - limb2: 0x2f262ecea836ecc8 + limb2: 0x2f262ecea836ecc8, }, w3: u288 { limb0: 0x4d2de3a485f44ce40095aca, limb1: 0x4f6ebf38f1b4a74b022a98ba, - limb2: 0x2b98abba58a8b9c0 + limb2: 0x2b98abba58a8b9c0, }, w4: u288 { limb0: 0x99eec2af9a4b45e84482053a, limb1: 0xdef95a01ab7f2212fd6f0ddf, - limb2: 0x20ca7118bbba9b13 + limb2: 0x20ca7118bbba9b13, }, w5: u288 { limb0: 0xf62ca396c4cd4f9a37c0ec41, limb1: 0xf80e07d6f2016fced6c1a99d, - limb2: 0x27e0a522003ad386 + limb2: 0x27e0a522003ad386, }, w6: u288 { limb0: 0x31af536e3dcc88a84fc144d, limb1: 0x48f7d70e0e9d5af9cbaf031, - limb2: 0x2f1467cd5d03c065 + limb2: 0x2f1467cd5d03c065, }, w7: u288 { limb0: 0x4b8a521ef408c203f233db65, limb1: 0x50bfacca6815a45eb7cabce8, - limb2: 0x1340f48baad171ef + limb2: 0x1340f48baad171ef, }, w8: u288 { limb0: 0xb74e02f678431063c3f330c9, limb1: 0x48c8b7fb6de93b918a05dfa3, - limb2: 0x19d05aab262398f6 + limb2: 0x19d05aab262398f6, }, w9: u288 { limb0: 0x4e020ba19bfe30be269bc882, limb1: 0x309357da0126dcc065d540a3, - limb2: 0x1b5842e9443aad53 + limb2: 0x1b5842e9443aad53, }, w10: u288 { limb0: 0xaf0d9cd44dcdb29271788d84, limb1: 0x655b4319e3a14fb30daf866a, - limb2: 0x25d96272a676a0a5 + limb2: 0x25d96272a676a0a5, }, w11: u288 { limb0: 0xcf12e3f075ae79dd26bf1616, limb1: 0xb383301919d9fa2d99fd0ab3, - limb2: 0x229dfa1b1e366c8c - } + limb2: 0x229dfa1b1e366c8c, + }, }, E12D { w0: u288 { limb0: 0x62979183e1e24b624116a174, limb1: 0xbdba041021322754848f1d61, - limb2: 0xa476d754210008a + limb2: 0xa476d754210008a, }, w1: u288 { limb0: 0x4287ad8fa4e3fda207b68f52, limb1: 0xcd665ac9b975b2aff1f8dd08, - limb2: 0xfe07d087ed107ab + limb2: 0xfe07d087ed107ab, }, w2: u288 { limb0: 0x308669cfeafff59899fa785e, limb1: 0x829fc34300d1e178417143de, - limb2: 0xd874d7418c3b242 + limb2: 0xd874d7418c3b242, }, w3: u288 { limb0: 0x675789df45cb28ed6b2f322, limb1: 0x6829dd797f7f7a6f1fc6bf04, - limb2: 0x268ec7b4c8e79e67 + limb2: 0x268ec7b4c8e79e67, }, w4: u288 { limb0: 0x5b0a25b74c83183bc84f5d0e, limb1: 0x6c375c7e4a8f194cfcc07c38, - limb2: 0x21dd433dcc0e0ce5 + limb2: 0x21dd433dcc0e0ce5, }, w5: u288 { limb0: 0xa042285feb04a253194546ae, limb1: 0x36b0350cc940c7e0f0a1ec94, - limb2: 0x2b85fd9d9e053b76 + limb2: 0x2b85fd9d9e053b76, }, w6: u288 { limb0: 0x2b65196fb3229731e0e0639c, limb1: 0x5365707554bc24f77ea1439e, - limb2: 0x73310d2feb86b4 + limb2: 0x73310d2feb86b4, }, w7: u288 { limb0: 0xda9afd8f517d9c0088de82a6, limb1: 0x3a334adbafdc8c0fe20dd788, - limb2: 0x12bc5ca2182ea4c0 + limb2: 0x12bc5ca2182ea4c0, }, w8: u288 { limb0: 0x30f3db4d6495b2ae35511824, limb1: 0x96e95c10e585fe2e57ce7be8, - limb2: 0x1fca4754d1120ebf + limb2: 0x1fca4754d1120ebf, }, w9: u288 { limb0: 0x411d4e59d273304e5653544, limb1: 0x2b76a536fa12d1623f35eaa5, - limb2: 0x1f9ebab7aa9085b1 + limb2: 0x1f9ebab7aa9085b1, }, w10: u288 { limb0: 0x21016f80ced8c3d9272193ab, limb1: 0xdd9f7de1487853a3ac2db25b, - limb2: 0xfb3e5578686ac87 + limb2: 0xfb3e5578686ac87, }, w11: u288 { limb0: 0x7c123e62ef78fe69adf00547, limb1: 0x468ac789efbe486f5b24bdae, - limb2: 0x2d5f9d45750a66f9 - } + limb2: 0x2d5f9d45750a66f9, + }, }, E12D { w0: u288 { limb0: 0xf49ddda8e747747083079d37, limb1: 0x68a320e1b5f8a55def8eb451, - limb2: 0x1d8d87d7afc034c6 + limb2: 0x1d8d87d7afc034c6, }, w1: u288 { limb0: 0xd0e8f83930e790d0cf7aa4f3, limb1: 0xdc51e7ce79d82f0986e755e3, - limb2: 0xb35f2092f80a77a + limb2: 0xb35f2092f80a77a, }, w2: u288 { limb0: 0xd9e56962870a50e84be40dd8, limb1: 0x9f1423b923aef765c9073547, - limb2: 0x2407cef32c374634 + limb2: 0x2407cef32c374634, }, w3: u288 { limb0: 0x8a6e91e2640524e91ca9e5c0, limb1: 0x60cfea5268e4f21f3c9385ba, - limb2: 0x2d57872e784ffe8f + limb2: 0x2d57872e784ffe8f, }, w4: u288 { limb0: 0x610c92d3030b34c8fe759af4, limb1: 0xccef054c52c61f91aec59117, - limb2: 0x2a7fdfb70893c87f + limb2: 0x2a7fdfb70893c87f, }, w5: u288 { limb0: 0xdc3871296f6b5fb090ff3d84, limb1: 0x7a2b2003194e22958c65aad, - limb2: 0x11330e4b772d813 + limb2: 0x11330e4b772d813, }, w6: u288 { limb0: 0xc2c316717393e539996e2dfa, limb1: 0x6dbced58e49bc602d3ecb633, - limb2: 0x2b493ea7f055a49f + limb2: 0x2b493ea7f055a49f, }, w7: u288 { limb0: 0x4e7a8676b9ce8022f6546955, limb1: 0x8d4e830787b1fde166a8a9df, - limb2: 0x1e95fcd6da158d5f + limb2: 0x1e95fcd6da158d5f, }, w8: u288 { limb0: 0x61aeabf44d5b761527cd6678, limb1: 0xdd5f062d6ff2ff617a9bade5, - limb2: 0x2e9d36256b9199be + limb2: 0x2e9d36256b9199be, }, w9: u288 { limb0: 0x27a4291e6987daf0dbe6e8ae, limb1: 0x84b47163847a8f4d8682775a, - limb2: 0x27cdc91e5d2053dc + limb2: 0x27cdc91e5d2053dc, }, w10: u288 { limb0: 0xef2510a74d7892233c254ea, limb1: 0x7cc4faf9b18401574a7fd4c7, - limb2: 0x9da984836efee50 + limb2: 0x9da984836efee50, }, w11: u288 { limb0: 0x21081127deea91bde61024b2, limb1: 0xf193ac5ac85dd5ec608e1907, - limb2: 0x2a555324963199e5 - } + limb2: 0x2a555324963199e5, + }, }, E12D { w0: u288 { limb0: 0x231431a681ca1912d93c493c, limb1: 0x7cd5100d863f21b7b69548cf, - limb2: 0x6be1a88eb32559b + limb2: 0x6be1a88eb32559b, }, w1: u288 { limb0: 0x26fe843824491895c70e6492, limb1: 0xad3f2925ef00c47f85f0c5cb, - limb2: 0x1c25f399327375f2 + limb2: 0x1c25f399327375f2, }, w2: u288 { limb0: 0x1d64a276a7ca6a07f378c73c, limb1: 0x2d2741e0d465bc545054a3d8, - limb2: 0x1bf7749bd948c147 + limb2: 0x1bf7749bd948c147, }, w3: u288 { limb0: 0xd28017558ebe08c23c711eb, limb1: 0x49b4bfd3c9086160e68f932a, - limb2: 0x7c63194c9b2d822 + limb2: 0x7c63194c9b2d822, }, w4: u288 { limb0: 0xc66f31af760d6d857ef14191, limb1: 0x3d37853c09dfc5735f6ab95a, - limb2: 0x4c9d5f418fc2eca + limb2: 0x4c9d5f418fc2eca, }, w5: u288 { limb0: 0x9d28f5110dcb53d41cb6a236, limb1: 0x4b42d62aba0e8095600662f9, - limb2: 0x222dbbf0d045f1e4 + limb2: 0x222dbbf0d045f1e4, }, w6: u288 { limb0: 0x855491cbc4c074f566c1ff07, limb1: 0x3d2ad6ec1c1b07319336b1c0, - limb2: 0x2216d43a7fc3d867 + limb2: 0x2216d43a7fc3d867, }, w7: u288 { limb0: 0xa2d181effcab2485fd0929b1, limb1: 0xbd1dbcdda521d518016ab038, - limb2: 0x17da64f8a088f289 + limb2: 0x17da64f8a088f289, }, w8: u288 { limb0: 0x7e4609531a9a80575e4fc446, limb1: 0x7fc0249541f923b62c80b7ab, - limb2: 0x1b1f3ca3a35aed95 + limb2: 0x1b1f3ca3a35aed95, }, w9: u288 { limb0: 0x6bde512b2db44cc14aaab80b, limb1: 0x3332a36522218d5054b2df73, - limb2: 0x16cc444aacfea675 + limb2: 0x16cc444aacfea675, }, w10: u288 { limb0: 0x9d073f56f1ef70e1409f958f, limb1: 0x11ef505741b46c711501e196, - limb2: 0x37e686418823710 + limb2: 0x37e686418823710, }, w11: u288 { limb0: 0x7d2b23008dd91058e4fe64f9, limb1: 0x914180e46029b050930de287, - limb2: 0xcae32e2fb03a1cf - } + limb2: 0xcae32e2fb03a1cf, + }, }, E12D { w0: u288 { limb0: 0xec5d0a0dbf26b9244185606, limb1: 0x2577b931ba5d8d5cde41b68d, - limb2: 0x5e96e308db4b280 + limb2: 0x5e96e308db4b280, }, w1: u288 { limb0: 0xbaa744f3269430ce568e50bd, limb1: 0x60f2b1523bf010f9abc7a2c8, - limb2: 0x8e4f258d7ed76a4 + limb2: 0x8e4f258d7ed76a4, }, w2: u288 { limb0: 0x2342a9e354749981838268ee, limb1: 0xaf2ecea58318aed3b37f5692, - limb2: 0x291525813b88babf + limb2: 0x291525813b88babf, }, w3: u288 { limb0: 0xdc734db514a13e85b5204e5d, limb1: 0x122d47c0509cc9315fcc9d29, - limb2: 0x23d67f47908d3e5 + limb2: 0x23d67f47908d3e5, }, w4: u288 { limb0: 0x56558781f1a6382f991559cb, limb1: 0xd87862bbd0f987a16c7df25d, - limb2: 0x7281838826ccd22 + limb2: 0x7281838826ccd22, }, w5: u288 { limb0: 0x288fc284a7951c14de8da86e, limb1: 0x69d04a96c38b3cc0548f7544, - limb2: 0xf60950d3a14b67b + limb2: 0xf60950d3a14b67b, }, w6: u288 { limb0: 0x318952aeb73d7b08c5fe781b, limb1: 0x901f81c957993437980ea613, - limb2: 0x119433627695ee93 + limb2: 0x119433627695ee93, }, w7: u288 { limb0: 0x595a69d331001fb9c7a9f006, limb1: 0x1e4cc5c97a405d3e3f5b53fe, - limb2: 0x1348746ac61470a + limb2: 0x1348746ac61470a, }, w8: u288 { limb0: 0x9c061b99db93b1ebce5d9fe6, limb1: 0x1cfe992ec44f28737dff910b, - limb2: 0x2ef11c4ef77570ee + limb2: 0x2ef11c4ef77570ee, }, w9: u288 { limb0: 0xea82ad0d20f75a7fcb7131a, limb1: 0xa08d4a3e487358d11c698ece, - limb2: 0x1b26098d599d7ae1 + limb2: 0x1b26098d599d7ae1, }, w10: u288 { limb0: 0xc022d7a34d19af209e5bd73e, limb1: 0xe7579941b62b48517495a22, - limb2: 0x4624fa9f3c5da9a + limb2: 0x4624fa9f3c5da9a, }, w11: u288 { limb0: 0xda5e34b4246623fb0f08bbeb, limb1: 0x5b88dd2c5f4e947261dbf571, - limb2: 0x14fb70e3a5644ab9 - } + limb2: 0x14fb70e3a5644ab9, + }, }, E12D { w0: u288 { limb0: 0x37435bacb68ebcdf3ca0f9e6, limb1: 0x95680e9183aeea980381c2ff, - limb2: 0x2e0b176a2f536c6e + limb2: 0x2e0b176a2f536c6e, }, w1: u288 { limb0: 0x5d257200e0e3f0f8260548a1, limb1: 0x43ac10e47e02c1a9d08110ee, - limb2: 0x656613d14e5d850 + limb2: 0x656613d14e5d850, }, w2: u288 { limb0: 0x29edc8659226397445adcfd7, limb1: 0x1cb605f25f1232c4b97003b8, - limb2: 0x13a6a30088bf9a55 + limb2: 0x13a6a30088bf9a55, }, w3: u288 { limb0: 0x4837b7e02ab5c97e266a9eb2, limb1: 0xefb32f653bbae6f3eb726d8c, - limb2: 0xceb8c4e50028cc4 + limb2: 0xceb8c4e50028cc4, }, w4: u288 { limb0: 0x17fdc9308535284c68a7ac7d, limb1: 0x8f766d31c197ea65a39bc4ca, - limb2: 0x11acbfcb24ad2ba8 + limb2: 0x11acbfcb24ad2ba8, }, w5: u288 { limb0: 0x967bd60ae3efddda5dfbec81, limb1: 0xad70c14c97b8c7380a686e0f, - limb2: 0x30371ad6bf543c10 + limb2: 0x30371ad6bf543c10, }, w6: u288 { limb0: 0xd6adaf61b6d0903807ee7c9a, limb1: 0xee225f52f407d4ac976ef50a, - limb2: 0x2bda417303c6e24 + limb2: 0x2bda417303c6e24, }, w7: u288 { limb0: 0x65b3fb8257e7965d755002d2, limb1: 0xfeb9878a646b31e21f1bc4dd, - limb2: 0x3fabd669db5667 + limb2: 0x3fabd669db5667, }, w8: u288 { limb0: 0xc8927e2bf2fd8606dc9b6e85, limb1: 0x9ddb06748b2b5d9c90979f30, - limb2: 0x24bbdf3df96e6ea1 + limb2: 0x24bbdf3df96e6ea1, }, w9: u288 { limb0: 0xd7eba07d8fb5fcb950830fc7, limb1: 0x1c092ce0a8e62ed5de82e1d8, - limb2: 0x7e9c4205bfb999c + limb2: 0x7e9c4205bfb999c, }, w10: u288 { limb0: 0x22d58baa6c70b1c140f13e2b, limb1: 0x38546fe262f003b039568289, - limb2: 0x13eb0f5e2523f2ca + limb2: 0x13eb0f5e2523f2ca, }, w11: u288 { limb0: 0xe6fdf4239d6fe039730db80e, limb1: 0x81fc600118834bde7b210e33, - limb2: 0x23e94c10560dd48f - } + limb2: 0x23e94c10560dd48f, + }, }, E12D { w0: u288 { limb0: 0x126dcabb9c83e55788a421b5, limb1: 0x2e5a8020d31d184d2bd680f8, - limb2: 0x176e9e74d5123bec + limb2: 0x176e9e74d5123bec, }, w1: u288 { limb0: 0x732eaa22202d100e390b18ca, limb1: 0x2595de575d6260fc6337efbc, - limb2: 0xf59c55b16fb73c0 + limb2: 0xf59c55b16fb73c0, }, w2: u288 { limb0: 0x8454d677091dc5fd7e035f79, limb1: 0x6a2dd013fb3bc6a2e5003d7, - limb2: 0x1c39b76d67404b64 + limb2: 0x1c39b76d67404b64, }, w3: u288 { limb0: 0x4fc8609d589ce3d8c239a3dd, limb1: 0xa8f08cf1f22a3c5957b65a22, - limb2: 0x241f11fcdd196ec + limb2: 0x241f11fcdd196ec, }, w4: u288 { limb0: 0x67e9b76b6ba40ce55cf6ab86, limb1: 0x8efa4d2d0eabda1157c2bb0d, - limb2: 0x252d5836afe72740 + limb2: 0x252d5836afe72740, }, w5: u288 { limb0: 0x44c643bb39ed068dead8aca2, limb1: 0xa1da68cdcb0915ecad11d33c, - limb2: 0x102404f3b319bf2a + limb2: 0x102404f3b319bf2a, }, w6: u288 { limb0: 0xb5b9204c239db4019c1fdb3b, limb1: 0xf9e229ea94fa5218d7c1fc77, - limb2: 0x143ceec4f0df474 + limb2: 0x143ceec4f0df474, }, w7: u288 { limb0: 0x453b36a8489031e742fad6a5, limb1: 0x9092027d3685f9f1c9d26cfb, - limb2: 0x50420383217b07e + limb2: 0x50420383217b07e, }, w8: u288 { limb0: 0x23c8b1a3576fc3fe496deedc, limb1: 0x17660d0f8467bc551b9d0bdd, - limb2: 0x103804c850751821 + limb2: 0x103804c850751821, }, w9: u288 { limb0: 0x1d3bb90042e840d2625d12ea, limb1: 0xf92dc5238204717730ffb1ce, - limb2: 0x246eb81f06275fc2 + limb2: 0x246eb81f06275fc2, }, w10: u288 { limb0: 0x53509e255bff37a25830dbe3, limb1: 0x985df0466ce0dcec904b0fd7, - limb2: 0x908c8217e42cd80 + limb2: 0x908c8217e42cd80, }, w11: u288 { limb0: 0x3e912b9df8245fa466263f73, limb1: 0xaefb85c91fb824510a98d40a, - limb2: 0xff2b69e5bfe0481 - } + limb2: 0xff2b69e5bfe0481, + }, }, E12D { w0: u288 { limb0: 0x56b32d16ca998bb70b7788b2, limb1: 0xb01d382c48614d4ead2ee20f, - limb2: 0x9a64fc7378b5983 + limb2: 0x9a64fc7378b5983, }, w1: u288 { limb0: 0xa6231f1419290d1fe863d395, limb1: 0xa558113440db59f078ce3064, - limb2: 0xae4a839007bf42e + limb2: 0xae4a839007bf42e, }, w2: u288 { limb0: 0x75ef5211c2b0d3fb68e934fe, limb1: 0x4b999ebd29af21abdebfd167, - limb2: 0x1300c3b30e57dd45 + limb2: 0x1300c3b30e57dd45, }, w3: u288 { limb0: 0x20db161a9639e8681ce22733, limb1: 0x59edc8f158aeb79b697b9c19, - limb2: 0xf3607616f05f4f4 + limb2: 0xf3607616f05f4f4, }, w4: u288 { limb0: 0x8e0047a94f779f1b616a665e, limb1: 0x7bf323f05fe820cd6b92f8c1, - limb2: 0x255f3301a994d38 + limb2: 0x255f3301a994d38, }, w5: u288 { limb0: 0x7cce5d4463609087e5be3f9b, limb1: 0xf5ba833a41f0ba18432a33f1, - limb2: 0x2251cd91d4cb556a + limb2: 0x2251cd91d4cb556a, }, w6: u288 { limb0: 0x1c4f0dfbc693f258d4248701, limb1: 0x77e4e4829a6bc521b295a18, - limb2: 0xbfac02addd7ca9 + limb2: 0xbfac02addd7ca9, }, w7: u288 { limb0: 0xfd7f0f015d04a59f87d0cc26, limb1: 0xe29e4605e3049af9e29c2f97, - limb2: 0x2a8c7ce36cd38433 + limb2: 0x2a8c7ce36cd38433, }, w8: u288 { limb0: 0x11d34ee47ec5a24c6604f5fc, limb1: 0x30be471321da0d345f4143f9, - limb2: 0x2c5fa2db51bc0d96 + limb2: 0x2c5fa2db51bc0d96, }, w9: u288 { limb0: 0x1502abefbd9b920aec4bea87, limb1: 0x9639b012f620a9a4549f90ee, - limb2: 0x276a2c92cd4b35c4 + limb2: 0x276a2c92cd4b35c4, }, w10: u288 { limb0: 0xf17b79c9b6aeb4d04783926c, limb1: 0x9c1643fc7f0a9517dab75329, - limb2: 0x147a63c2afd56d1a + limb2: 0x147a63c2afd56d1a, }, w11: u288 { limb0: 0xe66eec94302fe7c283b5bd88, limb1: 0x727ac48a4b194db5633b8172, - limb2: 0x256a4b164497e127 - } + limb2: 0x256a4b164497e127, + }, }, E12D { w0: u288 { limb0: 0xcf8cd1f2d235c546a64155e1, limb1: 0x49f94fe26f2f8dc3c32b753d, - limb2: 0x90af94bddbbae6 + limb2: 0x90af94bddbbae6, }, w1: u288 { limb0: 0x5f46fc7fd14501d9b48e3f00, limb1: 0xd6a0531b22317d46ae0f7263, - limb2: 0x29090bfeabc27bd9 + limb2: 0x29090bfeabc27bd9, }, w2: u288 { limb0: 0x5a83a53c14292881b779531a, limb1: 0xf2ea658491724e9014f110eb, - limb2: 0xb760c5729a55ed5 + limb2: 0xb760c5729a55ed5, }, w3: u288 { limb0: 0xcf101de6acf2078bfe7b48e4, limb1: 0xbf896390bca819f7001bf1c, - limb2: 0x1216bca4050f3d36 + limb2: 0x1216bca4050f3d36, }, w4: u288 { limb0: 0x1bc0ecc2ac251eaa5f21d71a, limb1: 0x587b63c9693e42ba2ecbc329, - limb2: 0xe831722223e7137 + limb2: 0xe831722223e7137, }, w5: u288 { limb0: 0x6f420c9c7b0f3f6216d8b5d7, limb1: 0x2cf500acafedbc3812a974a1, - limb2: 0x16c6c0d66ff0e496 + limb2: 0x16c6c0d66ff0e496, }, w6: u288 { limb0: 0x6b80583ddb0da3dc147a8761, limb1: 0xd2ab1ecd4915c94f067bb706, - limb2: 0x5becfa1995ffb0b + limb2: 0x5becfa1995ffb0b, }, w7: u288 { limb0: 0x735f62f6dc9d27b0c99a7afc, limb1: 0x9b049dab7d2617bd302e6ca1, - limb2: 0xc1d8f04d1a37743 + limb2: 0xc1d8f04d1a37743, }, w8: u288 { limb0: 0x1b6e19f6d80457fbd011fdf8, limb1: 0x60bdc4f77e10fdedb4718dbc, - limb2: 0x250fbdefea34c70e + limb2: 0x250fbdefea34c70e, }, w9: u288 { limb0: 0x86a9b4513fb51e5cb981fea3, limb1: 0x3b7f9a4e04823b4667573b4e, - limb2: 0x23be804fbf7fc5ba + limb2: 0x23be804fbf7fc5ba, }, w10: u288 { limb0: 0xd632f7614d5fab9d356c0fd9, limb1: 0x9a02bfc36db366078d9b9289, - limb2: 0xc077e1b37c3db7 + limb2: 0xc077e1b37c3db7, }, w11: u288 { limb0: 0xb85605ecfcfe3176c018bc6f, limb1: 0x25fddd5b4babdaf0e7ebc66c, - limb2: 0x2d126fc19343eb6d - } + limb2: 0x2d126fc19343eb6d, + }, }, E12D { w0: u288 { limb0: 0xe0eb79ef697704f9f88009a7, limb1: 0xf84e9fd2b03ff24c279431ef, - limb2: 0x1ecafc868da37277 + limb2: 0x1ecafc868da37277, }, w1: u288 { limb0: 0x2ac72b964e5cc678d621ba0b, limb1: 0xb71c8056e530a371916123aa, - limb2: 0xa6a0ceb5f1b6d2d + limb2: 0xa6a0ceb5f1b6d2d, }, w2: u288 { limb0: 0xb6bad8778afe2fef077674ba, limb1: 0x7a16c7fd65c6f7f2e37b1e23, - limb2: 0x22a5e8a58f9c582b + limb2: 0x22a5e8a58f9c582b, }, w3: u288 { limb0: 0xb396d10dfc48fc667c7690c3, limb1: 0x16d22ca57a88a11bca38ff4a, - limb2: 0x20ef9698b6d40399 + limb2: 0x20ef9698b6d40399, }, w4: u288 { limb0: 0xa2c377682b43313850d5bceb, limb1: 0x278d711737f6ea40b0dce47c, - limb2: 0x295158b2625822c + limb2: 0x295158b2625822c, }, w5: u288 { limb0: 0xda0ba60542bf2bcbc9602228, limb1: 0x7cc8b336d9d47520093bb1ba, - limb2: 0x300a142a2850796f + limb2: 0x300a142a2850796f, }, w6: u288 { limb0: 0x73fc5bdded39397faec57d1a, limb1: 0x93befe8f64a746ca03d89fb8, - limb2: 0xd34647249cce294 + limb2: 0xd34647249cce294, }, w7: u288 { limb0: 0x949decf431ad41a4c35769a8, limb1: 0xe75de8c12021d75cc1efb433, - limb2: 0x1a5f238d6dce3644 + limb2: 0x1a5f238d6dce3644, }, w8: u288 { limb0: 0xb63f0e9fb3fee04aeace972f, limb1: 0x5764b150d8ed8b5cdfaaee7f, - limb2: 0x1154bf9d5bd93772 + limb2: 0x1154bf9d5bd93772, }, w9: u288 { limb0: 0x954e689968960d0c6a3a5be9, limb1: 0x9f6a3e9cc45fbcb1a92c2433, - limb2: 0x403a6d1d9e0e3f3 + limb2: 0x403a6d1d9e0e3f3, }, w10: u288 { limb0: 0xe8cb3b0bc09991bdbc73f57b, limb1: 0x7b7e751a540e324065a25619, - limb2: 0x2f223fa11d10f5f9 + limb2: 0x2f223fa11d10f5f9, }, w11: u288 { limb0: 0xec0d73c52157b51a5163723, limb1: 0x5b46f935b0ed7732d2de6790, - limb2: 0x28dfc542f18824d9 - } + limb2: 0x28dfc542f18824d9, + }, }, E12D { w0: u288 { limb0: 0xe2fea35c4a5b28c62048e60a, limb1: 0xaf70594c4748f6aec0400b42, - limb2: 0x3ce671704d55a22 + limb2: 0x3ce671704d55a22, }, w1: u288 { limb0: 0x978176f558827db938ce63cb, limb1: 0x5de249f88953aba9e96e95f6, - limb2: 0xd03c2c5a6e7a15d + limb2: 0xd03c2c5a6e7a15d, }, w2: u288 { limb0: 0x1d20a8027dff3e64687b0caa, limb1: 0x448f6d039cfcc3132aeb2043, - limb2: 0xd84a765a1ed7869 + limb2: 0xd84a765a1ed7869, }, w3: u288 { limb0: 0x1703cf57601441d313ce9f6, limb1: 0xb4db90a6e191a4af88fe5033, - limb2: 0x678587681e1f62d + limb2: 0x678587681e1f62d, }, w4: u288 { limb0: 0x36cff464be8bd512f26bce5c, limb1: 0xb716aac34db1dc56b2294b3d, - limb2: 0x1bf3f2db255639d1 + limb2: 0x1bf3f2db255639d1, }, w5: u288 { limb0: 0xeac83ef4b82b4b763bac4e8b, limb1: 0xf4cde6c8121a2baa622243a6, - limb2: 0xb2055633f438f3b + limb2: 0xb2055633f438f3b, }, w6: u288 { limb0: 0xda63aa46e3f37283a06151c7, limb1: 0x8ee3b65ce2564d4c7b5f483f, - limb2: 0x297ecb7fdeba1aa4 + limb2: 0x297ecb7fdeba1aa4, }, w7: u288 { limb0: 0xfb59559a190f305cac04eaf9, limb1: 0xa90e8d265b71e75a7341b23f, - limb2: 0xcb8a82d979e7ea2 + limb2: 0xcb8a82d979e7ea2, }, w8: u288 { limb0: 0xc58bf182be372c06687de495, limb1: 0xf4cb50f848c1e0e2072c7486, - limb2: 0x2b107173b97495a9 + limb2: 0x2b107173b97495a9, }, w9: u288 { limb0: 0xe0eabd65692464ca0dd92b1f, limb1: 0x56abb5cb408d804cc85bf34a, - limb2: 0xc80e3c37d6cad8a + limb2: 0xc80e3c37d6cad8a, }, w10: u288 { limb0: 0x2ee21b700c674b257b1831d7, limb1: 0x3d01c28bcd9b53ad28d0864f, - limb2: 0x51f5ebd4bc028b9 + limb2: 0x51f5ebd4bc028b9, }, w11: u288 { limb0: 0x5ec5d4da4056deda36f904a, limb1: 0x168e485c29ffe2be92bd8ea9, - limb2: 0x2c51b496555823dc - } + limb2: 0x2c51b496555823dc, + }, }, E12D { w0: u288 { limb0: 0xa8471dd55603384b42066496, limb1: 0xe46eee6fcaba6ee1116284f5, - limb2: 0x2575472a96ec8df + limb2: 0x2575472a96ec8df, }, w1: u288 { limb0: 0x9b001b2c565f0ddfa573296c, limb1: 0x5debea2a4077e45fd6049d3e, - limb2: 0x10ea438a1d19edf5 + limb2: 0x10ea438a1d19edf5, }, w2: u288 { limb0: 0x459fab1d8fcf4bb48996829, limb1: 0x1beefd7fc2a65a73c031c7f3, - limb2: 0xbfde865e2af211d + limb2: 0xbfde865e2af211d, }, w3: u288 { limb0: 0x127b67ab28f4648ccd7298af, limb1: 0x8d1a33c8a95c07a2d8182b51, - limb2: 0x154f5a2a8978766f + limb2: 0x154f5a2a8978766f, }, w4: u288 { limb0: 0xa843c7b6cdbfec70273c7179, limb1: 0x451376ff143138b26508e149, - limb2: 0x27ee093ad5b5641d + limb2: 0x27ee093ad5b5641d, }, w5: u288 { limb0: 0xe46d7ddc38e93e5d4539397e, limb1: 0x10c546e7762036ef0406b68e, - limb2: 0x1e5de28d570d8c23 + limb2: 0x1e5de28d570d8c23, }, w6: u288 { limb0: 0x1d71841c43b80d2bfc818be0, limb1: 0x9ed8354ed235ab98dcbafdfd, - limb2: 0xc7832fd4bcfdd58 + limb2: 0xc7832fd4bcfdd58, }, w7: u288 { limb0: 0x9120a99dcef073912a3fbe11, limb1: 0xc99085975b31be35943fe6de, - limb2: 0x19b2aeb3f9a37fc0 + limb2: 0x19b2aeb3f9a37fc0, }, w8: u288 { limb0: 0xfdd9ded7b646da18595ccac2, limb1: 0x7326e81c5c4d6cd485a95afc, - limb2: 0xb12576c70934ed4 + limb2: 0xb12576c70934ed4, }, w9: u288 { limb0: 0x761820abaa0929428358b641, limb1: 0x49c5bd0dedc35fae8f0ae35e, - limb2: 0x179d6cc8ca4c2127 + limb2: 0x179d6cc8ca4c2127, }, w10: u288 { limb0: 0x337630f723038a58f57b249a, limb1: 0xb6754ac913be8838812111fe, - limb2: 0xc811873605012b5 + limb2: 0xc811873605012b5, }, w11: u288 { limb0: 0xd311f807d8869697ae180475, limb1: 0x3184bc6814d397f313fcd460, - limb2: 0x335982df9e3c62a - } + limb2: 0x335982df9e3c62a, + }, }, E12D { w0: u288 { limb0: 0xd43b4f3fddaca664aeb0609a, limb1: 0x4bfc6836c701691c4414eee0, - limb2: 0x2fb3fa9c32523106 + limb2: 0x2fb3fa9c32523106, }, w1: u288 { limb0: 0x8e7ad226defaa97d7f70c6e6, limb1: 0x857e2881a21df90f085e3b8a, - limb2: 0xe37b527e826d61c + limb2: 0xe37b527e826d61c, }, w2: u288 { limb0: 0x30530cf277d3ac15f532bb98, limb1: 0x88cbcea6dfad7de0cfc2ba7d, - limb2: 0x2eca3af594e50fbf + limb2: 0x2eca3af594e50fbf, }, w3: u288 { limb0: 0xef4cc3ba0de6966b75295de8, limb1: 0xaf8676b848865e67c0f26489, - limb2: 0x1460c0fd900d19c + limb2: 0x1460c0fd900d19c, }, w4: u288 { limb0: 0xc01ef62a31ee02de38d89329, limb1: 0x1d525f597b96d81d5254e48e, - limb2: 0x14221da9a4fc3c02 + limb2: 0x14221da9a4fc3c02, }, w5: u288 { limb0: 0xadc48338e7db4e11166052f6, limb1: 0x9e68b555bddbd64621247d0c, - limb2: 0x5a77fdfda3d9125 + limb2: 0x5a77fdfda3d9125, }, w6: u288 { limb0: 0x63d9fa8e08c9954284f16245, limb1: 0xca621cede38d19231a12d63, - limb2: 0xd27fe5bd781b034 + limb2: 0xd27fe5bd781b034, }, w7: u288 { limb0: 0x77a9046ebfaeabcd937b61aa, limb1: 0xdfa2e67db4bb78ec8cab398f, - limb2: 0x1dd3f480cadc51bf + limb2: 0x1dd3f480cadc51bf, }, w8: u288 { limb0: 0xf65c9e4d2df095b6d942b195, limb1: 0xd6ebcf23f6276b9f4398ca5b, - limb2: 0x1685cb6183c850a4 + limb2: 0x1685cb6183c850a4, }, w9: u288 { limb0: 0xe5ce6d51f5c7a2aeec8cada, limb1: 0x516cacc2dabd97d328953757, - limb2: 0x1974d6cc4195d3f0 + limb2: 0x1974d6cc4195d3f0, }, w10: u288 { limb0: 0xc2dc450c125c4f157be8a0ed, limb1: 0x4de5175e01fcec11f2943446, - limb2: 0x94d92ac291aff6d + limb2: 0x94d92ac291aff6d, }, w11: u288 { limb0: 0xab272482c2c48dac7030c6fb, limb1: 0xad02ca14f40e608b78e0d102, - limb2: 0x1bb830e6999b29a3 - } + limb2: 0x1bb830e6999b29a3, + }, }, E12D { w0: u288 { limb0: 0xc83eac5d253a3c206da26863, limb1: 0x1a2947347e60ca31a19b795a, - limb2: 0x19d283eb90879408 + limb2: 0x19d283eb90879408, }, w1: u288 { limb0: 0xfe29e4f1c7f2933ca1484bb7, limb1: 0xa467cb57c5dd3ee90eb9b1fd, - limb2: 0x5af95cf457531b6 + limb2: 0x5af95cf457531b6, }, w2: u288 { limb0: 0x5219339ef8753869ba2e72df, limb1: 0xf6edbe19ee9528b014d5c5e4, - limb2: 0x17e4d2b93b5a24d6 + limb2: 0x17e4d2b93b5a24d6, }, w3: u288 { limb0: 0x702d294fada771a134eda0dd, limb1: 0x6f78dce21c0fa36347352189, - limb2: 0x271fd9860e85dc01 + limb2: 0x271fd9860e85dc01, }, w4: u288 { limb0: 0xcdae44d3e06c07681ae14c73, limb1: 0xe07fa16b28b87a358d682e14, - limb2: 0x1b33f9d4bedad80f + limb2: 0x1b33f9d4bedad80f, }, w5: u288 { limb0: 0x527e57b7206c1f1abed0556, limb1: 0xc5f02956f7dd77fc77040195, - limb2: 0x1917515d732e83cf + limb2: 0x1917515d732e83cf, }, w6: u288 { limb0: 0x821089dfaa7ef412763e67ff, limb1: 0xfd54fe4da59d3b34626aa0a3, - limb2: 0x1f646c3c1ce572a3 + limb2: 0x1f646c3c1ce572a3, }, w7: u288 { limb0: 0x2266b08b3a2f19ef3dfde72f, limb1: 0x8b17232a32f1d284469f812a, - limb2: 0x3d46d9f79f4918e + limb2: 0x3d46d9f79f4918e, }, w8: u288 { limb0: 0x8bc72d70c71f6a14c2015aec, limb1: 0x3e3b1d0272aeee3c95095070, - limb2: 0x1401f32c5bdc074d + limb2: 0x1401f32c5bdc074d, }, w9: u288 { limb0: 0x6b9fdcc49f933192fdd316d9, limb1: 0x51b8f8765258f14ff0b91b7f, - limb2: 0x2d04765080f5aa72 + limb2: 0x2d04765080f5aa72, }, w10: u288 { limb0: 0x282af58df7dd63615218a4db, limb1: 0xdb5b2942254b35298f473dfa, - limb2: 0x19371f2e44f2642f + limb2: 0x19371f2e44f2642f, }, w11: u288 { limb0: 0xf656fcc4885e9bac2311a500, limb1: 0xb86e168eccc1490248a1bbcf, - limb2: 0x1e94a5f389c1134f - } + limb2: 0x1e94a5f389c1134f, + }, }, E12D { w0: u288 { limb0: 0x77cf6625b6c8297f66029263, limb1: 0xc383aa686c6b394b8caf4e8a, - limb2: 0x187eeecb1701e122 + limb2: 0x187eeecb1701e122, }, w1: u288 { limb0: 0x2a79a147b768622ba6238818, limb1: 0xc163351aee82545a4039f15d, - limb2: 0x1dd2a0792fb15c91 + limb2: 0x1dd2a0792fb15c91, }, w2: u288 { limb0: 0x2edce55cae49f12e0a2c17f7, limb1: 0xac97b75bea5f816bdae1760d, - limb2: 0x27516677b7a92f52 + limb2: 0x27516677b7a92f52, }, w3: u288 { limb0: 0xc0187f4a93b5c0410ba3765, limb1: 0x5c1b1d363a9c415efa352305, - limb2: 0x21d20787e6ea3a9f + limb2: 0x21d20787e6ea3a9f, }, w4: u288 { limb0: 0xdf894053b59ef32b64ef4603, limb1: 0x606a274f1be394c8b59f9350, - limb2: 0xc28e6836a1d1629 + limb2: 0xc28e6836a1d1629, }, w5: u288 { limb0: 0xa3c051b381cb2299496fe448, limb1: 0xc3038936d50c2e618805bb1c, - limb2: 0x2162f7e7be7c261a + limb2: 0x2162f7e7be7c261a, }, w6: u288 { limb0: 0x89543c7f4f547ec86001374e, limb1: 0xe41618251b98064df96c7048, - limb2: 0x20b4623bc4e7b9d0 + limb2: 0x20b4623bc4e7b9d0, }, w7: u288 { limb0: 0x56cecb565b389a0568d488d8, limb1: 0x310fe2501d7582fea0ecb5ec, - limb2: 0x2b16c00e3a31bdc5 + limb2: 0x2b16c00e3a31bdc5, }, w8: u288 { limb0: 0x7cbe287a49fec8d0e66bdce, limb1: 0x5cd314bcf9c8c3b675af7e23, - limb2: 0x203bca9476d48291 + limb2: 0x203bca9476d48291, }, w9: u288 { limb0: 0x1d1a081ce40288bedca7879a, limb1: 0xd9c9d12e7b5d4284b114a53f, - limb2: 0x158a818d89b10347 + limb2: 0x158a818d89b10347, }, w10: u288 { limb0: 0x3ed3bb63d60b32bd130cdd9d, limb1: 0xdc5440f663a1e62a94f684b5, - limb2: 0x5878a7473a2cec7 + limb2: 0x5878a7473a2cec7, }, w11: u288 { limb0: 0xed615ba34e6b7c91fed7af9b, limb1: 0x7610fcd1ab61e065f34f13c3, - limb2: 0x36a46c76bfab3cf - } + limb2: 0x36a46c76bfab3cf, + }, }, ] .span(), @@ -13337,1015 +13337,1015 @@ mod pairing_tests { u288 { limb0: 0xca81921c151d66a0175ed1f1, limb1: 0xb99064d84f4ee7eea6b900f1, - limb2: 0xeedd2f36c562a41 + limb2: 0xeedd2f36c562a41, }, u288 { limb0: 0x37c6bd6aff966de212559a4f, limb1: 0x57c2f5686b8e9e2e4153357e, - limb2: 0x224e1012225e5c30 + limb2: 0x224e1012225e5c30, }, u288 { limb0: 0x70e1f80bae277f08b6773838, limb1: 0x7d2c44f1488db416b60a53dd, - limb2: 0x2ede61f367e0d4b9 + limb2: 0x2ede61f367e0d4b9, }, u288 { limb0: 0x33bbc4438c0b190fcacb2282, limb1: 0x4152d4fa3ad46fa239195eaf, - limb2: 0x2b1576e995f3e9e1 + limb2: 0x2b1576e995f3e9e1, }, u288 { limb0: 0xa66693f20e7541273710fda, limb1: 0x4ae68aac5fdd755d8c13e4ce, - limb2: 0xf7bf173888d8c9a + limb2: 0xf7bf173888d8c9a, }, u288 { limb0: 0xa5ab0d0482f9335aa35ed40, limb1: 0xb89f2129d4bc24e5d02db3bc, - limb2: 0x18db4ed560632e49 + limb2: 0x18db4ed560632e49, }, u288 { limb0: 0xad3ad307d393fc4a656b5e4c, limb1: 0x445603716c8a44429b23dc2, - limb2: 0x15b447124515950 + limb2: 0x15b447124515950, }, u288 { limb0: 0x20e0e8c832bd607dc0dc7c5a, limb1: 0x15313c5c184ba69e70ea037f, - limb2: 0x64f5848c48f6e5 + limb2: 0x64f5848c48f6e5, }, u288 { limb0: 0xcc818d6b8fa7e5751ce6490d, limb1: 0x4869085d01f2770a96615a25, - limb2: 0x2f209ecccc84ed49 + limb2: 0x2f209ecccc84ed49, }, u288 { limb0: 0x52107657f105e32deb169705, limb1: 0x51c3c4c00f7d3ab0807b043f, - limb2: 0x231519bfdfe40b42 + limb2: 0x231519bfdfe40b42, }, u288 { limb0: 0x49e3fd9868bf9e5304d0f69c, limb1: 0x5716b0e87e7b1f9f84a5f40c, - limb2: 0x8ac7a0b641579fa + limb2: 0x8ac7a0b641579fa, }, u288 { limb0: 0x98e24db86f8abfc91ef4161d, limb1: 0xa076b054e64230527b40e53c, - limb2: 0x27859822b815d6c4 + limb2: 0x27859822b815d6c4, }, u288 { limb0: 0x3bd307d84c12d6ddb522c689, limb1: 0x2a994b67e88de79bd3062c5d, - limb2: 0x19a90636af86d5d3 + limb2: 0x19a90636af86d5d3, }, u288 { limb0: 0xfb13bf0c6aa24a049dfffea0, limb1: 0xbbf3f94323b78b7aaef345d3, - limb2: 0x159435234c68b140 + limb2: 0x159435234c68b140, }, u288 { limb0: 0x1bbb873eeb894b027e3fe997, limb1: 0x1f1c18b289e122ff66189ef8, - limb2: 0x1ff5094767921e9e + limb2: 0x1ff5094767921e9e, }, u288 { limb0: 0x9e144f30841400493f2a539e, limb1: 0xd7d08dac725bc269f40687d6, - limb2: 0x1c2579365e374382 + limb2: 0x1c2579365e374382, }, u288 { limb0: 0x55bc8f51b90ec85b1b5ea49b, limb1: 0x6ca90ae82fbdd16dd459ea03, - limb2: 0x1a8ce5a85856924 + limb2: 0x1a8ce5a85856924, }, u288 { limb0: 0xea45b5a9969bc69aab9d3b3b, limb1: 0x74db2358b3086722550f88ab, - limb2: 0x1aed839f48870b8d + limb2: 0x1aed839f48870b8d, }, u288 { limb0: 0x9f290506c818e726440f9625, limb1: 0xbc6076b1dfc425439b1e7987, - limb2: 0x72c41fdc9d5adda + limb2: 0x72c41fdc9d5adda, }, u288 { limb0: 0xf6539ec15132a0825bb041a2, limb1: 0xe563a62bc30696938ac5521c, - limb2: 0x16a5f27ba56a4891 + limb2: 0x16a5f27ba56a4891, }, u288 { limb0: 0xc6562a8e7315ec1d86a83fbc, limb1: 0xf09566184ba498d12785d36d, - limb2: 0x25b1632c7160c65f + limb2: 0x25b1632c7160c65f, }, u288 { limb0: 0x34cfdecdf24699cb6372d77e, limb1: 0x18193bea1075c08300f7e63a, - limb2: 0x2eb5c9bf35035c13 + limb2: 0x2eb5c9bf35035c13, }, u288 { limb0: 0xe67ad43eec792f71660e630b, limb1: 0x774f0498985ac9d837046bfe, - limb2: 0x167813064cd31402 + limb2: 0x167813064cd31402, }, u288 { limb0: 0x261b6589cea4ce4e380d8913, limb1: 0xea09cf19340d3a89d7b340f2, - limb2: 0x17d54a7fafd79538 + limb2: 0x17d54a7fafd79538, }, u288 { limb0: 0xf06fa319fe3a7096106c0bcd, limb1: 0xa4925d117de7827da4155e81, - limb2: 0xfacd10c0d6b576b + limb2: 0xfacd10c0d6b576b, }, u288 { limb0: 0x4af3f0cf5522cc4ff2988eca, limb1: 0xd3c6c70d55f7c48505031558, - limb2: 0xec483114f23f61a + limb2: 0xec483114f23f61a, }, u288 { limb0: 0xcfa0821f551d51844ee8ef40, limb1: 0x37075ff5d82eae55aaa89ffa, - limb2: 0x6e13e0f01f5fece + limb2: 0x6e13e0f01f5fece, }, u288 { limb0: 0xbeab8c67d463477fe0a462ec, limb1: 0x2802dde8e93da83af6345bd, - limb2: 0x11b4ad0e02eb81e3 + limb2: 0x11b4ad0e02eb81e3, }, u288 { limb0: 0x43320104db4c6e23e18311e0, limb1: 0x76cb69f2decc0f7ff921d0bc, - limb2: 0x2ee553360d999e9c + limb2: 0x2ee553360d999e9c, }, u288 { limb0: 0xdfbace63c158868f5a94456a, limb1: 0xda78001747d16ec5f374f7ba, - limb2: 0x2d2baf2cd38cab0d + limb2: 0x2d2baf2cd38cab0d, }, u288 { limb0: 0xf292bd8d77832ff66c2ad523, limb1: 0x13e3e8362b65393093b61f5e, - limb2: 0x3042b1c68a029e6d + limb2: 0x3042b1c68a029e6d, }, u288 { limb0: 0x23720bad416ba6674350a141, limb1: 0x743e812b3e8d29d084904cf7, - limb2: 0x66c1422f97093ed + limb2: 0x66c1422f97093ed, }, u288 { limb0: 0x348014957bf7929f4d0f6b04, limb1: 0x8ca056e42c0de1f186b49580, - limb2: 0x11677b3eab8ce22b + limb2: 0x11677b3eab8ce22b, }, u288 { limb0: 0x473cfa9fabd49a8050ec36f1, limb1: 0xe488b057baf67880b22f35b4, - limb2: 0xda83f04ad54d7d8 + limb2: 0xda83f04ad54d7d8, }, u288 { limb0: 0x8f656a81f4498d23bb890991, limb1: 0xa9d54e5cc5ae552948fcc5c3, - limb2: 0x1d30ea10852f0a4d + limb2: 0x1d30ea10852f0a4d, }, u288 { limb0: 0x1ffe9dc9478607eddbf1cd80, limb1: 0x915257d6a5ed945fea4355bd, - limb2: 0x23bc9a147c719826 + limb2: 0x23bc9a147c719826, }, u288 { limb0: 0x3ee3b7ee6a36e230300abf31, limb1: 0xce6698ca3ba08994498a486f, - limb2: 0x2375c5e5f2f782a1 + limb2: 0x2375c5e5f2f782a1, }, u288 { limb0: 0xd27f2b1e902e0c5677ff31c8, limb1: 0xcc2f73a9e02eeb5a49589443, - limb2: 0x112ba33806ca3af3 + limb2: 0x112ba33806ca3af3, }, u288 { limb0: 0x8d9a76f0df42c691d596083b, limb1: 0xd9550033909a7dd06c87c7c6, - limb2: 0x2d3fc197bf781651 + limb2: 0x2d3fc197bf781651, }, u288 { limb0: 0x931812c389c26405f6261efd, limb1: 0xa63777d26355cc94edf8f63c, - limb2: 0x241a2063d4cbeb50 + limb2: 0x241a2063d4cbeb50, }, u288 { limb0: 0x40de96d838e46257e457ae, limb1: 0x30d47e3256eac472b851672, - limb2: 0x2825313a9baa2468 + limb2: 0x2825313a9baa2468, }, u288 { limb0: 0x85a01d419e39bbdb7355178c, limb1: 0xf4c41cff9b0d1ce2272f54d1, - limb2: 0xa98e424ba5f154e + limb2: 0xa98e424ba5f154e, }, u288 { limb0: 0x69b7993741b6495f619bc69e, limb1: 0xee503df4f163ee81d6835ac5, - limb2: 0x11d6c75a35e823b4 + limb2: 0x11d6c75a35e823b4, }, u288 { limb0: 0x3e3c05d38a75cc49bf988016, limb1: 0x458b30fb95cde68e98703ea7, - limb2: 0x2785e8fe806221c0 + limb2: 0x2785e8fe806221c0, }, u288 { limb0: 0x3ab73e676bd7cf3e2bd2fefa, limb1: 0x91032423b7be6ad98adb2749, - limb2: 0x2cd037db5cadd871 + limb2: 0x2cd037db5cadd871, }, u288 { limb0: 0xa965bbf9cfccef0c8c86301e, limb1: 0x121d4e4cccef1357768a37e0, - limb2: 0x70ba3f81ae200a9 + limb2: 0x70ba3f81ae200a9, }, u288 { limb0: 0xc2b901b9cdf677038f722ac0, limb1: 0x1b8519a01bef42b02f86fa96, - limb2: 0x526cc0715cdb7cc + limb2: 0x526cc0715cdb7cc, }, u288 { limb0: 0x93465319169cb60a970b343, limb1: 0xeb08fc4109fdd2580afb1bde, - limb2: 0x2fbe1dfad16d28ac + limb2: 0x2fbe1dfad16d28ac, }, u288 { limb0: 0xcc51f7a9bee0ccc7305fa92f, limb1: 0xdc36d50d3bd61989a9778aa9, - limb2: 0x63f62fbc15a91d4 + limb2: 0x63f62fbc15a91d4, }, u288 { limb0: 0x7146f187933b426842f9aee, limb1: 0x4a7a0fadbbe646e844f5f3b1, - limb2: 0xe36dfed487c5d58 + limb2: 0xe36dfed487c5d58, }, u288 { limb0: 0x4d314a51a35fdeb3d6773d08, limb1: 0x5a279429769a95dafcf4bc3a, - limb2: 0x21f9ab1535990277 + limb2: 0x21f9ab1535990277, }, u288 { limb0: 0xfb04045a7849ea0747f4ef80, limb1: 0x83e9f85a74ef348fcdef944b, - limb2: 0x24fb3a7e14cefe03 + limb2: 0x24fb3a7e14cefe03, }, u288 { limb0: 0xe59b49c3c2f65fd612eee6ef, limb1: 0xa8b7f663cf71c758089b7768, - limb2: 0x264c1b47535e1efa + limb2: 0x264c1b47535e1efa, }, u288 { limb0: 0x1f314333d247c83bf5e0885f, limb1: 0x520b0d06b81dc0e762898878, - limb2: 0x12ef66123cdf4a67 + limb2: 0x12ef66123cdf4a67, }, u288 { limb0: 0x9ee4420645d46c61004aa76b, limb1: 0xe16b2c8a9931c0a9c3423e59, - limb2: 0x6cc92be9f36db1d + limb2: 0x6cc92be9f36db1d, }, u288 { limb0: 0x70d9607545d479d9af95cee5, limb1: 0x55488e5ed229a945c6c1bb10, - limb2: 0x2d3df35441e827be + limb2: 0x2d3df35441e827be, }, u288 { limb0: 0x44ef56fb506f6ac83d3ee800, limb1: 0xee648db67c31110f4ffa299, - limb2: 0x3cd8ddca08050a7 + limb2: 0x3cd8ddca08050a7, }, u288 { limb0: 0x320fc676a1a8643c28a1ec38, limb1: 0x1e61bca64e8742ba13172ddb, - limb2: 0x1bb4b1d3bd82edb9 + limb2: 0x1bb4b1d3bd82edb9, }, u288 { limb0: 0x698bd1b44d3f6171080a93fb, limb1: 0x901c467eadddc6cfe45631a7, - limb2: 0xebee1f5ef863ece + limb2: 0xebee1f5ef863ece, }, u288 { limb0: 0xdcfa566967df21c1b60a0733, limb1: 0x4cbfaae95a10eef04ad718b8, - limb2: 0x2608d3b452345ff + limb2: 0x2608d3b452345ff, }, u288 { limb0: 0xd25a1aceb522c56d87ec8c10, limb1: 0xf0994d9148d6aa3912b158b6, - limb2: 0x2642af90876c5a13 + limb2: 0x2642af90876c5a13, }, u288 { limb0: 0x28de01088baea7749030fc93, limb1: 0x3cd745efbe37b4398ccb0a44, - limb2: 0x2105e629ea423cbe + limb2: 0x2105e629ea423cbe, }, u288 { limb0: 0x6b202ed10b120783cdb87aea, limb1: 0xf003848524d07b193a3003ad, - limb2: 0xb18a81b9e0ef7d7 + limb2: 0xb18a81b9e0ef7d7, }, u288 { limb0: 0xfffe4ac95a453626e43b8762, limb1: 0x5b4f803c05f5bb51dfbab48b, - limb2: 0x1545fd064a2456ff + limb2: 0x1545fd064a2456ff, }, u288 { limb0: 0xa419aad2186910fb65126915, limb1: 0x189b7339a1acd5488e1c39d9, - limb2: 0x2f2babe00999b18b + limb2: 0x2f2babe00999b18b, }, u288 { limb0: 0x439ca23b28c5fa21d376d715, limb1: 0xb32bfdc3cc36aed660db9669, - limb2: 0x2cfef2a9bd50c03c + limb2: 0x2cfef2a9bd50c03c, }, u288 { limb0: 0xa194e8e95ff512b208a7ce61, limb1: 0xbb2351f35065c0b3b3777c7b, - limb2: 0x2a4cac59b0ebc448 + limb2: 0x2a4cac59b0ebc448, }, u288 { limb0: 0xdb79efe4b7def4897e4d3396, limb1: 0xd121b730ac4b092ec5512e8f, - limb2: 0x25a265c927e20e23 + limb2: 0x25a265c927e20e23, }, u288 { limb0: 0x5cfbf3811c6f4c584080d74c, limb1: 0x8d45b2dc9bc976b6b4dd081e, - limb2: 0x3500843d3fd427b + limb2: 0x3500843d3fd427b, }, u288 { limb0: 0x23156dcbd27745a38317e780, limb1: 0xd908e02f34937057d24e08da, - limb2: 0x95e1d22b431bed4 + limb2: 0x95e1d22b431bed4, }, u288 { limb0: 0x597a8eb4060cec45953a3c33, limb1: 0x49db5c01b491bf61252b638f, - limb2: 0x1056e016028c3ebe + limb2: 0x1056e016028c3ebe, }, u288 { limb0: 0xb25ce265066569a766f41a7f, limb1: 0xeab053ed702f7579ba89199e, - limb2: 0x2cad752fd6667888 + limb2: 0x2cad752fd6667888, }, u288 { limb0: 0xc2074d2ca59ab7a3854c94d5, limb1: 0x7b2cdc446ee4d5e03eee89d9, - limb2: 0x608cd66c0851e37 + limb2: 0x608cd66c0851e37, }, u288 { limb0: 0x95c43087e0da1b0a5a89492f, limb1: 0x42f6a4ed3f85a0a13dc98d38, - limb2: 0x15216ecad27d2141 + limb2: 0x15216ecad27d2141, }, u288 { limb0: 0x43724d6a3d40468428284426, limb1: 0x2385837d40bb7d62caaff4ca, - limb2: 0x450fc57225373c1 + limb2: 0x450fc57225373c1, }, u288 { limb0: 0xe1df2133504f454db9564cd0, limb1: 0x11a8243b0c249c847e922ec9, - limb2: 0x138f79826d5074c8 + limb2: 0x138f79826d5074c8, }, u288 { limb0: 0x505fdb441b8c20f345eaf730, limb1: 0xcd083cb69535c69de04b33a3, - limb2: 0x19ff30be4b36d2a4 + limb2: 0x19ff30be4b36d2a4, }, u288 { limb0: 0xa0735cce8016fa55761c917e, limb1: 0x1698ebae30942441fc0439a2, - limb2: 0x6d05e574bb009e2 + limb2: 0x6d05e574bb009e2, }, u288 { limb0: 0x5490d6b1303a272d3bf4ef0e, limb1: 0x1496a848ce12578c3a0b1a43, - limb2: 0x87a1fe732f919b0 + limb2: 0x87a1fe732f919b0, }, u288 { limb0: 0xb558585a8222094a11e605e3, limb1: 0x6b0230545ea5d679935512d0, - limb2: 0x2fccb0ee7764867d + limb2: 0x2fccb0ee7764867d, }, u288 { limb0: 0x73e9b43b161c5d04830ae655, limb1: 0x9a99c375fcd3eba5ce1ab386, - limb2: 0x12a5b99bf60af3b4 + limb2: 0x12a5b99bf60af3b4, }, u288 { limb0: 0x6bb1f5e58836eecc979daf64, limb1: 0x2b8bd3ecce6fa7d59a462b1, - limb2: 0xd0c972862600f4e + limb2: 0xd0c972862600f4e, }, u288 { limb0: 0x838d0378bfe5f9e33dee2969, limb1: 0x67508c3fb6e2f86afe7f8f4c, - limb2: 0x1264c565d03f39a7 + limb2: 0x1264c565d03f39a7, }, u288 { limb0: 0x8d554272c889a7cef749a91, limb1: 0x7506e0a1c7386af263fa2824, - limb2: 0x2f70322eb1aa6724 + limb2: 0x2f70322eb1aa6724, }, u288 { limb0: 0x8e12a8df98f2ce04d11fff81, limb1: 0x8dcd30c864c0d4e84759b9a6, - limb2: 0x14056f0919101fd1 + limb2: 0x14056f0919101fd1, }, u288 { limb0: 0x33613887ddf070521b755e7a, limb1: 0x290e22dc837c1fbdb81a28b, - limb2: 0x1aca534e8fc54be4 + limb2: 0x1aca534e8fc54be4, }, u288 { limb0: 0x2293457ea38e2d5103f1797f, limb1: 0x6ea7064ca05531972dbd3d88, - limb2: 0x2bd314ec52f892bd + limb2: 0x2bd314ec52f892bd, }, u288 { limb0: 0xad8778d732a6fa715f6d73c1, limb1: 0x9da39634f4a73a9a481afa4c, - limb2: 0x210acb8f1115ef96 + limb2: 0x210acb8f1115ef96, }, u288 { limb0: 0xd70d8bc1425afc17e54d7e44, limb1: 0x28142e61bec93e5076e65b7a, - limb2: 0x19b986bd9ad36a3b + limb2: 0x19b986bd9ad36a3b, }, u288 { limb0: 0x5a6af830ed007394c8705ca, limb1: 0x6ebbdb388fe4db913cc8a7d5, - limb2: 0x22417e0a6498aa1f + limb2: 0x22417e0a6498aa1f, }, u288 { limb0: 0xa2f627a38fda9eb1971f5b06, limb1: 0x83cab7edc33670f89d052861, - limb2: 0x1e01345fb85f8f86 + limb2: 0x1e01345fb85f8f86, }, u288 { limb0: 0x78ec9a4d0eb4f63bd5b51906, limb1: 0x9c3aa350295dbdcd47c99fd7, - limb2: 0x2af9deed71e743c6 + limb2: 0x2af9deed71e743c6, }, u288 { limb0: 0xce5a395db07dbb317712141e, limb1: 0x8229c82a1c520ef1305bf0b0, - limb2: 0x2ec6fc0c84d8561f + limb2: 0x2ec6fc0c84d8561f, }, u288 { limb0: 0xb3da892475fd754c3e814af8, limb1: 0xfa3172525023870e7abdf2eb, - limb2: 0x199af205fb6c4fb9 + limb2: 0x199af205fb6c4fb9, }, u288 { limb0: 0x93797018d157d9d89e4cfc69, limb1: 0xb57660ce9b8a033791fafdd6, - limb2: 0xa83cd64abc58e8d + limb2: 0xa83cd64abc58e8d, }, u288 { limb0: 0xd09a9a68b3e043ea9d1083dc, limb1: 0xf8f80f3f5557a3b7f82d2142, - limb2: 0x2d6dab6850714c2b + limb2: 0x2d6dab6850714c2b, }, u288 { limb0: 0x602b8715abb2dd0cd1f13087, limb1: 0xbee979897dbb42839a84481d, - limb2: 0x24bb090847a60adb + limb2: 0x24bb090847a60adb, }, u288 { limb0: 0x2d95317e0022811d0e8caa2a, limb1: 0xc9ccdb9c4134f7ae4cdfc029, - limb2: 0x114154935a8e6fed + limb2: 0x114154935a8e6fed, }, u288 { limb0: 0xea4802fea37112889eaf82ea, limb1: 0xf99b9eb73f019353267c7033, - limb2: 0xe190224d57875c8 + limb2: 0xe190224d57875c8, }, u288 { limb0: 0xed8b2f32332c42ed1015a430, limb1: 0x3c99292fd102212a2eaa3377, - limb2: 0x1de8c37856619d45 + limb2: 0x1de8c37856619d45, }, u288 { limb0: 0x9cbc19bbe07359799be57bb2, limb1: 0x8075fa59fe304352f8dc86d6, - limb2: 0x230a700550a7a7da + limb2: 0x230a700550a7a7da, }, u288 { limb0: 0xe60e8293991169666e35986e, limb1: 0x856fdea2783dd93d583d2b1f, - limb2: 0x74a230f5bb9a2af + limb2: 0x74a230f5bb9a2af, }, u288 { limb0: 0xd2d2b03bf7848c69432915c5, limb1: 0xda73108828e2e3a81d51f420, - limb2: 0x2db26fe400dc6026 + limb2: 0x2db26fe400dc6026, }, u288 { limb0: 0x5383286b16581779f30fbf8b, limb1: 0x4a0d38ef4f8e3b93227e120c, - limb2: 0x201138c359abd9d8 + limb2: 0x201138c359abd9d8, }, u288 { limb0: 0xfc3bd3cf58d4256f2c33118b, limb1: 0xe62e15e8995f8530f919658c, - limb2: 0x28e31a748b414f16 + limb2: 0x28e31a748b414f16, }, u288 { limb0: 0xed1b65ceb62d65c4cd5df2f8, limb1: 0x46fe3d5e71399901f2beba47, - limb2: 0x14ef0dc4b873426d + limb2: 0x14ef0dc4b873426d, }, u288 { limb0: 0xddd48f9ea765d608cabef7ba, limb1: 0x32387619839131684e0985c8, - limb2: 0x1ac0c36598ce89a8 + limb2: 0x1ac0c36598ce89a8, }, u288 { limb0: 0xd1b3617fb903978ffe6fcf74, limb1: 0x6eb831e6d69181b221221db6, - limb2: 0x2df7948110304166 + limb2: 0x2df7948110304166, }, u288 { limb0: 0x6b11415af5e579dbe286abc6, limb1: 0xca0e59852a3203e195d004f9, - limb2: 0x2bbc55282412cda6 + limb2: 0x2bbc55282412cda6, }, u288 { limb0: 0xcec2923997eacb79308d9927, limb1: 0xaa7e018c70667778f84cbfa2, - limb2: 0x19ce917b6b1d9d59 + limb2: 0x19ce917b6b1d9d59, }, u288 { limb0: 0xea70fe5ee7e08ca71814ce9d, limb1: 0x18292eb21bbcf0d7f93a213c, - limb2: 0x1cc8e3ecf2441d26 + limb2: 0x1cc8e3ecf2441d26, }, u288 { limb0: 0xe2861454b99d7cdaff9cf9ea, limb1: 0x7d99cf63a0744359a9a81470, - limb2: 0xdbd96f26219f937 + limb2: 0xdbd96f26219f937, }, u288 { limb0: 0x67bf2394e40a817be17c8208, limb1: 0x216c5644f26279156a1300ad, - limb2: 0x531efc85d2445df + limb2: 0x531efc85d2445df, }, u288 { limb0: 0xa048439b73cc78fe8d31b8fb, limb1: 0xdb64714c5d5f496c37153eab, - limb2: 0x5dac36cef7d6667 + limb2: 0x5dac36cef7d6667, }, u288 { limb0: 0xa874d0fe7298d226968b5388, limb1: 0xf6774c331abc4dd71663c6d0, - limb2: 0xe5263d5f383e1ad + limb2: 0xe5263d5f383e1ad, }, u288 { limb0: 0xc259af4edc9f9486fb76dc60, limb1: 0xf16c0602be7228ea9dc3bbcd, - limb2: 0x27b39e037fe23d15 + limb2: 0x27b39e037fe23d15, }, u288 { limb0: 0x699df503829631325f216169, limb1: 0x596e0a402a58d6641448f8e0, - limb2: 0x21492e39bf40e00b + limb2: 0x21492e39bf40e00b, }, u288 { limb0: 0x31b2113899ebeeba99658d78, limb1: 0xdfc8a3e9df462829abee7ef3, - limb2: 0x3471ff4dde10dfe + limb2: 0x3471ff4dde10dfe, }, u288 { limb0: 0x7b1fc765f6a251882d2deeb9, limb1: 0x24f54c719d0aa078c65edec8, - limb2: 0x10647685ee0c6d71 + limb2: 0x10647685ee0c6d71, }, u288 { limb0: 0x1c6a20ca9586ac2e9b6f7ac5, limb1: 0x50db3fb731e33d0265287fae, - limb2: 0x264c880d886cbc8d + limb2: 0x264c880d886cbc8d, }, u288 { limb0: 0xf1219f2e9ac927582389654d, limb1: 0x22727f55d95e622f1c77513, - limb2: 0x2a86ebf343a2b2e4 + limb2: 0x2a86ebf343a2b2e4, }, u288 { limb0: 0x552996a83a91ae1343d071fa, limb1: 0xe140b45e95f9bf24022c711f, - limb2: 0xf9411ae4508d7d3 + limb2: 0xf9411ae4508d7d3, }, u288 { limb0: 0x2fae9b47e047e0c810b0dedf, limb1: 0xdd97a9ebfaf38c1ce8e85a6, - limb2: 0x21ba3ba5eb516295 + limb2: 0x21ba3ba5eb516295, }, u288 { limb0: 0xd07c18b20ad53cc430ff8b15, limb1: 0x5162c41ca374a160fdbdd03f, - limb2: 0x2db092a2d8fcba6d + limb2: 0x2db092a2d8fcba6d, }, u288 { limb0: 0xcd0b3c61df76a2e55402afc8, limb1: 0x509da9cfece48f8351b71c93, - limb2: 0x1c9b6a810b012b76 + limb2: 0x1c9b6a810b012b76, }, u288 { limb0: 0xfd2d3cd1f83e41431c677d8a, limb1: 0xcfeee48fb1f292a72d4c9fec, - limb2: 0x110ff74d4b67bed2 + limb2: 0x110ff74d4b67bed2, }, u288 { limb0: 0xa64f7f1e20823ab68c87be1f, limb1: 0x55808918e1aa07a39ae9394f, - limb2: 0x4f5afc73557ba0b + limb2: 0x4f5afc73557ba0b, }, u288 { limb0: 0xdf091be395426ffbb7d12aa, limb1: 0x2d124e1e1659f3f25f48b36e, - limb2: 0x2b86fc3991db4a31 + limb2: 0x2b86fc3991db4a31, }, u288 { limb0: 0x8fcb993888c820ee24fb57ac, limb1: 0xa3efdbd920603a471283659b, - limb2: 0x25a6ba637feca4a2 + limb2: 0x25a6ba637feca4a2, }, u288 { limb0: 0x54b4a009e69f050691589df6, limb1: 0xfd1f372fe399d3a8ed947ce1, - limb2: 0x27327fd09f8e9d84 + limb2: 0x27327fd09f8e9d84, }, u288 { limb0: 0xf0901afa5e86fdec90f505bf, limb1: 0x4f6d56670ab475d136e9638c, - limb2: 0x1946e133ef526545 + limb2: 0x1946e133ef526545, }, u288 { limb0: 0x61f2c22b19400bea304ea4b8, limb1: 0x453b70d7da14f02658cdaef3, - limb2: 0x2cd17f89f13bed9d + limb2: 0x2cd17f89f13bed9d, }, u288 { limb0: 0x3d4ee11725e4217e7cb137d, limb1: 0xcb17edbf7ff6efda56e16f73, - limb2: 0x17dd065eee0e5e5e + limb2: 0x17dd065eee0e5e5e, }, u288 { limb0: 0x852ba8ebfa0d9e8899c77bb6, limb1: 0x75f76b6edcb51edaf397fd2, - limb2: 0x145a3932468a5f1b + limb2: 0x145a3932468a5f1b, }, u288 { limb0: 0x124de13d1ee6bfdba3fe605a, limb1: 0xd69dca692e41a61cdab660d3, - limb2: 0x1b5b302dc80dcd49 + limb2: 0x1b5b302dc80dcd49, }, u288 { limb0: 0xb61a46eb454e8712754176e5, limb1: 0xc71c1e7d05c604f08b46329d, - limb2: 0x223ffd50d3547a + limb2: 0x223ffd50d3547a, }, u288 { limb0: 0xabfba0d1153aad2b308294d4, limb1: 0x87de741f5e31b793c6fdb5bd, - limb2: 0x249ccf46376e5727 + limb2: 0x249ccf46376e5727, }, u288 { limb0: 0x3b0e43855677034bbc98bd62, limb1: 0xbcd5dd6ab2cc5a32c4624bc7, - limb2: 0x1937b315adc6bb4a + limb2: 0x1937b315adc6bb4a, }, u288 { limb0: 0xd511c0896fad1dc8bcde5fe4, limb1: 0x2306bca01aadebe3309a2a21, - limb2: 0x2c10a2532339c68d + limb2: 0x2c10a2532339c68d, }, u288 { limb0: 0xf7d731d6630f74d949da2d0b, limb1: 0x77c276c2be7207d061046d2e, - limb2: 0x2565bb16d63d6b34 + limb2: 0x2565bb16d63d6b34, }, u288 { limb0: 0x33fcdda732971f1e1421584a, limb1: 0x3b49f75dcebae435b4c3076e, - limb2: 0x2e3bc0f1d147d469 + limb2: 0x2e3bc0f1d147d469, }, u288 { limb0: 0x46d8765beb48e70c0f958dde, limb1: 0xe1d86f3e0cb3f95a71e92b23, - limb2: 0x900ef08d1f97090 + limb2: 0x900ef08d1f97090, }, u288 { limb0: 0x938e6b3fb97cab539cdf38c, limb1: 0xfd189430878927cf768201be, - limb2: 0xd26ad5ea5a197a3 + limb2: 0xd26ad5ea5a197a3, }, u288 { limb0: 0x6ece43d62bd37cfc28a143f5, limb1: 0x56108a8888a66b1fa66899a9, - limb2: 0x10a67abec59a8d3b + limb2: 0x10a67abec59a8d3b, }, u288 { limb0: 0xfc7ab5a229f39b6d8ccf03b0, limb1: 0xc2f1def11a0a4a0e025e440d, - limb2: 0x1afc69813070b5b2 + limb2: 0x1afc69813070b5b2, }, u288 { limb0: 0xe45bd308504fb7765876b515, limb1: 0xa8c794ead540ff7b5b4e7c74, - limb2: 0x55fc6d1e71dcee6 + limb2: 0x55fc6d1e71dcee6, }, u288 { limb0: 0xc9cc218b6aa9d3abfd2aee18, limb1: 0x314d3ac636b58452eb3d3955, - limb2: 0x2cbefb47fc677ebf + limb2: 0x2cbefb47fc677ebf, }, u288 { limb0: 0xf5d55e4c914018444516add3, limb1: 0x8da17baa2cef2b8d69ef35dc, - limb2: 0x2027e1885e1e1fab + limb2: 0x2027e1885e1e1fab, }, u288 { limb0: 0x5289273fb918de920609d86e, limb1: 0xeca0af34d7cf515280cba87c, - limb2: 0xe89b5216fd72047 + limb2: 0xe89b5216fd72047, }, u288 { limb0: 0xfde7779b8e3b67e11bb53dd7, limb1: 0x73f64b12512df320c547f23c, - limb2: 0x169bde5c24f2d57d + limb2: 0x169bde5c24f2d57d, }, u288 { limb0: 0x249c1237a08f6e7558abc19, limb1: 0x1dd7f33c366618c3adb78a5c, - limb2: 0x1cb88d9a21b31292 + limb2: 0x1cb88d9a21b31292, }, u288 { limb0: 0xe4304565dfc1d51ca226b87c, limb1: 0xffcb43503801ef953c609d29, - limb2: 0x1e038bda1a9f4d24 + limb2: 0x1e038bda1a9f4d24, }, u288 { limb0: 0xee565ea7941e5e6df000481f, limb1: 0x6ea99418641eb43b5b008418, - limb2: 0x71720368223892 + limb2: 0x71720368223892, }, u288 { limb0: 0xd010d071dd3c5ce666ae9fb2, limb1: 0x85963729739c81e847897a55, - limb2: 0x135baaf6e3805b61 + limb2: 0x135baaf6e3805b61, }, u288 { limb0: 0x771f4a9012033f119d27698f, limb1: 0xb6bace21c1f42d3ffd24c2, - limb2: 0xcf45890ca42576f + limb2: 0xcf45890ca42576f, }, u288 { limb0: 0x2819cf07dd882be86c93bc8e, limb1: 0x5c83baed4a5cd2629ee99cf1, - limb2: 0xbb2795a0257e22c + limb2: 0xbb2795a0257e22c, }, u288 { limb0: 0x2097738d7e1bd7ee65345e0b, limb1: 0x29cef261a882c565c7741544, - limb2: 0x2762df464e177a39 + limb2: 0x2762df464e177a39, }, u288 { limb0: 0x525783e33aeb40d8e7e53b58, limb1: 0xaa0250e6c73fec107722f26e, - limb2: 0x2e6930604af3b7d9 + limb2: 0x2e6930604af3b7d9, }, u288 { limb0: 0xb2309504aa37eac73f0fb357, limb1: 0x399584c0b9850f6700a74bbb, - limb2: 0x1281e29c71d104d3 + limb2: 0x1281e29c71d104d3, }, u288 { limb0: 0x4938b5652920c6e87658ad6f, limb1: 0xd444784fa22286b85aef18fa, - limb2: 0x25f32ab2f697ac3b + limb2: 0x25f32ab2f697ac3b, }, u288 { limb0: 0x9feef67991630d2600580f80, limb1: 0x974573718962e054c4daceec, - limb2: 0x4f4ce28bd1234c0 + limb2: 0x4f4ce28bd1234c0, }, u288 { limb0: 0xd17e754d2ea7a1817bea5d7b, limb1: 0xc1522111f76a91a481a14410, - limb2: 0x2d7051a88f96b16b + limb2: 0x2d7051a88f96b16b, }, u288 { limb0: 0x234e6d73d2caf93d2b1911a1, limb1: 0x13c99439693b2724ba1dc346, - limb2: 0x954de8da4c78abe + limb2: 0x954de8da4c78abe, }, u288 { limb0: 0xb9d191d7e3e04a54cdb71c8c, limb1: 0x88c0c0105e8f37717ba7666f, - limb2: 0x1eb13eee87051211 + limb2: 0x1eb13eee87051211, }, u288 { limb0: 0x659b3ecedfe553d1a1b82d59, limb1: 0x4f6fdccf43ebb02d1e9f44dd, - limb2: 0x23dd6471f597cf55 + limb2: 0x23dd6471f597cf55, }, u288 { limb0: 0xcb455e0d971280fae89be065, limb1: 0x639205b040f16108f89aabe1, - limb2: 0x28c67bd181ad616d + limb2: 0x28c67bd181ad616d, }, u288 { limb0: 0xdcab44b264fd6eb14a838189, limb1: 0x815d2aafabb6a730e1ad469c, - limb2: 0x1c7291e4ce311cd5 + limb2: 0x1c7291e4ce311cd5, }, u288 { limb0: 0xb01c05d0ef1a9a0830de40dc, limb1: 0x2ae5a3474295b16e9ca87789, - limb2: 0x227af7f14b217d16 + limb2: 0x227af7f14b217d16, }, u288 { limb0: 0x2ae134056b011455d5f75df4, limb1: 0xf91f5932530cee7aef9bc302, - limb2: 0x11d547126bf99fc + limb2: 0x11d547126bf99fc, }, u288 { limb0: 0x521185a16aa56ed63aa490d2, limb1: 0xee1dea7f009620a691021fd6, - limb2: 0x186b8925db964e67 + limb2: 0x186b8925db964e67, }, u288 { limb0: 0x85f5786e73f7746fba6aff31, limb1: 0xfaf42da6b0529201f7954cbb, - limb2: 0x2318b51d76069a4a + limb2: 0x2318b51d76069a4a, }, u288 { limb0: 0x2952819907a2369bd08ca3f8, limb1: 0x3549c71e2b49d31221e6e267, - limb2: 0x22b077d040ba5cb8 + limb2: 0x22b077d040ba5cb8, }, u288 { limb0: 0x29b925316591ba4bae0d1d6f, limb1: 0xd9cfa9e66d3cc286d0735fa9, - limb2: 0x9b08d76813e83c5 + limb2: 0x9b08d76813e83c5, }, u288 { limb0: 0xec318e32a5a4aba0985b3d3, limb1: 0x43f89e6f4495abb85363e0d4, - limb2: 0x134491946182b5f7 + limb2: 0x134491946182b5f7, }, u288 { limb0: 0xb0f83ebd0e35745dd0af37aa, limb1: 0x52f378d435cd641ee1ca1c8b, - limb2: 0x24172f993aefe41d + limb2: 0x24172f993aefe41d, }, u288 { limb0: 0x327becc00cea7dcc3f134943, limb1: 0xb714acc62745dd4a70eabbee, - limb2: 0x1db49dae821eb1dd + limb2: 0x1db49dae821eb1dd, }, u288 { limb0: 0x71fe41b7e78225173978dbb0, limb1: 0x14d8f88e4a699b01574593d2, - limb2: 0x14d3d7cd9b00396e + limb2: 0x14d3d7cd9b00396e, }, u288 { limb0: 0x23f5363c93de0abbd3ec6d85, limb1: 0xf51a978501996ed9d5dd0fe, - limb2: 0x17c453f280196c98 + limb2: 0x17c453f280196c98, }, u288 { limb0: 0xd1fbfa54cab1935cb7b3204a, limb1: 0xc09390fa0a93bc82b04a6be1, - limb2: 0x2118408740401de2 + limb2: 0x2118408740401de2, }, u288 { limb0: 0x28e7ceb728137ad457c4aacb, limb1: 0xf45ca3296b71f4d0f6ce070f, - limb2: 0x208f1f78c553fb36 + limb2: 0x208f1f78c553fb36, }, u288 { limb0: 0xd24b152a93a95f5093713260, limb1: 0x62b3e8efe59f697ee1e1a91e, - limb2: 0x895c178aef4381a + limb2: 0x895c178aef4381a, }, u288 { limb0: 0xd892c87db5ab1f8f963b9f7a, limb1: 0x59b223328ccae9ca9b9762b3, - limb2: 0x19fced5d71579472 + limb2: 0x19fced5d71579472, }, u288 { limb0: 0x1bccabfc24ac2e484975e309, limb1: 0xde9475e7bba2da33931a9e5c, - limb2: 0xc5005df4b75a4d + limb2: 0xc5005df4b75a4d, }, u288 { limb0: 0xe7b5be5f1ddc889332dcb4c1, limb1: 0xbe240b0dfda16db677654749, - limb2: 0x1866c81941552666 + limb2: 0x1866c81941552666, }, u288 { limb0: 0xcd9dc5eea2c96cdd7f53d909, limb1: 0x508fdb2cf64895fa86d77c02, - limb2: 0x2c7225fe60f7d703 + limb2: 0x2c7225fe60f7d703, }, u288 { limb0: 0x252901c9010ee08480c51916, limb1: 0x5b8a72877b687b0fc0d7eff4, - limb2: 0x1ce53add01ea1d1d + limb2: 0x1ce53add01ea1d1d, }, u288 { limb0: 0x8c7189ae75d1178b5813df92, limb1: 0x290cb78eb32e275bf7bd9cbd, - limb2: 0x242258d24e270276 + limb2: 0x242258d24e270276, }, u288 { limb0: 0xc2aab8c41ec5c07e0c979390, limb1: 0x56c14d14cbbce7c240b49a11, - limb2: 0x2f1726b0151a781c + limb2: 0x2f1726b0151a781c, }, u288 { limb0: 0x166e67bd81c6578aa085e351, limb1: 0xcfa67306a266a2796c95026e, - limb2: 0xfe931c858170869 + limb2: 0xfe931c858170869, }, u288 { limb0: 0xad9ee747d992471d807bda59, limb1: 0xbd207508a39c034ae37bda8e, - limb2: 0x12fe9c921cb4510a - } + limb2: 0x12fe9c921cb4510a, + }, ], }; let small_Q = E12DMulQuotient { w0: u288 { limb0: 0xe473ccf730ef78aaed68b4a3, limb1: 0x973b5d4ba021cb6dc0e9341b, - limb2: 0x2fbb7518e31c5bfe + limb2: 0x2fbb7518e31c5bfe, }, w1: u288 { limb0: 0x794f4331e074a23b7ae81f13, limb1: 0xc830c9ec04e2cac09080f702, - limb2: 0x118c891b7840595c + limb2: 0x118c891b7840595c, }, w2: u288 { limb0: 0x386a152366fd40c5c7fa2e65, limb1: 0x41dd378fe64e2f436db6b961, - limb2: 0x1bbf3e3062fbf406 + limb2: 0x1bbf3e3062fbf406, }, w3: u288 { limb0: 0xf6aa12afbe7d19ec3a31e001, limb1: 0xb4179ff03296d1cf253d6763, - limb2: 0x2244d60373db1796 + limb2: 0x2244d60373db1796, }, w4: u288 { limb0: 0x21074e7bbe81fa91624edad5, limb1: 0x6e0223e579579bea589a55fd, - limb2: 0x13dd8935391ddf7c + limb2: 0x13dd8935391ddf7c, }, w5: u288 { limb0: 0x68f0660c8ea848f279bcc415, limb1: 0x958d1f4ff92af6abe44098db, - limb2: 0x11b65045d37b9ab1 + limb2: 0x11b65045d37b9ab1, }, w6: u288 { limb0: 0xa89a777f14567f39241ce533, limb1: 0xf7d9e0c67ac9cedc55bbedcf, - limb2: 0x2238d7db55a99ed8 + limb2: 0x2238d7db55a99ed8, }, w7: u288 { limb0: 0x147370f088c042fffb206072, limb1: 0xbfd868f166167759912b0210, - limb2: 0x5fa8b7b0cda5beb + limb2: 0x5fa8b7b0cda5beb, }, w8: u288 { limb0: 0x3742653fa4660da21ce89a96, limb1: 0x7c9943c94b69e03938e8d33f, - limb2: 0x2dc365febcad4667 + limb2: 0x2dc365febcad4667, }, w9: u288 { limb0: 0x7d4aabcbc177046adb0204b5, limb1: 0xf504f1195380bd5e0eeb0bd2, - limb2: 0x3036b8d7dbb58275 + limb2: 0x3036b8d7dbb58275, }, w10: u288 { limb0: 0x447b80334b0768ce46df7f30, limb1: 0xbce5689479bacb588c249d32, - limb2: 0x231f7de5c5cbc37 - } + limb2: 0x231f7de5c5cbc37, + }, }; let res = multi_pairing_check_bn254_3P_2F_with_extra_miller_loop_result( - pair0, pair1, pair2, precomputed_miller_loop_result, lines, hint, small_Q + pair0, pair1, pair2, precomputed_miller_loop_result, lines, hint, small_Q, ); assert!(res); } @@ -14359,41 +14359,41 @@ mod pairing_tests { limb0: 0xfe174bb39be8658ef83c8c2d, limb1: 0xdb24ddec0e0c3b63d82efa81, limb2: 0xe360a80121d5ef96fd687003, - limb3: 0x59d2a79bda5f8a941d4db9 + limb3: 0x59d2a79bda5f8a941d4db9, }, y: u384 { limb0: 0x7f68344f543e52fe891285a9, limb1: 0x6f6992be16bc35f88c471acf, limb2: 0xcebb5ee96e40a033f5d3b798, - limb3: 0x2df47e8cdf189985d5085bd - } + limb3: 0x2df47e8cdf189985d5085bd, + }, }, q: G2Point { x0: u384 { limb0: 0xa805bbefd48056c8c121bdb8, limb1: 0xb4510b647ae3d1770bac0326, limb2: 0x2dc51051c6e47ad4fa403b02, - limb3: 0x24aa2b2f08f0a9126080527 + limb3: 0x24aa2b2f08f0a9126080527, }, x1: u384 { limb0: 0x13945d57e5ac7d055d042b7e, limb1: 0xb5da61bbdc7f5049334cf112, limb2: 0x88274f65596bd0d09920b61a, - limb3: 0x13e02b6052719f607dacd3a0 + limb3: 0x13e02b6052719f607dacd3a0, }, y0: u384 { limb0: 0x3baca289e193548608b82801, limb1: 0x6d429a695160d12c923ac9cc, limb2: 0xda2e351aadfd9baa8cbdd3a7, - limb3: 0xce5d527727d6e118cc9cdc6 + limb3: 0xce5d527727d6e118cc9cdc6, }, y1: u384 { limb0: 0x5cec1da1aaa9075ff05f79be, limb1: 0x267492ab572e99ab3f370d27, limb2: 0x2bc28b99cb3e287e85a763af, - limb3: 0x606c4a02ea734cc32acd2b0 - } - } + limb3: 0x606c4a02ea734cc32acd2b0, + }, + }, }; let pair1: G1G2Pair = G1G2Pair { p: G1Point { @@ -14401,41 +14401,41 @@ mod pairing_tests { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }, q: G2Point { x0: u384 { limb0: 0x3b3d3c305a70960906e6cb09, limb1: 0x40e5bf3ff02d81e98b75703a, limb2: 0x665a5fc010510bd690ddd7b5, - limb3: 0x82dc9154807866eb0f36ccb + limb3: 0x82dc9154807866eb0f36ccb, }, x1: u384 { limb0: 0xe6709deb0dcf81d4285e5e60, limb1: 0xb4dcf956002c4efb974ffcee, limb2: 0x4a6ceebe6375a83dd242851b, - limb3: 0xdd18d077ad5bd58dabb18d8 + limb3: 0xdd18d077ad5bd58dabb18d8, }, y0: u384 { limb0: 0x61535fe1a90bae7e6692f9b0, limb1: 0xc91aa58105d3a281b2e84ddb, limb2: 0x197d3446652372ce5ef50e93, - limb3: 0x4a468eb9e206b9833d8e8e2 + limb3: 0x4a468eb9e206b9833d8e8e2, }, y1: u384 { limb0: 0x27115c334e82ed4be8da6c10, limb1: 0x194fa3bf769a2e5a52535277, limb2: 0x8be8992de81f47ae3341c590, - limb3: 0x198fd0ab6249082bf7007d7e - } - } + limb3: 0x198fd0ab6249082bf7007d7e, + }, + }, }; let lines = array![ G2Line { @@ -14443,3536 +14443,3536 @@ mod pairing_tests { limb0: 0x36701a5831c9fb39250e2ea9, limb1: 0x26ad0ec05ad6440f1df034cf, limb2: 0x67cd27cf7598a85f81c23cd9, - limb3: 0x15a76ee3d8d1c3451005d560 + limb3: 0x15a76ee3d8d1c3451005d560, }, r0a1: u384 { limb0: 0x9009367bbf6e6aa19488df66, limb1: 0xce5cd2ccda4704dc0e4b92b6, limb2: 0xd7656829a6a71c42deb7dd, - limb3: 0x16d96e785c797fb5d6afcb14 + limb3: 0x16d96e785c797fb5d6afcb14, }, r1a0: u384 { limb0: 0x9d68b0bdf431a2f53189c109, limb1: 0x70e39167384e44fdaf716fa4, limb2: 0x3768099390a3f9d581d88280, - limb3: 0x4c208bdb300097927393e96 + limb3: 0x4c208bdb300097927393e96, }, r1a1: u384 { limb0: 0x68ab4b88cf058f147ba2cda9, limb1: 0xce3b4d4da03cbdac75933b54, limb2: 0x1be2f7e6eaa0f1474cb64c53, - limb3: 0x546ca700477f9c2f9def969 - } + limb3: 0x546ca700477f9c2f9def969, + }, }, G2Line { r0a0: u384 { limb0: 0x96e0f84058018a4538d64e8b, limb1: 0xdb7b84172cb1e68ddd09eb12, limb2: 0xcf3aaa45c2b370e810ea9361, - limb3: 0x14b92565b748c30f253912c6 + limb3: 0x14b92565b748c30f253912c6, }, r0a1: u384 { limb0: 0x9cdcddf4728a38086aebcd7, limb1: 0x7b8d9115b96656327dd79780, limb2: 0xbf914addbdcbe307142bf7cc, - limb3: 0x3c50d0829bdc305ff694cc9 + limb3: 0x3c50d0829bdc305ff694cc9, }, r1a0: u384 { limb0: 0xcc0dbe864e35231bdec2ef76, limb1: 0x4efa339ef551d8f751da95ba, limb2: 0xfde5910a13d5c428549ed3f5, - limb3: 0x105e4803f5b8472a138e00b + limb3: 0x105e4803f5b8472a138e00b, }, r1a1: u384 { limb0: 0x584879d210eb30bfd6518cf2, limb1: 0xa7c4af01b40d0e68243b050c, limb2: 0xade596dd94a41e4aedec2196, - limb3: 0x162a46f819eba8e3b9d215f9 - } + limb3: 0x162a46f819eba8e3b9d215f9, + }, }, G2Line { r0a0: u384 { limb0: 0x3717dfec242e39e2ff1f466e, limb1: 0x2e1a47c8b52d2a155331b3bf, limb2: 0xb9705c11a0dc1b7a21290360, - limb3: 0x186349066cd6c743642100bc + limb3: 0x186349066cd6c743642100bc, }, r0a1: u384 { limb0: 0xc653dbae90aec138bdc66689, limb1: 0x84a0e18292766501cc981050, limb2: 0xcb8cbe9f0dad8baba490c814, - limb3: 0x49af016994f800024ad3138 + limb3: 0x49af016994f800024ad3138, }, r1a0: u384 { limb0: 0xaae746564160600e87f79910, limb1: 0x9b0e53f36f1c737506ce80ce, limb2: 0xc88af441fe63a2b5746950e6, - limb3: 0x9e6e8335a28c0593fb7797f + limb3: 0x9e6e8335a28c0593fb7797f, }, r1a1: u384 { limb0: 0x3353ff16d642750e655d9250, limb1: 0x1c83cf0f79a4997f9f673aab, limb2: 0x5ec8ef641f38e8160f0fafc8, - limb3: 0xd6e97ce3437dbe7066bb16c - } + limb3: 0xd6e97ce3437dbe7066bb16c, + }, }, G2Line { r0a0: u384 { limb0: 0xebdfba548549869254397482, limb1: 0x59fe075d9bedf0d74abf57be, limb2: 0xabab1d37873d3366c37fca47, - limb3: 0x1538a52f8fae05fcab86cb76 + limb3: 0x1538a52f8fae05fcab86cb76, }, r0a1: u384 { limb0: 0x1d682b553c5f64f0dade7dbc, limb1: 0x3ab75e8798604af41cea2a02, limb2: 0xe905b5289633293089e66f7d, - limb3: 0x1952802636ce6e28657b087 + limb3: 0x1952802636ce6e28657b087, }, r1a0: u384 { limb0: 0x4634dee1af84530ccf6b310e, limb1: 0x2648d262401e3b709787473a, limb2: 0x17a30eb731c1037d19aa1fdd, - limb3: 0x2d6c23a0ffe044c163492a7 + limb3: 0x2d6c23a0ffe044c163492a7, }, r1a1: u384 { limb0: 0x9c68a627823ca443a9e945b, limb1: 0xb3c2ff91b20c36d112c61699, limb2: 0xc263985d3095da2f3db9773e, - limb3: 0xa1e844c3f1cb15b6b809857 - } + limb3: 0xa1e844c3f1cb15b6b809857, + }, }, G2Line { r0a0: u384 { limb0: 0x6a72f085ee4e78bd4c2aef8e, limb1: 0xdec05cffe4a869aed2a64ee8, limb2: 0xd41aa908b1a833b94e768d2, - limb3: 0x56ceab5d5d994dee0ca07fc + limb3: 0x56ceab5d5d994dee0ca07fc, }, r0a1: u384 { limb0: 0xd23aad6cd3e84e398a4e7bc8, limb1: 0xb343a6878db6ec20bcac1275, limb2: 0x3111e14b674a67295a242cf3, - limb3: 0x39b596a976f556e5ea4016a + limb3: 0x39b596a976f556e5ea4016a, }, r1a0: u384 { limb0: 0x19fcdcac7feb1f0edbefdbf8, limb1: 0x71bc60f1a68459eb52df6a92, limb2: 0x2827dbba9d5d8516fb557dfb, - limb3: 0x4786cc02b147d13e701c1f5 + limb3: 0x4786cc02b147d13e701c1f5, }, r1a1: u384 { limb0: 0xcb7555c0db86510eb99cfadd, limb1: 0x43387d10f8329296e43e6610, limb2: 0xbf6789475132950c583823a, - limb3: 0x145f508c63c10d270e027b2b - } + limb3: 0x145f508c63c10d270e027b2b, + }, }, G2Line { r0a0: u384 { limb0: 0x61e12a1921e9e0192225eb47, limb1: 0xe7959ccf3ab7897b63eaea0a, limb2: 0x44172872757e4112552dfda0, - limb3: 0x140a9f8fd2d77ee9ce9eda9e + limb3: 0x140a9f8fd2d77ee9ce9eda9e, }, r0a1: u384 { limb0: 0xc4bd827c5fcc80aeefab436d, limb1: 0xed5133aed1007276d5defd61, limb2: 0xeae0d97e880c76210872600, - limb3: 0x12f12f5d73e707622f58355 + limb3: 0x12f12f5d73e707622f58355, }, r1a0: u384 { limb0: 0x641d998236970e3d020b53af, limb1: 0xe7cbadbae704bf8e96b8a6b4, limb2: 0x2b9f4df44bf2e79afe0c94f2, - limb3: 0x955b0249e73e276cc78deb7 + limb3: 0x955b0249e73e276cc78deb7, }, r1a1: u384 { limb0: 0xd8ed50e5cdfbf761b34675d9, limb1: 0xd1070d143ecc709daf022bbd, limb2: 0x5df7054bb133a14672778550, - limb3: 0x17b953a66b43816b30bac24 - } + limb3: 0x17b953a66b43816b30bac24, + }, }, G2Line { r0a0: u384 { limb0: 0x7bd212f8f60967471e995a8e, limb1: 0xec76fa31d0fd358f36ee756e, limb2: 0xa63e06c40964532a724817c3, - limb3: 0xd860767952ed2b694b64eea + limb3: 0xd860767952ed2b694b64eea, }, r0a1: u384 { limb0: 0xd18f8b1de21e64c50d3c6fc2, limb1: 0x456cec057d45521c48d0b547, limb2: 0x23fb8276293fac77c9a38c1b, - limb3: 0x1469d7cf50d58855fa523aa8 + limb3: 0x1469d7cf50d58855fa523aa8, }, r1a0: u384 { limb0: 0x52f1d22ea6bfc23435bf7e3b, limb1: 0x3e2d5122467bf39f2573a57b, limb2: 0x378db9e77f53b5b1e38981da, - limb3: 0x1015deb442db265529d8948 + limb3: 0x1015deb442db265529d8948, }, r1a1: u384 { limb0: 0x73c44618fb7917b2596bd460, limb1: 0x598ee13313073cf3232e1b37, limb2: 0xbd63e58ae4aa477bcd459ef2, - limb3: 0x272bfde06aa8302ab8c70d6 - } + limb3: 0x272bfde06aa8302ab8c70d6, + }, }, G2Line { r0a0: u384 { limb0: 0x84d7880d9c5ad98d07f1b961, limb1: 0xd5be4b6e58ad745353113073, limb2: 0x592ecc7534e44983a06d755c, - limb3: 0x15d60a0d6d8a2e4543194737 + limb3: 0x15d60a0d6d8a2e4543194737, }, r0a1: u384 { limb0: 0x9ba63990e4f1ea4875173006, limb1: 0xf84fa98d5f3742b3c571f427, limb2: 0xdd28189a4a2e3a70f78a170e, - limb3: 0x1ad5bc82425c66f655a75db + limb3: 0x1ad5bc82425c66f655a75db, }, r1a0: u384 { limb0: 0x49306522c22ca321950bf155, limb1: 0x369a747f27aa6472ebc5d290, limb2: 0x20d8977cbe5acf112574c70a, - limb3: 0xcdc103da1aac9ec5f855b64 + limb3: 0xcdc103da1aac9ec5f855b64, }, r1a1: u384 { limb0: 0x74517cbd651af3940075c057, limb1: 0x94d3802d81c93d69eb13518b, limb2: 0x76411c393dd03e5381661629, - limb3: 0x16e57b05faef24ef64868a07 - } + limb3: 0x16e57b05faef24ef64868a07, + }, }, G2Line { r0a0: u384 { limb0: 0xaa72fbca0fc809a3c04cfe63, limb1: 0xb197b948b9fb7b1d17db7811, limb2: 0x912c914d3a6ff39a540a4f3d, - limb3: 0x16cacbdaa9c89addb1ab2cbe + limb3: 0x16cacbdaa9c89addb1ab2cbe, }, r0a1: u384 { limb0: 0xbc48a5607d4379fef56b2969, limb1: 0xc1f23a19f0081d7a3e19795d, limb2: 0xd3b68107f121763ac21a3013, - limb3: 0x105753740850ad267b13b914 + limb3: 0x105753740850ad267b13b914, }, r1a0: u384 { limb0: 0x9922c12ecdd8f9f562a9ffbf, limb1: 0xd3ddfb6bca4e7fcf1de87fe4, limb2: 0x43cafb5ca79d345cd7fb414f, - limb3: 0xcf76a75d055e5103c1f3bb4 + limb3: 0xcf76a75d055e5103c1f3bb4, }, r1a1: u384 { limb0: 0xfe0eed2060bf837fabeb633c, limb1: 0x7647ff2029a177beb2026c82, limb2: 0x6c89e5be509cdaa5d0724f48, - limb3: 0x18e2495d0e738bcb51e26445 - } + limb3: 0x18e2495d0e738bcb51e26445, + }, }, G2Line { r0a0: u384 { limb0: 0xaf7eb92e30bb53c95dbc4140, limb1: 0x9792c2287a214b5e4a26edb0, limb2: 0x9e2e1f53797f04ffeabc4a20, - limb3: 0x11ffc63e88b938e0364be5e7 + limb3: 0x11ffc63e88b938e0364be5e7, }, r0a1: u384 { limb0: 0x23f6838c52c8c103f492d019, limb1: 0xc28ff9b5147ad2c6e80ba89, limb2: 0x54862dd590b2cefb84f4884e, - limb3: 0x137f181e7bc2d6e0858337e0 + limb3: 0x137f181e7bc2d6e0858337e0, }, r1a0: u384 { limb0: 0xf25f4290fc34cdb084e88912, limb1: 0xb45c1d0b4bb37399c6f2f06f, limb2: 0x1c520b9c1f9a27c6dc5ce1f2, - limb3: 0x8f5b2f168533ac53479939d + limb3: 0x8f5b2f168533ac53479939d, }, r1a1: u384 { limb0: 0x90f6fed4ce70be068a771f84, limb1: 0x6c083f0007d7b530d7bb7762, limb2: 0x621955ba256f0878ab3f71cf, - limb3: 0x147b25e183343ffa8070b1c0 - } + limb3: 0x147b25e183343ffa8070b1c0, + }, }, G2Line { r0a0: u384 { limb0: 0xb5abe92a46d0ff04a4205803, limb1: 0xdb760c98b7aad959e5dfc28d, limb2: 0xbea9b6e4adf41fa1060713ee, - limb3: 0x75707a467e7543c28370330 + limb3: 0x75707a467e7543c28370330, }, r0a1: u384 { limb0: 0x8b0715d2f6a16be8d5828197, limb1: 0x598a8a6da7ed2bcc091f594d, limb2: 0x18cfc9c1ee8960c06ff2c240, - limb3: 0x14061839f139644bb20e8647 + limb3: 0x14061839f139644bb20e8647, }, r1a0: u384 { limb0: 0xd529f0561fff46258f565dec, limb1: 0x80402f61ae7ce96272aff23b, limb2: 0x883367465c3a4bde2507377a, - limb3: 0x14fc234296369891318c6245 + limb3: 0x14fc234296369891318c6245, }, r1a1: u384 { limb0: 0x9fdc0242b4d20c44b72c8d49, limb1: 0x37e047238dd417acab9ea0c2, limb2: 0xc424c8845919fe27ac23e9, - limb3: 0x151e87d65d95c3b1cc9b1de6 - } + limb3: 0x151e87d65d95c3b1cc9b1de6, + }, }, G2Line { r0a0: u384 { limb0: 0x6d3e75c7266836a5f88da38f, limb1: 0x9f0dcd126bc3eb7a57863065, limb2: 0x2dd839b48eaaf3738b6378c3, - limb3: 0xaaa2a6bcd21b87d1c17c1d7 + limb3: 0xaaa2a6bcd21b87d1c17c1d7, }, r0a1: u384 { limb0: 0xd751d74691ccfbf8a2e44893, limb1: 0x39dc71f7d866971a5b34a793, limb2: 0x61f4c7b07c463740fdfa24ca, - limb3: 0x7aaec7413e01006276f927b + limb3: 0x7aaec7413e01006276f927b, }, r1a0: u384 { limb0: 0xc02a7ffd3ac8b07a8351a74, limb1: 0x3e5cf07a7c56c9a5eb07e2e4, limb2: 0x3e8a62aa55827a8825e3a32b, - limb3: 0x17607fbb8f27884431eb0d0e + limb3: 0x17607fbb8f27884431eb0d0e, }, r1a1: u384 { limb0: 0x67fe51eac141e68a4dc9a759, limb1: 0xa4ffe5ceccd1cdfd737bd38, limb2: 0x3efc4588564baa38aef1502e, - limb3: 0x19a6b0517bf3ba0a12058062 - } + limb3: 0x19a6b0517bf3ba0a12058062, + }, }, G2Line { r0a0: u384 { limb0: 0x9bd8fa7a943e0e3a924e7492, limb1: 0xad948685eedfe9d3ac7315ff, limb2: 0x8148910d6004895792caa88d, - limb3: 0x1deabfaeb3374b50119ecb9 + limb3: 0x1deabfaeb3374b50119ecb9, }, r0a1: u384 { limb0: 0xfedf28954ae85d6e9f58c709, limb1: 0x7c01f5d8a4b9368fc9cbb8eb, limb2: 0xbe98bf07cbd25fe6f4ac154f, - limb3: 0x7c9b05e8adef4de506459f7 + limb3: 0x7c9b05e8adef4de506459f7, }, r1a0: u384 { limb0: 0x71812aeba8c33457117bfb0, limb1: 0xaf1a11b5a7571775ec17c1, limb2: 0x721e08542ff85e7037b2c02f, - limb3: 0x991d1db86230da71efb4475 + limb3: 0x991d1db86230da71efb4475, }, r1a1: u384 { limb0: 0x4122fa433f37c5e6888de07c, limb1: 0x144d977681671d8cd0854c34, limb2: 0x93981673fae1df08d18161aa, - limb3: 0x145eae6a49c250f2435d1ec8 - } + limb3: 0x145eae6a49c250f2435d1ec8, + }, }, G2Line { r0a0: u384 { limb0: 0x468d577fdfbdbc46e423962d, limb1: 0x5bee3b6cf7059efb0069632a, limb2: 0xc1effa8ed920dfc235de8974, - limb3: 0x13d2fffc28b953d3ca80ffa1 + limb3: 0x13d2fffc28b953d3ca80ffa1, }, r0a1: u384 { limb0: 0xdefb34cc5a85aabacaaacdd9, limb1: 0xfac8915a4c4373e6a38752dd, limb2: 0xbe1dce6fa4eaa80db5298aef, - limb3: 0xbb539e692a1a2274f4304f4 + limb3: 0xbb539e692a1a2274f4304f4, }, r1a0: u384 { limb0: 0x615c9153f8460e09de46571d, limb1: 0x4f55bef9c25736ce73e4eec3, limb2: 0xbfe37903c95e022709a17263, - limb3: 0x1d523a97a76bc409ae24135 + limb3: 0x1d523a97a76bc409ae24135, }, r1a1: u384 { limb0: 0xeaec0a3f08b499ac07b95ea8, limb1: 0xae9a839b303953da2d3fe15c, limb2: 0x97307b6e3e3abcb8ecd98686, - limb3: 0x77101a8f07adfc3ad5c763a - } + limb3: 0x77101a8f07adfc3ad5c763a, + }, }, G2Line { r0a0: u384 { limb0: 0xa8af53d78f2fa38c6e213a84, limb1: 0xc908fd45d36e147e8a3449ea, limb2: 0x9224181cd573d3836b141129, - limb3: 0x140090a04158ea562a90ed5 + limb3: 0x140090a04158ea562a90ed5, }, r0a1: u384 { limb0: 0x95e6526648a96a5a43488327, limb1: 0x5f5e4c24465495ee0dcb3055, limb2: 0x49f0985811804cda4142ca8c, - limb3: 0x9619ac570f151f7baaa7ae + limb3: 0x9619ac570f151f7baaa7ae, }, r1a0: u384 { limb0: 0xc2ef8275baa5e3b836a847d7, limb1: 0x9835333ce4136fda57f9c31e, limb2: 0x8392d675aba184475007124a, - limb3: 0x10f9170d8f4e3130ef5a354e + limb3: 0x10f9170d8f4e3130ef5a354e, }, r1a1: u384 { limb0: 0x4db131e9b2a50df6253da27e, limb1: 0x3210503344192c1a1d83234c, limb2: 0xb84a1ae100e6602d2a3eaa1d, - limb3: 0x146401ace26dcc76ec7cb805 - } + limb3: 0x146401ace26dcc76ec7cb805, + }, }, G2Line { r0a0: u384 { limb0: 0x9a29bb6c54b018b4ed75888b, limb1: 0x1437b2d93b1ecc564157059c, limb2: 0xf0add7baf8cfe1ddc30f0754, - limb3: 0x86553ec1cc3cc6a38436fbb + limb3: 0x86553ec1cc3cc6a38436fbb, }, r0a1: u384 { limb0: 0x516be99929795e7ae5112f30, limb1: 0xb182ffdb6110024a0018e3e7, limb2: 0x8e468869d60b7ae7fc6004bd, - limb3: 0x4916e8c2d5820861e32013a + limb3: 0x4916e8c2d5820861e32013a, }, r1a0: u384 { limb0: 0x78554bdd8568c0e9686a510e, limb1: 0x97bc0c8b458fe7d5dcf2264c, limb2: 0xfcc4906709b359120a9e0158, - limb3: 0x193f60f20d1cc7f2b1bf553c + limb3: 0x193f60f20d1cc7f2b1bf553c, }, r1a1: u384 { limb0: 0x2713699297ab49a2d9bf4f6d, limb1: 0xb396d1c4590471bf032b959c, limb2: 0x350113633de03c6e721c7597, - limb3: 0x79ef6c98d71e95eb13fae02 - } + limb3: 0x79ef6c98d71e95eb13fae02, + }, }, G2Line { r0a0: u384 { limb0: 0x4e82e124ce1338d2ca7ee6db, limb1: 0xbf32616d15749f858b667a29, limb2: 0x3b302144f036cf4dc3b92682, - limb3: 0xcc6fe5a628f46c5d62c7a31 + limb3: 0xcc6fe5a628f46c5d62c7a31, }, r0a1: u384 { limb0: 0xecb00dceaf06cc77baed0784, limb1: 0x906e4821956579932758a3ef, limb2: 0x5e9a74901fc7ebfbf3ef3ea0, - limb3: 0xf2962ecb7b0ebb3db941738 + limb3: 0xf2962ecb7b0ebb3db941738, }, r1a0: u384 { limb0: 0x6297c3b80090ce9f80979905, limb1: 0xfcbfa064302ba8944f913e4e, limb2: 0x37d76df0505819fe8a947b55, - limb3: 0x197300faabd06b7cc1d54ff1 + limb3: 0x197300faabd06b7cc1d54ff1, }, r1a1: u384 { limb0: 0xa7da1d558e1c2417133fcd88, limb1: 0x48a63ff7ea1a7d1ad817b2ab, limb2: 0x4766bb1efe7584e02416845d, - limb3: 0xadbeeec2cf952ed27e6a3d3 - } + limb3: 0xadbeeec2cf952ed27e6a3d3, + }, }, G2Line { r0a0: u384 { limb0: 0xeafeff598e54b30cb6c1251a, limb1: 0xafc0b2ad47726720fb51bdf8, limb2: 0x7c63073beb0d24a81f6784e7, - limb3: 0x417c39c09d75dbe141715ba + limb3: 0x417c39c09d75dbe141715ba, }, r0a1: u384 { limb0: 0x7bc206e25555dee3daa1ee4d, limb1: 0x9c28ec5fa7bc8f485bb6cfba, limb2: 0x530c402c723fa11f1f84b46b, - limb3: 0x104053ab3ea6fb21777f84fd + limb3: 0x104053ab3ea6fb21777f84fd, }, r1a0: u384 { limb0: 0xbe16b2bf7765b4bb12696340, limb1: 0x5c585ec795eaf69ee156c464, limb2: 0x494e9230ed370a9bc47be6e9, - limb3: 0x75ceaee051b984083fec3e3 + limb3: 0x75ceaee051b984083fec3e3, }, r1a1: u384 { limb0: 0xec732bc23b7b6a5b6c0490e9, limb1: 0x2108ecfe0e567019997043d, limb2: 0xe7c1c8eaeed7a6be30a560b6, - limb3: 0xdc4b83fea429d673069ad66 - } + limb3: 0xdc4b83fea429d673069ad66, + }, }, G2Line { r0a0: u384 { limb0: 0x4396189ffbd89d01fe27fa5b, limb1: 0xe81217db1696daa3753ccd84, limb2: 0x55c6ad903c2a3e4b9f14a8da, - limb3: 0x15f5f0afe4eeb7545fb13eb0 + limb3: 0x15f5f0afe4eeb7545fb13eb0, }, r0a1: u384 { limb0: 0xd3da9931ffbf361f326b7282, limb1: 0xc9d2464eda778b0051c1027e, limb2: 0xb8f5f46e2bd5fc15d81b368a, - limb3: 0x1040f087e9a0b6633fa13692 + limb3: 0x1040f087e9a0b6633fa13692, }, r1a0: u384 { limb0: 0xf986f1a7ae6234649c858e8a, limb1: 0x4644ba4e2b6b06ac11907477, limb2: 0x95bcd96412c2b77c798589bf, - limb3: 0x122a0d20337a4865af008b55 + limb3: 0x122a0d20337a4865af008b55, }, r1a1: u384 { limb0: 0x201ad08d1e12f22740a2d61f, limb1: 0x4ec7ca2abf73f04dd4d3c1cc, limb2: 0xbe2da8c0b44af69f8c08bbe5, - limb3: 0x3bac9dd093b57980816b067 - } + limb3: 0x3bac9dd093b57980816b067, + }, }, G2Line { r0a0: u384 { limb0: 0x6082c0eb907cf5276747f318, limb1: 0xdfacc4aee13bf3da9397c201, limb2: 0xcebd5d30c1b12b2267e81f02, - limb3: 0x160e8d207ecfa4ee319cf8dc + limb3: 0x160e8d207ecfa4ee319cf8dc, }, r0a1: u384 { limb0: 0x885a1a2e5b088d3b11726fd3, limb1: 0xbcb3b4daf110df0f500a1339, limb2: 0xe16ba85f2dd0f2272c0b6647, - limb3: 0x6822c6c8ea10aef46b89423 + limb3: 0x6822c6c8ea10aef46b89423, }, r1a0: u384 { limb0: 0x3730e4d5494e51774471ba91, limb1: 0xf1af0b885a3b8f02eaf969f6, limb2: 0x7ee91c1608eb59fffe1ae7fa, - limb3: 0x149fb1c9f23c4b2da52a5247 + limb3: 0x149fb1c9f23c4b2da52a5247, }, r1a1: u384 { limb0: 0x85d3ce78367e3de8ca2b82fa, limb1: 0x11c52b8d92a1622e604c4ed9, limb2: 0x9638c9f8c2f0becfe2f26e25, - limb3: 0xdf957915588e3d3a3b5b30a - } + limb3: 0xdf957915588e3d3a3b5b30a, + }, }, G2Line { r0a0: u384 { limb0: 0x4527a34a70ec377ccd63a5b2, limb1: 0x351c7771105a0a1096dd87f0, limb2: 0x57630dce3b4db45cbad696a6, - limb3: 0xf10733fed03fc5b7ae27fc4 + limb3: 0xf10733fed03fc5b7ae27fc4, }, r0a1: u384 { limb0: 0x53a208df401e3d6bf657857c, limb1: 0x306991a8af53fac94e1e9b52, limb2: 0x324634590aee6093dd239d9, - limb3: 0x855b8b1eedbf578f7498f37 + limb3: 0x855b8b1eedbf578f7498f37, }, r1a0: u384 { limb0: 0x71e5471ff515d0d4982815b6, limb1: 0x9a63281835ec15935519deca, limb2: 0x17a64faa9e7e4ab574a3f785, - limb3: 0x134b4a48f53fff9361e1952c + limb3: 0x134b4a48f53fff9361e1952c, }, r1a1: u384 { limb0: 0x56dc56f73bd268799b824fa3, limb1: 0x4180514d6004cf446a366719, limb2: 0x193a82567b226e738b11a0af, - limb3: 0x1498d7e7ad2a68346f7d2199 - } + limb3: 0x1498d7e7ad2a68346f7d2199, + }, }, G2Line { r0a0: u384 { limb0: 0xd7496e71fc42ba4ca4a3e125, limb1: 0x3045d9e3b7e4e521f2dec347, limb2: 0x53d9d04eac9ca0b33af5f5dc, - limb3: 0x6208127dc6aaedad6a3682b + limb3: 0x6208127dc6aaedad6a3682b, }, r0a1: u384 { limb0: 0x4567073497754e2d4414c821, limb1: 0xb600e3160bc87f68920d2e38, limb2: 0xa591b968314d40db6548d766, - limb3: 0x1922ebba883aa4ac7ccac6bc + limb3: 0x1922ebba883aa4ac7ccac6bc, }, r1a0: u384 { limb0: 0x74b133dfab8505c15b559a41, limb1: 0x63786daabceed65d189742c5, limb2: 0xdbecebda30efe3de4467f495, - limb3: 0x11998abbc2dcb0074bdcf880 + limb3: 0x11998abbc2dcb0074bdcf880, }, r1a1: u384 { limb0: 0xe933be0b1bb7e7a435070362, limb1: 0x107d55d6f69931a5d73cf90a, limb2: 0x1cd139553284736dd7d96a0, - limb3: 0x11f10e3b6bb5601c6033673f - } + limb3: 0x11f10e3b6bb5601c6033673f, + }, }, G2Line { r0a0: u384 { limb0: 0x6c92af226aa27e2cbe8fae21, limb1: 0xbc299acce5e8da96b6b932d, limb2: 0xec46a86181ef1ff2f8317201, - limb3: 0x17900cb270764782b3eca3d2 + limb3: 0x17900cb270764782b3eca3d2, }, r0a1: u384 { limb0: 0x82358801a5440afa7826f03e, limb1: 0xd09104615d27b1dba405157c, limb2: 0xda33c37fe337917d32826e1b, - limb3: 0x1be7df7094ce56532653ce2 + limb3: 0x1be7df7094ce56532653ce2, }, r1a0: u384 { limb0: 0xd33c9c433bdeabd28a276748, limb1: 0x5dd445f6fe3bb3070cd0d395, limb2: 0x8b092b49f4fdf2a38337a44c, - limb3: 0x4e047a80a74764555b1ea3d + limb3: 0x4e047a80a74764555b1ea3d, }, r1a1: u384 { limb0: 0xd83bc84b011c607d97684972, limb1: 0x2b14aae22370badd22ec77ba, limb2: 0xd29b9c7b77c3f08055bb8a9, - limb3: 0x125b416bddff21db8d6f42ed - } + limb3: 0x125b416bddff21db8d6f42ed, + }, }, G2Line { r0a0: u384 { limb0: 0x5be94bbb61ae69bfb97c1797, limb1: 0x5dd4679408b689cd73c98a54, limb2: 0xe9ca66bf05d57e3775833e49, - limb3: 0x1245b62efbcc482d11a1f506 + limb3: 0x1245b62efbcc482d11a1f506, }, r0a1: u384 { limb0: 0x89bc52e555d0351b5fdf9289, limb1: 0x25d5f95e819a92cfa5c9eedf, limb2: 0x868fb6bab1644af652495492, - limb3: 0xfb6960d2b936f83c386e1bc + limb3: 0xfb6960d2b936f83c386e1bc, }, r1a0: u384 { limb0: 0x3682f4a1c6b6695783cdffad, limb1: 0xb200ca645c7de79024156c46, limb2: 0x6c37635d197c82752cd229bb, - limb3: 0x38ca157b9d7f6458c3e568c + limb3: 0x38ca157b9d7f6458c3e568c, }, r1a1: u384 { limb0: 0x2cfee4af636c40073d3b4a1b, limb1: 0xf414198593f1ec8b43e3f792, limb2: 0xb6d0d7a2aee4516e0d748d20, - limb3: 0xfa1dcda8c387ca159f89933 - } + limb3: 0xfa1dcda8c387ca159f89933, + }, }, G2Line { r0a0: u384 { limb0: 0x6cf96397e7b79f2fc8c8275d, limb1: 0xfc7cd3706f331af3de61fabf, limb2: 0x78630a1ca624fae6d5770503, - limb3: 0x15ed1256df8e5e5ca95b56c8 + limb3: 0x15ed1256df8e5e5ca95b56c8, }, r0a1: u384 { limb0: 0xee76aa06cc2a711c9ed0f30e, limb1: 0xffa3eb442aaeb1342a8a3887, limb2: 0xcd5194bd83d804f9da8e5cda, - limb3: 0xf5886abb33616f07cfac605 + limb3: 0xf5886abb33616f07cfac605, }, r1a0: u384 { limb0: 0x3e0ff1e7d1f926d905c0e89f, limb1: 0x3fff1943b59d697a741845cd, limb2: 0x4e362d7df69aa3269ea5a418, - limb3: 0x13a520fad90f72497a67b697 + limb3: 0x13a520fad90f72497a67b697, }, r1a1: u384 { limb0: 0xce7bf1da23ccce53d8e13b8, limb1: 0x56957fccf1163143404a68dd, limb2: 0xd26ebbc9548a9897d0383b14, - limb3: 0x329392268b1afdd087dd27b - } + limb3: 0x329392268b1afdd087dd27b, + }, }, G2Line { r0a0: u384 { limb0: 0x1af14241809b40be9e3465e5, limb1: 0xaa6af72c340012f9c342ed55, limb2: 0xbd274776fdde7d41f1c648bc, - limb3: 0x139b56d4b863bf5a4ec4b049 + limb3: 0x139b56d4b863bf5a4ec4b049, }, r0a1: u384 { limb0: 0xfd79bc60d2afcce54c7a7d50, limb1: 0xe8aeb68543d2d716d2dc9004, limb2: 0x268109c94878da47a4fadd5c, - limb3: 0x11f2684f4000c4c639319b03 + limb3: 0x11f2684f4000c4c639319b03, }, r1a0: u384 { limb0: 0xab0257058b3ceebf3856360a, limb1: 0x83546bb85bbd4521ef2c15d7, limb2: 0xb64ba4fcc5f5017bcd494e2a, - limb3: 0xb1553a9da615189266752ea + limb3: 0xb1553a9da615189266752ea, }, r1a1: u384 { limb0: 0xbdcbe0809eed404aaf6bfe78, limb1: 0xb1362562e968fe7fbea0ac52, limb2: 0xbd3b947e8a8fcf148e1a38f6, - limb3: 0x11b7ca6951f2354ee8e4035b - } + limb3: 0x11b7ca6951f2354ee8e4035b, + }, }, G2Line { r0a0: u384 { limb0: 0x765ce308dd13ea9ec917f81d, limb1: 0x4c2cdefe8611811647fac337, limb2: 0x9e01fde22386755f816c125f, - limb3: 0x249a870907df1494e56fc21 + limb3: 0x249a870907df1494e56fc21, }, r0a1: u384 { limb0: 0xc3cd52b28123518842661348, limb1: 0x6678659f6f9ca9e64f594e30, limb2: 0xbdde01f23d77cc2219a64e1, - limb3: 0xa59546d0d9d0d18614e9879 + limb3: 0xa59546d0d9d0d18614e9879, }, r1a0: u384 { limb0: 0x7e7be141202ac55eb1d4a8b8, limb1: 0x22ee295a285099a1bdc85200, limb2: 0x7d274b729c40bb351c2bdd3c, - limb3: 0x105edf80625508ee7473afc3 + limb3: 0x105edf80625508ee7473afc3, }, r1a1: u384 { limb0: 0x8d19d95e92eb2f4d361b91e, limb1: 0xf6cc461a1b4bd0202cc3590b, limb2: 0x87ebac45146065b2dc8d4bde, - limb3: 0x1375f5a114849a9f8e0c3d37 - } + limb3: 0x1375f5a114849a9f8e0c3d37, + }, }, G2Line { r0a0: u384 { limb0: 0xfd9edf6f28adce5f4beebf6e, limb1: 0xf724947c45d624088ca78f8c, limb2: 0x20b6c59e637f510e8f4a8b47, - limb3: 0x18088dc11568a6afa4ab3948 + limb3: 0x18088dc11568a6afa4ab3948, }, r0a1: u384 { limb0: 0x326d9eb3b7fd6666e4dfe426, limb1: 0x7fa3c89d89204877db8eea9b, limb2: 0x763eebc05a7142c40f835528, - limb3: 0xbcb69318eafdf385a86d0d1 + limb3: 0xbcb69318eafdf385a86d0d1, }, r1a0: u384 { limb0: 0xca94ab9874f3014495f9cda4, limb1: 0xe7794778e18217766f5e4602, limb2: 0xc91a61c5cf05cf2822345aa9, - limb3: 0x792b27535901b050d8e5527 + limb3: 0x792b27535901b050d8e5527, }, r1a1: u384 { limb0: 0x91ec1515549ee918829c4f28, limb1: 0xdc2b66119fcf23cb6b822b2a, limb2: 0x32919541ad67e68b00f465d2, - limb3: 0xa312627d104cde1072922c0 - } + limb3: 0xa312627d104cde1072922c0, + }, }, G2Line { r0a0: u384 { limb0: 0x58f86bbd730aa1df76e95257, limb1: 0x3832640fbf5ff16fd5c86613, limb2: 0xaf56bfc4d589fd5479b90e9a, - limb3: 0x3ca74026cf32fba56ec4ff + limb3: 0x3ca74026cf32fba56ec4ff, }, r0a1: u384 { limb0: 0x577775e0ba37cd47da598900, limb1: 0xf402fb94e1c54fc0073a49b0, limb2: 0x2e06dce324741a7e96cd8fcc, - limb3: 0x16f491b5bd383da7e70c001 + limb3: 0x16f491b5bd383da7e70c001, }, r1a0: u384 { limb0: 0xf906737c542dde2e8b5d7bf7, limb1: 0x93d207424c8f01f866d09071, limb2: 0x7a8dc05cf5ae45304b21d8d, - limb3: 0x1d432a9b400dc09515479f5 + limb3: 0x1d432a9b400dc09515479f5, }, r1a1: u384 { limb0: 0x533a88fd57c73a7a668d47a8, limb1: 0x11cd23f02ff6e7610e1522a9, limb2: 0xbb9e0293df841db5d616e680, - limb3: 0x19f2811473fbfa9dddb16249 - } + limb3: 0x19f2811473fbfa9dddb16249, + }, }, G2Line { r0a0: u384 { limb0: 0xb04ec27c52875dc87d300a4d, limb1: 0xbe11f68dc22d7c89a578a63, limb2: 0xb0557578664d37b4747b7a9f, - limb3: 0x12f5295a85f5353593bc2be4 + limb3: 0x12f5295a85f5353593bc2be4, }, r0a1: u384 { limb0: 0xe2f1989d941ed5564cd41c3e, limb1: 0x688749fe66ae67951f20c5cd, limb2: 0x1e342023b9900ec7038c108e, - limb3: 0x36e5e429874afc784f21116 + limb3: 0x36e5e429874afc784f21116, }, r1a0: u384 { limb0: 0x2ee5450e51f44191eacbc602, limb1: 0x85a343b7b9054589be26e47c, limb2: 0x7f0d17d39a05bf1af4d36372, - limb3: 0xdeafa2ba02325a88b4c6cbc + limb3: 0xdeafa2ba02325a88b4c6cbc, }, r1a1: u384 { limb0: 0x715bdc99b0a7881ac0663f5b, limb1: 0xfdc24e93292c1ee0678f2abe, limb2: 0x8c276d6704a0c9e510c84f16, - limb3: 0x14796c0842ef2f1021a202cc - } + limb3: 0x14796c0842ef2f1021a202cc, + }, }, G2Line { r0a0: u384 { limb0: 0x453bf5d35812bbf0123c972a, limb1: 0x3a9bcdec2fe60921bf629abd, limb2: 0x8d4d0d00c4d2739ae3a0b176, - limb3: 0x9a76bae205af60fb63330d3 + limb3: 0x9a76bae205af60fb63330d3, }, r0a1: u384 { limb0: 0xa5e2fc320bd337a5e6bf6e59, limb1: 0x649bf53444907381a7d0f976, limb2: 0x57cfc1f1da9301aff5ef309c, - limb3: 0x79042a88c84c694ffd3fa12 + limb3: 0x79042a88c84c694ffd3fa12, }, r1a0: u384 { limb0: 0x8149e3cbfdcb7c4749e0ba73, limb1: 0x72f87f4ff2d25e09a5eae7db, limb2: 0x1d01fadf84a7202ce4489428, - limb3: 0x15652f54b134df28e3b93c7 + limb3: 0x15652f54b134df28e3b93c7, }, r1a1: u384 { limb0: 0xa1b43fd866b4d217c50e744a, limb1: 0xce197f05b592d754e8f84093, limb2: 0xbc7dc9245b7e2113d675abe4, - limb3: 0x2f8afc77fac6bc37b0c7667 - } + limb3: 0x2f8afc77fac6bc37b0c7667, + }, }, G2Line { r0a0: u384 { limb0: 0x50e7013b12d7186ced76039f, limb1: 0x721a7975c8378d2a726c7ae9, limb2: 0xa73c62577fb438f12bf208de, - limb3: 0x26dc14d778403bf116e912c + limb3: 0x26dc14d778403bf116e912c, }, r0a1: u384 { limb0: 0x29689dc66843d300ece6c677, limb1: 0xf07525c97e59cd38bb4fbf8c, limb2: 0xd52ba746bdaa1cabecd2c22f, - limb3: 0x2af3f0e70834774a2a73eac + limb3: 0x2af3f0e70834774a2a73eac, }, r1a0: u384 { limb0: 0x7a93d76e421c2471b470689, limb1: 0xa8513b1c40dbc11e983c16dc, limb2: 0x2b12f3f2ca12077d1ce8a979, - limb3: 0xe71d0fb35e1b4017a0d875c + limb3: 0xe71d0fb35e1b4017a0d875c, }, r1a1: u384 { limb0: 0xa979b1ba179da53c69aed5a8, limb1: 0xf5591963958c0dc86b906f70, limb2: 0x8461006ca66ecff10d3b0159, - limb3: 0x9d803979983001a16b8f24a - } + limb3: 0x9d803979983001a16b8f24a, + }, }, G2Line { r0a0: u384 { limb0: 0xa36890bfc74afe64e9f3840c, limb1: 0x8eeaf2f380047dfe3a21b11b, limb2: 0xeb84e8fad6b7625c837aa272, - limb3: 0x135ff64b4d73a3a2d0f886b2 + limb3: 0x135ff64b4d73a3a2d0f886b2, }, r0a1: u384 { limb0: 0x6fa3e40ac2853a97b01176dd, limb1: 0xcd16a519987e4aabf6bd8d1, limb2: 0xe4ee3c4f4c650fbfe5a0a370, - limb3: 0xcc7efdc19164223dbcb0b43 + limb3: 0xcc7efdc19164223dbcb0b43, }, r1a0: u384 { limb0: 0x9ed5597f7236b21674d039f4, limb1: 0x5cce2f4074bfb9593d07dcab, limb2: 0x1467dedd98c377f9f9b46e75, - limb3: 0x89f8ba7d879e18afda115ac + limb3: 0x89f8ba7d879e18afda115ac, }, r1a1: u384 { limb0: 0xce1eb5fb3e129849b7af9b61, limb1: 0xbb388e5edcc82d67d7e505d1, limb2: 0x37f0c598b86ce85a7ccc5e90, - limb3: 0xf3dfe35088599f2eeb97849 - } + limb3: 0xf3dfe35088599f2eeb97849, + }, }, G2Line { r0a0: u384 { limb0: 0x703411c08ba63253b98e71d2, limb1: 0x51c06ae22b02444abf9cac41, limb2: 0xa022f80a1a965f69f5d1f383, - limb3: 0x12fd2662087ac6751f157414 + limb3: 0x12fd2662087ac6751f157414, }, r0a1: u384 { limb0: 0xa277095e594bc58c46d54dde, limb1: 0x8ca1a613e0d12d38a7cddd17, limb2: 0xf0211ed10bf0f743dbc32801, - limb3: 0xebf6d5e9967bf3328026291 + limb3: 0xebf6d5e9967bf3328026291, }, r1a0: u384 { limb0: 0xa39b2f0abb5ff02a8af6ad9d, limb1: 0x404802001d459f026e2fb9fd, limb2: 0x11cdb22b6ba1b2bad0344e21, - limb3: 0x772eca503810eaefb95c2fc + limb3: 0x772eca503810eaefb95c2fc, }, r1a1: u384 { limb0: 0x1879ebc05549a3ea69bf9c79, limb1: 0x3d68ffd86dae89a1de6536de, limb2: 0xce0084f9fba0a4087e5191c9, - limb3: 0x141788fb821ea65aed14d5a1 - } + limb3: 0x141788fb821ea65aed14d5a1, + }, }, G2Line { r0a0: u384 { limb0: 0xb9289920fc29c178a0728467, limb1: 0xf35e17ec8a43244f4e0efb63, limb2: 0xa46135ade487bf1a95a36590, - limb3: 0x4597ae1f4cfcdaacff3f6 + limb3: 0x4597ae1f4cfcdaacff3f6, }, r0a1: u384 { limb0: 0xe926fdfcdb55d8651b029bb7, limb1: 0x741390b7035f30b98e2dcd27, limb2: 0x697fa3901ef0c0d6f4f0693b, - limb3: 0xcc420802c358e2dedfc71d4 + limb3: 0xcc420802c358e2dedfc71d4, }, r1a0: u384 { limb0: 0x404a03b34791ba0f3fa9761, limb1: 0x50d30e7876bb541f3ef689f6, limb2: 0x7eca4b1c1a04fdc1c58f3065, - limb3: 0xa9e0b8c0194468d35c05fbd + limb3: 0xa9e0b8c0194468d35c05fbd, }, r1a1: u384 { limb0: 0xb370e739ea46b6699276bb50, limb1: 0x39805df77c609ca4cb80f044, limb2: 0x1f93a5fc91ea7ec7048f46d8, - limb3: 0x109841b0d6d23c644d831b58 - } + limb3: 0x109841b0d6d23c644d831b58, + }, }, G2Line { r0a0: u384 { limb0: 0x696c2443a8baa527eef5ec6e, limb1: 0x7c385a900f4614f62a38d2e7, limb2: 0xecef959f527ae42bb1b2a0ed, - limb3: 0x7fac72373dec09eeaf6db37 + limb3: 0x7fac72373dec09eeaf6db37, }, r0a1: u384 { limb0: 0xc84aa165d81984cbd1d40498, limb1: 0x7ef2f6d8a1b0b82a86a8aea1, limb2: 0x9f04cb828903af563a7ce955, - limb3: 0x1260f88b57dddd5bf01540db + limb3: 0x1260f88b57dddd5bf01540db, }, r1a0: u384 { limb0: 0x7d666c3a74212ecb676ee24e, limb1: 0x8ddff061953f45de2460c7ee, limb2: 0xb69a343af7532ec4af3c8894, - limb3: 0x213c5dddce502302ac58fec + limb3: 0x213c5dddce502302ac58fec, }, r1a1: u384 { limb0: 0x9b68c470206e0a6b23d993d7, limb1: 0x8e64f45ab3906177fca690b, limb2: 0x6b3ba9665c9e8cdb62669c9b, - limb3: 0x4535c1e41f9fe732b7c4780 - } + limb3: 0x4535c1e41f9fe732b7c4780, + }, }, G2Line { r0a0: u384 { limb0: 0x98b0e7890c15a7a839d3b10e, limb1: 0xf4700f5af67e79881b903235, limb2: 0x7f26d7f900cd57991171081b, - limb3: 0xa11c46b99ac9b5f162650e0 + limb3: 0xa11c46b99ac9b5f162650e0, }, r0a1: u384 { limb0: 0x8a0a163b8e5919da774d6514, limb1: 0x5b711ae4ea88feca76813413, limb2: 0x3cfe334352e602ed13efcdbe, - limb3: 0x170158694b626c2fc61e87b1 + limb3: 0x170158694b626c2fc61e87b1, }, r1a0: u384 { limb0: 0xe2bcaf25cb4ec37db7539e18, limb1: 0xf529b82b627e809c817fa0b2, limb2: 0x1fe26f773f8d5e39076934e, - limb3: 0x98193b4da3aac7d8e92f5f3 + limb3: 0x98193b4da3aac7d8e92f5f3, }, r1a1: u384 { limb0: 0x5d20cd8b1cdf94ce27802746, limb1: 0x2877bd487e7fefe25dc052ef, limb2: 0xc8fd066838059eeb41c965ec, - limb3: 0x178ed199c2fb2d36df7fcd0 - } + limb3: 0x178ed199c2fb2d36df7fcd0, + }, }, G2Line { r0a0: u384 { limb0: 0x4790112971f4fd8af8c65cf3, limb1: 0x2a207f9a2516cd19d12e489, limb2: 0x9ff7a28cec268524a01123a2, - limb3: 0x19c97c4cda4b8effc6fd8caf + limb3: 0x19c97c4cda4b8effc6fd8caf, }, r0a1: u384 { limb0: 0x186239a1ec3cf10b8286a2b2, limb1: 0x3ef3e7aabde5155a565ba9df, limb2: 0x87f2c71389dd8222c768baaf, - limb3: 0x27192c74c599b1228aaf1a8 + limb3: 0x27192c74c599b1228aaf1a8, }, r1a0: u384 { limb0: 0x8f69417d578d338a6f398545, limb1: 0x7bf1e9c47453d7351c93abfd, limb2: 0x35f77c3144b037f01890517a, - limb3: 0xa405425f46c150020d41e02 + limb3: 0xa405425f46c150020d41e02, }, r1a1: u384 { limb0: 0x31bd174ae90756d6a59e0c49, limb1: 0x83fb482d1737f7e4d899670c, limb2: 0x9109ccd8f333598149678681, - limb3: 0xa5e61d696e11d7f360e20c7 - } + limb3: 0xa5e61d696e11d7f360e20c7, + }, }, G2Line { r0a0: u384 { limb0: 0x14e4f467f4709129c1d6d6d7, limb1: 0x33e67ed9f2b5e1802523571, limb2: 0x3e76ea8acb143c96671cbc65, - limb3: 0x1137f470c8f7d00baa56e5c0 + limb3: 0x1137f470c8f7d00baa56e5c0, }, r0a1: u384 { limb0: 0xa2a95cfa92d0088ab1308e85, limb1: 0x85a5304db0b3422f71d7ac93, limb2: 0xbc8572953d8f42a55fe99700, - limb3: 0xf23701cea5719c6d8b0d3f3 + limb3: 0xf23701cea5719c6d8b0d3f3, }, r1a0: u384 { limb0: 0x380e418e3c32756e123587f9, limb1: 0x8a39d6b5872d774c57af0ba1, limb2: 0x11473256ad05f9eaac305647, - limb3: 0xa642f0b83f002f2b82a1d3f + limb3: 0xa642f0b83f002f2b82a1d3f, }, r1a1: u384 { limb0: 0xd5b5c903360b3614bde608b6, limb1: 0x407e2bf83df10c320c4ddafa, limb2: 0x3771cad615e4d7b5de69e962, - limb3: 0x105334af5850345d42c10c17 - } + limb3: 0x105334af5850345d42c10c17, + }, }, G2Line { r0a0: u384 { limb0: 0x5c9c29ca75d35044e8ef21c3, limb1: 0x998cb3a19513ab7f61414601, limb2: 0xab00762e628d907a2ae1af86, - limb3: 0x1169ce82fb0de161f3893d09 + limb3: 0x1169ce82fb0de161f3893d09, }, r0a1: u384 { limb0: 0xf3a9a8d35f18f808693ffd33, limb1: 0x73f3c4fd6045a7f4571f21bc, limb2: 0xdf7c2193567b491c867fdf00, - limb3: 0x16e98d0dd48da5e0edfff5c3 + limb3: 0x16e98d0dd48da5e0edfff5c3, }, r1a0: u384 { limb0: 0xaf283e3c6ef8a94336bc120, limb1: 0xf60a1f61fc714e75be0aadd4, limb2: 0x11634a0b524e6d80246509d7, - limb3: 0x16e9e7d8a952a7b31c855f16 + limb3: 0x16e9e7d8a952a7b31c855f16, }, r1a1: u384 { limb0: 0xc775b52b48f308cf0eda40a5, limb1: 0x8e5b8d423e5aa68c1d100384, limb2: 0x60bf337ffbd88ec5c5c9f419, - limb3: 0x89182d6b9c183e0d7ce7769 - } + limb3: 0x89182d6b9c183e0d7ce7769, + }, }, G2Line { r0a0: u384 { limb0: 0xe8ab375f9e79671f77c33b38, limb1: 0x32c9317a9c538a1808d10350, limb2: 0x39b7c7695d2524211d5341f3, - limb3: 0x373d7203575fda92e7b4b02 + limb3: 0x373d7203575fda92e7b4b02, }, r0a1: u384 { limb0: 0x54a74ef22bb2c45a0f0992be, limb1: 0xe9d5746328bce07da2a04f41, limb2: 0xf657d148ed56fbf731787b28, - limb3: 0x7b03ee28e327f04166f5075 + limb3: 0x7b03ee28e327f04166f5075, }, r1a0: u384 { limb0: 0x754ae620f48dd7de6afcbb5b, limb1: 0x488b7b5de47bfe76c7d7f1ce, limb2: 0x5a2e05b269b38310ba8b4159, - limb3: 0x41965ba496910c39d2c8167 + limb3: 0x41965ba496910c39d2c8167, }, r1a1: u384 { limb0: 0xe544c97bb363e3619c50c630, limb1: 0x7fec53ec738123389016bbf, limb2: 0xb12f6ffb0998373cb04be875, - limb3: 0x4bf5cef5067781b9809ec64 - } + limb3: 0x4bf5cef5067781b9809ec64, + }, }, G2Line { r0a0: u384 { limb0: 0xbf2c9e34e6bc1bd091b45f67, limb1: 0x5c346e3b836520851797b6d8, limb2: 0x6069138a6940bb4584d47a8b, - limb3: 0x1ec9cbb12630fd6ccc6c9c + limb3: 0x1ec9cbb12630fd6ccc6c9c, }, r0a1: u384 { limb0: 0xafbc54c8ade09192bfd558f6, limb1: 0x1faee0208ac7d1e69f12c285, limb2: 0x63c00188230e79c0d80db365, - limb3: 0xc8eab23b2d1473ed2b2a733 + limb3: 0xc8eab23b2d1473ed2b2a733, }, r1a0: u384 { limb0: 0xb63308c849127dc268a45cd6, limb1: 0x36c18af5bbec9380f565bae8, limb2: 0xf0de12a8c99254f36cf0dee2, - limb3: 0x2d8f12634dcf817db2f2721 + limb3: 0x2d8f12634dcf817db2f2721, }, r1a1: u384 { limb0: 0xca376f99a70d9e829232cd97, limb1: 0x2444f064f27f2388ae65f100, limb2: 0xbbb2d21896e41edec0347853, - limb3: 0x135ff883551823e93448609e - } + limb3: 0x135ff883551823e93448609e, + }, }, G2Line { r0a0: u384 { limb0: 0x4d2b6e4cdcfd83a0692003b0, limb1: 0x41629374ff0d1ac17362c794, limb2: 0x18b16faf0521c1c5a11c3523, - limb3: 0x18b70eb629a79ff3f9834985 + limb3: 0x18b70eb629a79ff3f9834985, }, r0a1: u384 { limb0: 0xf6dd615a649c30b33d8b88ac, limb1: 0x526f609b923d7ba3b37b63c, limb2: 0x4289133e7279c670978cd569, - limb3: 0x11fa0abe9f21dc673b14d917 + limb3: 0x11fa0abe9f21dc673b14d917, }, r1a0: u384 { limb0: 0x7f14d726cf9a27a8c970bb68, limb1: 0xe380e6b07cde1eb0fffd95e6, limb2: 0x2c5722bd0e114b506bddd89a, - limb3: 0xd3fb948d9f8e2c898c1b3c + limb3: 0xd3fb948d9f8e2c898c1b3c, }, r1a1: u384 { limb0: 0x86aed9389c52f71bde01a5e0, limb1: 0x4c6baca3b4494d3a4a88343a, limb2: 0xe1083c4faf04588a29999bbc, - limb3: 0xcddd31531e910375fb212ff - } + limb3: 0xcddd31531e910375fb212ff, + }, }, G2Line { r0a0: u384 { limb0: 0x235a9f01452a4060e9666d57, limb1: 0xd5d02fd4f582c83fc011b621, limb2: 0x6d73a1f62f157668ad2fde7b, - limb3: 0x10506e79bec17d8e51a8464e + limb3: 0x10506e79bec17d8e51a8464e, }, r0a1: u384 { limb0: 0x18cf57bcbb92130baae8f6c2, limb1: 0x6d9d5afd47ece7697d3e9c13, limb2: 0x2e57a93ee5ece50b3fff8e9, - limb3: 0xe6806ed105ec93b0fb969c2 + limb3: 0xe6806ed105ec93b0fb969c2, }, r1a0: u384 { limb0: 0xf5fa5b82be86b88814b2d06d, limb1: 0x2ab27456d28150f5ee3375d6, limb2: 0x32b1ec76959111a17a5fa1fc, - limb3: 0x7c1d13dcf400899c66a8e7f + limb3: 0x7c1d13dcf400899c66a8e7f, }, r1a1: u384 { limb0: 0xa5626b5549a39034af1af868, limb1: 0x1bea223a1c5580bdcbda7e8a, limb2: 0xf29f63f5c820b06bb690a9d3, - limb3: 0xc546ee8fac366005eb69d82 - } + limb3: 0xc546ee8fac366005eb69d82, + }, }, G2Line { r0a0: u384 { limb0: 0x2d6310ed50636162786d1b75, limb1: 0x5cac54906e73bae3b4359998, limb2: 0xbd428c9c44f9a83980265ddd, - limb3: 0x2fc21e36ad4d0da0a00add9 + limb3: 0x2fc21e36ad4d0da0a00add9, }, r0a1: u384 { limb0: 0x80e8a4f63bb295c1f909c9f8, limb1: 0x76045a0b6f715c18ef69c37a, limb2: 0x8e2d6c8495568d22744ab3f3, - limb3: 0x2b70c4ecc512e5b7a263f20 + limb3: 0x2b70c4ecc512e5b7a263f20, }, r1a0: u384 { limb0: 0x74f73dffd0f8db5344a575d1, limb1: 0x8e6d3150c6b50fb0f30b8d42, limb2: 0x1caf7885c868849e8e700707, - limb3: 0x130fa43ef7b10a6b7c72a4af + limb3: 0x130fa43ef7b10a6b7c72a4af, }, r1a1: u384 { limb0: 0x1cd953b2a94a0b0460118689, limb1: 0x5c361d5ff78164edfe007331, limb2: 0x61315250d28c9b99d174dab6, - limb3: 0x252277581829378760d4033 - } + limb3: 0x252277581829378760d4033, + }, }, G2Line { r0a0: u384 { limb0: 0x47f1657643a1cbb2571eb8bb, limb1: 0x8914631858f8b77d7a349849, limb2: 0x436fcdebfd20c5f2c775777b, - limb3: 0x15d2dad8f611743307bbcb8c + limb3: 0x15d2dad8f611743307bbcb8c, }, r0a1: u384 { limb0: 0x76e0666924671f3fa1e8305c, limb1: 0x99f366ed9ecdc252b3780f8b, limb2: 0xde576eafe0fb738d0ef77352, - limb3: 0x900b9e3957454d7bf885b + limb3: 0x900b9e3957454d7bf885b, }, r1a0: u384 { limb0: 0xc288c6a7c06ef42c5512ffbd, limb1: 0x2101acee5d3a6f42634fdb52, limb2: 0x87f97207b5422a53fa6febaa, - limb3: 0x468108ffae130a39d212d39 + limb3: 0x468108ffae130a39d212d39, }, r1a1: u384 { limb0: 0x71959c4ce40fbe9db7b7402c, limb1: 0xf04a57d060ab29acaba357bd, limb2: 0x88ead6a27e0673b01bc7797d, - limb3: 0xe7b10501dd492414f7f5320 - } + limb3: 0xe7b10501dd492414f7f5320, + }, }, G2Line { r0a0: u384 { limb0: 0xf313b674fee5c83040549617, limb1: 0x864b49b4b96dc11dcb31a6b2, limb2: 0x7afa88358fa085d4db1d9e6f, - limb3: 0x10b916005fc2476498beed41 + limb3: 0x10b916005fc2476498beed41, }, r0a1: u384 { limb0: 0xa5f1bacd2bc2f38d4e1a34d, limb1: 0x45d1d4d76b0b03b8d7da125b, limb2: 0x74a0ba0ae49290dd243bdc61, - limb3: 0x185827ff9e3c833ac46e1e16 + limb3: 0x185827ff9e3c833ac46e1e16, }, r1a0: u384 { limb0: 0xffae650825626bdffd8ed424, limb1: 0x126a57866536ac1d0b34b17b, limb2: 0x517ba3e3b50188d25dc23dc8, - limb3: 0x1276dc74f1b2a7173802ff0f + limb3: 0x1276dc74f1b2a7173802ff0f, }, r1a1: u384 { limb0: 0xa73951cadbaab9fe957c0fed, limb1: 0xa232a5178de78c8f681635e5, limb2: 0x30adf5deb8ee4da1fcc053b2, - limb3: 0xd840dfc0aae66492a176a2e - } + limb3: 0xd840dfc0aae66492a176a2e, + }, }, G2Line { r0a0: u384 { limb0: 0x25d4b59740f7116cb1780a57, limb1: 0xf66599aadea648fbb82567e2, limb2: 0xe3cb94f5929ba09bc594b6f3, - limb3: 0x14aea73a1e5255d84243cf1b + limb3: 0x14aea73a1e5255d84243cf1b, }, r0a1: u384 { limb0: 0xb4ab235afcaa352751b232b7, limb1: 0x39d514cae45e5f1ca2163b13, limb2: 0x24d5c8e93eafc5a989dd917e, - limb3: 0x3f325c33f3120c94b570157 + limb3: 0x3f325c33f3120c94b570157, }, r1a0: u384 { limb0: 0x19fc8f20184d782d19ad14ad, limb1: 0x25cb2fec959a766536d22d3f, limb2: 0x3c33822ddba88cb8c5660a53, - limb3: 0x577aed0bad6b8ef9bc471ff + limb3: 0x577aed0bad6b8ef9bc471ff, }, r1a1: u384 { limb0: 0x83e60f0903c16e1bcae23f39, limb1: 0xc6fe7fe7835463a27bac9a8c, limb2: 0x5c8c12c6fc626555c235f443, - limb3: 0x265e58c13368ec3d3828fe2 - } + limb3: 0x265e58c13368ec3d3828fe2, + }, }, G2Line { r0a0: u384 { limb0: 0x3ce32e18da41a2016fbf41b1, limb1: 0xda3e0d01e0bbb52a301585cf, limb2: 0xaf508b2248a1fe6ffc5d18d0, - limb3: 0x1274aa625858db0bb675b3bf + limb3: 0x1274aa625858db0bb675b3bf, }, r0a1: u384 { limb0: 0x4cbc0be362614fff6f6d4898, limb1: 0xdf8603dfa938bc22d0aa98e, limb2: 0xaf3784151a3a1a7585c177cf, - limb3: 0xcd9b76612194b440cbd9c67 + limb3: 0xcd9b76612194b440cbd9c67, }, r1a0: u384 { limb0: 0x93de5b0d4ce155335ed8a6ff, limb1: 0x9dc6c21cddb15edd7f401cc4, limb2: 0x2601d5b08d144c3608181a8f, - limb3: 0x872d334a6e81b6937f7580f + limb3: 0x872d334a6e81b6937f7580f, }, r1a1: u384 { limb0: 0xa90ea56305b0b457ffd7dfd9, limb1: 0x3fd7486324393fe073a67746, limb2: 0x22aaac8be67217e0e49366ff, - limb3: 0xdc78f4f3c40b0984ec316e - } + limb3: 0xdc78f4f3c40b0984ec316e, + }, }, G2Line { r0a0: u384 { limb0: 0x91b78bd7e557f93a24ee04c0, limb1: 0xd19051b09bfc86047a41c109, limb2: 0x3402bf57b1f9b24014dc32f9, - limb3: 0x13e3027846c5080d9adcee97 + limb3: 0x13e3027846c5080d9adcee97, }, r0a1: u384 { limb0: 0x7e481c05e40434785193ab1d, limb1: 0xe6af27502aacea453841adeb, limb2: 0x386742381e57d6086584e277, - limb3: 0x1135a6ddee7eb562ea6e21dc + limb3: 0x1135a6ddee7eb562ea6e21dc, }, r1a0: u384 { limb0: 0x76c4a8400e82be43993db399, limb1: 0x9b4212fb3eacecbbe7d9d4ec, limb2: 0xc0d9b62cd322c550cdf92dd, - limb3: 0x7529a6acf7161d423b23562 + limb3: 0x7529a6acf7161d423b23562, }, r1a1: u384 { limb0: 0xbbea5748b91520366f556220, limb1: 0x99e0ff5b1475c3a1439dcd18, limb2: 0x4927045dd9b230c874e0a4cf, - limb3: 0x569e18a0165d0c89300f772 - } + limb3: 0x569e18a0165d0c89300f772, + }, }, G2Line { r0a0: u384 { limb0: 0x35a50965750c7716c237772d, limb1: 0xe96b0c22d39fbbbe7f55d6bc, limb2: 0x40864a9ec51fc3fceddf7498, - limb3: 0x232f7c41bf2d0ca9a4a6560 + limb3: 0x232f7c41bf2d0ca9a4a6560, }, r0a1: u384 { limb0: 0xebd5d6880bc93e525c5283bd, limb1: 0x911e6efcf7cc8f0983f3a122, limb2: 0xeb2d53ffa24eaa0527809305, - limb3: 0x126b7366a9ba4cdc1648b905 + limb3: 0x126b7366a9ba4cdc1648b905, }, r1a0: u384 { limb0: 0xd7789f5359bb3bd4b674719b, limb1: 0xecaa3bff242dc5a63ed57279, limb2: 0x85e8faaf82c119cc47bdfe4d, - limb3: 0x1042198c5b912b48953f03ee + limb3: 0x1042198c5b912b48953f03ee, }, r1a1: u384 { limb0: 0x52c926fe4d73775c8dcc54b9, limb1: 0x56410c723b730b245d2639ae, limb2: 0xe6b9bc3d2b2a15155d82e48f, - limb3: 0x11772d7a9fa0b3530a88bfa - } + limb3: 0x11772d7a9fa0b3530a88bfa, + }, }, G2Line { r0a0: u384 { limb0: 0xd49d530d6471b000aaa0f15f, limb1: 0x6419093f265991b02bffc7ce, limb2: 0xa00c1451a79e01585e4326eb, - limb3: 0x6346c6eff4ca91de5b05384 + limb3: 0x6346c6eff4ca91de5b05384, }, r0a1: u384 { limb0: 0xdfa15634bfcff7dadc461eb5, limb1: 0x29af4f6d3d69636b5928e5d2, limb2: 0xfde39f21b4d6e713d0d155d2, - limb3: 0xca4f08ed6e2bdb29750675c + limb3: 0xca4f08ed6e2bdb29750675c, }, r1a0: u384 { limb0: 0x81ff98c5082a2bd3e42457b0, limb1: 0x63554fb7f83f1d8dad23dd52, limb2: 0x2c485af67a9cec9a384d38b5, - limb3: 0xd327461f217051c60e87f40 + limb3: 0xd327461f217051c60e87f40, }, r1a1: u384 { limb0: 0x3da25c53119715454f53681b, limb1: 0xc91752cc6b4bdbdfe38db6f2, limb2: 0xe72f2af727bb791caabbec47, - limb3: 0x127c4a3487c7d32f6f36e4e8 - } + limb3: 0x127c4a3487c7d32f6f36e4e8, + }, }, G2Line { r0a0: u384 { limb0: 0x90b1d3aaedd7ae3ae5ef62ec, limb1: 0x9c2237332a12d63f617991e0, limb2: 0x88f758a89df448c1dd45282d, - limb3: 0x3c52126f27d2dd758ab0770 + limb3: 0x3c52126f27d2dd758ab0770, }, r0a1: u384 { limb0: 0x8bf85f2a28b11ffbcc48f29d, limb1: 0xb79fc38b4398e2af5a4ac3f4, limb2: 0x877b0d7e053d12f91fa49c91, - limb3: 0x19ee364564c01cbdf0bd4257 + limb3: 0x19ee364564c01cbdf0bd4257, }, r1a0: u384 { limb0: 0xfbe824718174525ae3cbf681, limb1: 0xb434f93ab3f012e5c5fab625, limb2: 0xfaaa0bb2878017e90fb07ac6, - limb3: 0x616944a1484a78b2946360a + limb3: 0x616944a1484a78b2946360a, }, r1a1: u384 { limb0: 0x84c489abf936bfadd293c732, limb1: 0xaa7ca8e76a07f14d2a712245, limb2: 0xef338c44111cd8f2538f16e0, - limb3: 0x2f06c9cef716ae3e32a1bd1 - } + limb3: 0x2f06c9cef716ae3e32a1bd1, + }, }, G2Line { r0a0: u384 { limb0: 0xd396b680a9f4f7c6bd038aea, limb1: 0x986cf9351d6ab286ee985c18, limb2: 0x3fb1d1f309c22962f47ec31a, - limb3: 0x10fb4fd3b7ad82cb7a20f545 + limb3: 0x10fb4fd3b7ad82cb7a20f545, }, r0a1: u384 { limb0: 0x1ed74a546ca919799c8dc7fc, limb1: 0xad96bb817657c40d87a9d3e0, limb2: 0xaae8cd21d5514a6bad3ed8c4, - limb3: 0x8d73f64be809e1cf6c21ba3 + limb3: 0x8d73f64be809e1cf6c21ba3, }, r1a0: u384 { limb0: 0x5ec7fd9fa8d7f0d23ba3e8ad, limb1: 0x6b74854455e59da09187bba, limb2: 0xa36996b7529b95dae966c75d, - limb3: 0xcdea79528317107cbfd85dc + limb3: 0xcdea79528317107cbfd85dc, }, r1a1: u384 { limb0: 0x3880ae8a1f6f37a409313c14, limb1: 0xa07694a5bc51a90f14a6c6, limb2: 0xdd33ffd933cac57b8cb1b24b, - limb3: 0xc48ad7503d01f14954b7e4a - } + limb3: 0xc48ad7503d01f14954b7e4a, + }, }, G2Line { r0a0: u384 { limb0: 0x49369971c3fc33245bb7b9cb, limb1: 0xce9896e5addb637375420be1, limb2: 0x7d4c97a8e9d64c41cf2dffa1, - limb3: 0x287b1e39767a3c2d102a825 + limb3: 0x287b1e39767a3c2d102a825, }, r0a1: u384 { limb0: 0x6f6e6c10c2da68b535025ac5, limb1: 0x9b6128f5e000427659557e1, limb2: 0xba4e1537236425a49e10a76b, - limb3: 0xdccc3a8b263abdc2c1112a2 + limb3: 0xdccc3a8b263abdc2c1112a2, }, r1a0: u384 { limb0: 0xf0f26fb9d99f34211c52ec21, limb1: 0xb091a74cf88bb5563ee29bd1, limb2: 0xb1a3c0e6479e60ec2bf5e312, - limb3: 0x6ea612bf02bd6df77f7af9a + limb3: 0x6ea612bf02bd6df77f7af9a, }, r1a1: u384 { limb0: 0x773745b51d209d3643ac70f3, limb1: 0xb837418d0188d5d41911d38c, limb2: 0xae750841ca68ec61dd2fac9a, - limb3: 0x9b4aec971d45aee69870aa6 - } + limb3: 0x9b4aec971d45aee69870aa6, + }, }, G2Line { r0a0: u384 { limb0: 0x1ea080f661e3664f40e86e5c, limb1: 0x68cfee40024ac6d125d379dd, limb2: 0x629e60758e07b9b05c61ba2b, - limb3: 0x1689e26966100efaf80d13ed + limb3: 0x1689e26966100efaf80d13ed, }, r0a1: u384 { limb0: 0x320d0999b19811ce060215db, limb1: 0xd9502d1b7afa257773be4230, limb2: 0xc988439b0216e219b7140ccb, - limb3: 0x27f9715fcd39d7ac02d48f + limb3: 0x27f9715fcd39d7ac02d48f, }, r1a0: u384 { limb0: 0xc0ef32fd00dded29b70a8660, limb1: 0xaed80ea139f12376a3886fc8, limb2: 0xc3fdb8d6a2210be1cda0c165, - limb3: 0x724e4ec574990cb0e7f2fff + limb3: 0x724e4ec574990cb0e7f2fff, }, r1a1: u384 { limb0: 0xf76e88a2a84b78507079bb92, limb1: 0xa85c3a62cb47c5e940583dd0, limb2: 0xcdca5b44b5708fb75e277a0b, - limb3: 0x197734db8752e982455cec8 - } + limb3: 0x197734db8752e982455cec8, + }, }, G2Line { r0a0: u384 { limb0: 0x9658e94dff575b044fd12535, limb1: 0x9e633711f24267eeff96b84c, limb2: 0xd09be055097f3f4285b74b29, - limb3: 0xeba32ca0fdf04b16e700d02 + limb3: 0xeba32ca0fdf04b16e700d02, }, r0a1: u384 { limb0: 0xdac31a776bf2f2a7eb8d07b1, limb1: 0x99ff3b68fe53867aeee330e, limb2: 0xfc016b0e19f5a9dafe6150af, - limb3: 0x1853f7c388088cef95618ee7 + limb3: 0x1853f7c388088cef95618ee7, }, r1a0: u384 { limb0: 0x25afd3c9e43a6bd85d8f83da, limb1: 0x6636bcf8f7c4ffb03262b3ad, limb2: 0xfab2ea835f15ffa64289aee0, - limb3: 0x19a40512a2bc92b145d4a15f + limb3: 0x19a40512a2bc92b145d4a15f, }, r1a1: u384 { limb0: 0x457e5f8262a3fb1f68e2ee64, limb1: 0x2c8e29f8273ba32411548171, limb2: 0x6b7ec622d4cf5c7605c02c7f, - limb3: 0x16d592d1bda21aa16790c116 - } + limb3: 0x16d592d1bda21aa16790c116, + }, }, G2Line { r0a0: u384 { limb0: 0xd80a4ced539c150c77292976, limb1: 0xd1018cbfc2e4ad4590fdd9c5, limb2: 0x65eef4175a5f35f468647ff1, - limb3: 0xd47fd0789b1a92106cd2ad0 + limb3: 0xd47fd0789b1a92106cd2ad0, }, r0a1: u384 { limb0: 0xd0f1e84b8f833d7979a1154, limb1: 0x9ab45965049706c23a88af3a, limb2: 0xb0231a5c90a4e465df178981, - limb3: 0x14edfc6d170bd35b2c5c4da + limb3: 0x14edfc6d170bd35b2c5c4da, }, r1a0: u384 { limb0: 0xdc1d49daf3fc4c0995bc8e2d, limb1: 0x17d2159bae7cc0df66ddd2f1, limb2: 0x554dbdd1925e2b9c7e37a286, - limb3: 0x1660a21b43940b8c8015db0e + limb3: 0x1660a21b43940b8c8015db0e, }, r1a1: u384 { limb0: 0x251a422c67cfa51ded81106f, limb1: 0xae838377475ad4866ca7cf3a, limb2: 0x97c1cb95155232e345faaa6a, - limb3: 0x2730486142b7fc674f5426b - } + limb3: 0x2730486142b7fc674f5426b, + }, }, G2Line { r0a0: u384 { limb0: 0x1393c1940f25665663934fc8, limb1: 0xea7d0b2339e762ea1d7417bc, limb2: 0x38e8c939bcfc597914fa0bc4, - limb3: 0x10e5f821e745ef290f773399 + limb3: 0x10e5f821e745ef290f773399, }, r0a1: u384 { limb0: 0x3fb68057499c7406aa1ace48, limb1: 0x41257c93b17f3e38108e6f37, limb2: 0x6e97eb8687dab2a2a640c57f, - limb3: 0x14df29fafe098da44c7fd33 + limb3: 0x14df29fafe098da44c7fd33, }, r1a0: u384 { limb0: 0x59456b76c2b8257a9ee80887, limb1: 0xb92657cb2cd74cfb0e2e2af8, limb2: 0x74366a9ca17b733790bace94, - limb3: 0x18a62b6be3320f12ef9121ed + limb3: 0x18a62b6be3320f12ef9121ed, }, r1a1: u384 { limb0: 0xd05f8b04255c124be737ddfb, limb1: 0xcaf73bd136dd217b40f1b669, limb2: 0xda811888424a2ec800ca2f97, - limb3: 0x157c5205e1188acb79fbef71 - } + limb3: 0x157c5205e1188acb79fbef71, + }, }, G2Line { r0a0: u384 { limb0: 0x551d19a32197678e501a12c4, limb1: 0x3102f2c93053ce62da9a1b0b, limb2: 0x769adf2e8ae80c60c5c99139, - limb3: 0x14fe0b69dfab2ad91193c4a5 + limb3: 0x14fe0b69dfab2ad91193c4a5, }, r0a1: u384 { limb0: 0xe86cd19c62b7325309625290, limb1: 0x9512dfe7f8a0a85b5b129f5a, limb2: 0xe93b9e5ed1d785c66f3d5c64, - limb3: 0x65e688294775d76e5ab924f + limb3: 0x65e688294775d76e5ab924f, }, r1a0: u384 { limb0: 0x7dd30ad71ce6a81d732c1d0b, limb1: 0x352705fb9beba70b1561a320, limb2: 0x5f08143a55c4e1b470430252, - limb3: 0xb8154b1f10e74f69706d330 + limb3: 0xb8154b1f10e74f69706d330, }, r1a1: u384 { limb0: 0xc48c1339b316415bca3bb4cc, limb1: 0x510780292ce3d9843a65b76d, limb2: 0xbaba64e0ba594669eb8e95e3, - limb3: 0x6a3ff7eb4d1089f7273bf29 - } + limb3: 0x6a3ff7eb4d1089f7273bf29, + }, }, G2Line { r0a0: u384 { limb0: 0x54863ab6d50bc9ff4874b6e6, limb1: 0x937c0d4560eae2eee4b7ce1e, limb2: 0x337805ebca15d19f40277942, - limb3: 0x10ff70c91cbb8869a0659bf2 + limb3: 0x10ff70c91cbb8869a0659bf2, }, r0a1: u384 { limb0: 0x7b3cfe640c29faece9a85e53, limb1: 0xcddbe3decddda92adfd9039a, limb2: 0x42f145b0f85554ee195ae299, - limb3: 0x1951ff3142b9a208e5e69e59 + limb3: 0x1951ff3142b9a208e5e69e59, }, r1a0: u384 { limb0: 0x94a7ee20add6c18015e26733, limb1: 0xd0f2a6ab15fefff1caa7366a, limb2: 0x9c055a1d93c3f27e46d0b3da, - limb3: 0x60f554e35125b7f5d7aac8b + limb3: 0x60f554e35125b7f5d7aac8b, }, r1a1: u384 { limb0: 0xd92e5b001022ee7874cbebeb, limb1: 0x4aed0fd23b92aebc139f77db, limb2: 0xd2bca1fe5ad39a274c9dfeec, - limb3: 0xcfab0e5b8e8d7c7a8765b15 - } + limb3: 0xcfab0e5b8e8d7c7a8765b15, + }, }, G2Line { r0a0: u384 { limb0: 0x101a676fbbe065b8b0413cd0, limb1: 0xd7be780e12266c035435d9ad, limb2: 0xd7fdc11fb76bab59a38fdb76, - limb3: 0x188fd7a942ff955e8dedd5cc + limb3: 0x188fd7a942ff955e8dedd5cc, }, r0a1: u384 { limb0: 0xf4267e2accb1a831f299e5ef, limb1: 0xc72c0e3ca886a34323f98177, limb2: 0x3944a21e29b7d7482c48c0a2, - limb3: 0x19e2d02a05f168b8c487fced + limb3: 0x19e2d02a05f168b8c487fced, }, r1a0: u384 { limb0: 0xa7c84f708c6c422e0b09d8be, limb1: 0x8262fa2f39a6188d2d55dbf1, limb2: 0xdfa1e441b0e33621ff08a9fc, - limb3: 0x16835a4c15044f6074fb2395 + limb3: 0x16835a4c15044f6074fb2395, }, r1a1: u384 { limb0: 0xe4e0728b3d36c7178fd1c85, limb1: 0x8dc9951af0d0d139b48a6a19, limb2: 0xef3bffc1480b3d46ce6884aa, - limb3: 0x10cba92e51537ca3cb71c662 - } + limb3: 0x10cba92e51537ca3cb71c662, + }, }, G2Line { r0a0: u384 { limb0: 0x21805f763874894483dc214c, limb1: 0x2c02b4ccd505fbbb8d8bd064, limb2: 0xe32a1465866e01898f1f3b14, - limb3: 0x15d2f6b35415870ddc7054f2 + limb3: 0x15d2f6b35415870ddc7054f2, }, r0a1: u384 { limb0: 0xf6749d4bc9865ee9e261110a, limb1: 0x81c4e72fdd8802ef73ab15ef, limb2: 0xb89ca852d2ba8b3590cd5301, - limb3: 0x183abed5b2d1d128fa596426 + limb3: 0x183abed5b2d1d128fa596426, }, r1a0: u384 { limb0: 0xf71ebb04aab85e83aec862c0, limb1: 0xf473b3e5a56fd96d60f8a264, limb2: 0x3e4b66f8493911a4a00afa1e, - limb3: 0x12be1dc90541ee9c7cb4fa59 + limb3: 0x12be1dc90541ee9c7cb4fa59, }, r1a1: u384 { limb0: 0xba5f7a9ccd0748c2fa4e54c8, limb1: 0x1640f7800984bafe7fa1a76d, limb2: 0x48e76aab062b19911f92bcd, - limb3: 0x72cecd9e5c7c437cbbc1e4a - } + limb3: 0x72cecd9e5c7c437cbbc1e4a, + }, }, G2Line { r0a0: u384 { limb0: 0x3856dc19dfda21ef560eb176, limb1: 0x932f2c020e0784cc0b8e2582, limb2: 0x9efd70aa14438ded0e7dfcc6, - limb3: 0xa60015a3a9584830c4ff86c + limb3: 0xa60015a3a9584830c4ff86c, }, r0a1: u384 { limb0: 0x4449acbaeda777c3805d02a7, limb1: 0xc1bfdc4d4b74f4fdaf35202d, limb2: 0x4aeb28b040467a2dc5803704, - limb3: 0x1993ceccd531b2a68cefc981 + limb3: 0x1993ceccd531b2a68cefc981, }, r1a0: u384 { limb0: 0x942f300d9689f481285d418a, limb1: 0x6df8e92708f641bf87425ab4, limb2: 0xcc53e2815e0e9c8c8771ecd9, - limb3: 0x152fd67eeca4f89f468127f7 + limb3: 0x152fd67eeca4f89f468127f7, }, r1a1: u384 { limb0: 0x8babc72b284c008ffe395a3c, limb1: 0xa9986da25d6c33d1781a02e2, limb2: 0xfcf47ee90047077c0ecf5120, - limb3: 0xb04a2d97df30a6a7673d205 - } + limb3: 0xb04a2d97df30a6a7673d205, + }, }, G2Line { r0a0: u384 { limb0: 0x1f078a90be515d55a39025dd, limb1: 0xa69e73a9a0f2894ad32c28d8, limb2: 0x406d92af351a91a43b294110, - limb3: 0xab36c91eeeaabb24820b390 + limb3: 0xab36c91eeeaabb24820b390, }, r0a1: u384 { limb0: 0x873b5a72e8ea0e7d255b970a, limb1: 0xf64973cbec18695bfc945495, limb2: 0x533e34319846e866ad7ddd36, - limb3: 0x1029fa62305109a4d20176b9 + limb3: 0x1029fa62305109a4d20176b9, }, r1a0: u384 { limb0: 0x429cba0cb76b0c492577722a, limb1: 0x771bc089fee5e3632dbffa1a, limb2: 0xa7c64b6f38e532de16959d0d, - limb3: 0xf38b71fb4269dd2e038223a + limb3: 0xf38b71fb4269dd2e038223a, }, r1a1: u384 { limb0: 0xddc796c5033428b0b8111c4f, limb1: 0x60ad337fb316c52ef8de0b21, limb2: 0x951808daa18d3ec520bd6279, - limb3: 0x3455cf600b5f6c549f38f14 - } + limb3: 0x3455cf600b5f6c549f38f14, + }, }, G2Line { r0a0: u384 { limb0: 0xc431f00ed9ace3016fb073c9, limb1: 0x5ae25790d51ab15f49a22131, limb2: 0x901a956cb84b3957b3a84e64, - limb3: 0x2e0a35d40d9a1a94b3497b6 + limb3: 0x2e0a35d40d9a1a94b3497b6, }, r0a1: u384 { limb0: 0xc7231eba998997f68e57ceda, limb1: 0x20d31de71c175ad7214de622, limb2: 0x158aeffac71897dcc253069f, - limb3: 0x16e88228b697db4f6c224b34 + limb3: 0x16e88228b697db4f6c224b34, }, r1a0: u384 { limb0: 0xfa62c8122e911349b00f63f0, limb1: 0x45308aa0b0564ebd07848a22, limb2: 0x487ab0912d2d5ab27c7795dd, - limb3: 0x11a0c48848f0d7b20b46fa15 + limb3: 0x11a0c48848f0d7b20b46fa15, }, r1a1: u384 { limb0: 0xe26fabf8b78e9f83692cff15, limb1: 0xf65d91db0bceb59d3adb17ae, limb2: 0x116f3ba0a3285c727189a385, - limb3: 0x7587cc9d7fbe80757df4ca0 - } + limb3: 0x7587cc9d7fbe80757df4ca0, + }, }, G2Line { r0a0: u384 { limb0: 0x8deb02d48f2ee3be7ae899ed, limb1: 0x4b66f01a40c86e83fded6847, limb2: 0x9c08bb4fe0abcaefc921a40, - limb3: 0x8bda1d762c986632aeaca1e + limb3: 0x8bda1d762c986632aeaca1e, }, r0a1: u384 { limb0: 0x72be08cacb4795f5ddd8497f, limb1: 0xfaddee2a55b5154b35e26966, limb2: 0x7c67f5884f061f219cb8ff55, - limb3: 0x6d4fe75b0153bdec12dba82 + limb3: 0x6d4fe75b0153bdec12dba82, }, r1a0: u384 { limb0: 0xc235fffbfefdf8e9ef54d2bc, limb1: 0x6581ebd151a1e73c53b163cb, limb2: 0xf60ffd0dd3608c742fba7902, - limb3: 0xe9437af3be8b35cbae1f171 + limb3: 0xe9437af3be8b35cbae1f171, }, r1a1: u384 { limb0: 0xdb98cff46b3033365ae5b731, limb1: 0x19f3ec2adf9517d4533cdf7c, limb2: 0xa60fbca3376090bf8f17f4b9, - limb3: 0x169bff5211482ee5e64f50ae - } + limb3: 0x169bff5211482ee5e64f50ae, + }, }, G2Line { r0a0: u384 { limb0: 0x7f3e552c73b94ea5aca6813a, limb1: 0x5b9fb1191df92133f21209d2, limb2: 0xed1129c457c9879b802641a3, - limb3: 0x19ac6d2e632d656188368724 + limb3: 0x19ac6d2e632d656188368724, }, r0a1: u384 { limb0: 0x4e5019a71576de9d1b3b34e9, limb1: 0x8a250f675e1a5c87b1cafeed, limb2: 0x1f045e71d9147c0c2a877e9, - limb3: 0x971468e238ef09daf2a1503 + limb3: 0x971468e238ef09daf2a1503, }, r1a0: u384 { limb0: 0x3da11ff3ac1dc5d5f3787156, limb1: 0x41d8b0def9b93b1a5da143b0, limb2: 0xfc9aa67ffbf77864568ad693, - limb3: 0x14f2603e77b3d32b5eedb50f + limb3: 0x14f2603e77b3d32b5eedb50f, }, r1a1: u384 { limb0: 0x75d221048a3c1136668545d8, limb1: 0xbf498d49345585ec9ec0151c, limb2: 0x87fab9b2ed3acc02eb3065e7, - limb3: 0x4ab44ace239f75c81b269a6 - } + limb3: 0x4ab44ace239f75c81b269a6, + }, }, G2Line { r0a0: u384 { limb0: 0x89eec90cedffb5559d9f7cd6, limb1: 0x838145c7842da8419fcaba0e, limb2: 0xa322ce58631513aed92ce0df, - limb3: 0x5a79df85b0a96adf6e2dab8 + limb3: 0x5a79df85b0a96adf6e2dab8, }, r0a1: u384 { limb0: 0xf36133a552f9211634fe2feb, limb1: 0x712f911d31ea73387b467687, limb2: 0xfb3d98acbbe375c161f9d2a8, - limb3: 0x11b7c924610a8268c34b8259 + limb3: 0x11b7c924610a8268c34b8259, }, r1a0: u384 { limb0: 0x50e7cae27aa8b11d0d2bfe43, limb1: 0xf88979ed0a59e7daa98895c9, limb2: 0xdf00ec512e87f5862a699c22, - limb3: 0xcad7fd28c40cc541a820fe4 + limb3: 0xcad7fd28c40cc541a820fe4, }, r1a1: u384 { limb0: 0x936b0157ffd80fabb32930f9, limb1: 0xc6bffa14bca99e467c671b75, limb2: 0x609410c23cb1d2ce4e5e9242, - limb3: 0x5aeec94c1d7d2fb257ce4f7 - } + limb3: 0x5aeec94c1d7d2fb257ce4f7, + }, }, G2Line { r0a0: u384 { limb0: 0x25287a87c1b2c3c6b31918d2, limb1: 0xe370de594155a8f78023525d, limb2: 0xfc32f19a5634c28d0fdade43, - limb3: 0x11e418fce45f7a3c6e512efa + limb3: 0x11e418fce45f7a3c6e512efa, }, r0a1: u384 { limb0: 0x75d5d71838d8ea9715fe06d7, limb1: 0xa80c2c0bffa400aba5251040, limb2: 0xc0278abc40904092e90b6e66, - limb3: 0x108ef6d09cde908ef27196e3 + limb3: 0x108ef6d09cde908ef27196e3, }, r1a0: u384 { limb0: 0xea269f730e5fe202ad27713a, limb1: 0xe4c1f7d6b6c0b1f42caabd9d, limb2: 0xfe90faef2c44002d8cc77466, - limb3: 0x11fc2e9b168eebd97097581e + limb3: 0x11fc2e9b168eebd97097581e, }, r1a1: u384 { limb0: 0x36ca7984ec68a9173c99469d, limb1: 0xbbea51c381392b3f2b8b23a1, limb2: 0x24151a6b372c24850563fe68, - limb3: 0xcc41f12dd415378503ddbf1 - } + limb3: 0xcc41f12dd415378503ddbf1, + }, }, G2Line { r0a0: u384 { limb0: 0xa05df784a5a683833d2e1464, limb1: 0x544aef13d7757e76ac4a6a2c, limb2: 0x337b308d7d37a5e715e2c6a7, - limb3: 0x1971f0b4a71e609b35922e78 + limb3: 0x1971f0b4a71e609b35922e78, }, r0a1: u384 { limb0: 0x9afd8643829c2749745e919d, limb1: 0x3fe5162dcc95efeedb645acb, limb2: 0x771a45a92c45f43bb070b7fd, - limb3: 0x503aa962b29d72a5d9f6cf2 + limb3: 0x503aa962b29d72a5d9f6cf2, }, r1a0: u384 { limb0: 0x8e80c44f884a20fe7070ea42, limb1: 0x78c55b9104f9b5b599cf0cf7, limb2: 0x6aa9312bbcf5dad8ca58d47c, - limb3: 0xa42156c0b189a8b23065b2c + limb3: 0xa42156c0b189a8b23065b2c, }, r1a1: u384 { limb0: 0x507ea5597266a41fa17c0e3e, limb1: 0x61ca6c9ff959cacbd2e0502f, limb2: 0xe921d3d10d8336d32c718050, - limb3: 0x15bd96df3160aaf601255ae2 - } + limb3: 0x15bd96df3160aaf601255ae2, + }, }, G2Line { r0a0: u384 { limb0: 0xa71edee844109581d751e805, limb1: 0xb8a00b098913a289f078c56d, limb2: 0x6da478fc532b7fca09418a40, - limb3: 0x1191d99b1ef0e58862d80422 + limb3: 0x1191d99b1ef0e58862d80422, }, r0a1: u384 { limb0: 0x75c2f440eb09724c5176a9d0, limb1: 0xab65773d99721ebb172611d0, limb2: 0xa99eaa66657366b3e9a3e3b5, - limb3: 0x15c7e46ba45790e4ec829ff + limb3: 0x15c7e46ba45790e4ec829ff, }, r1a0: u384 { limb0: 0x12c4394ba8b401e3d2cdee10, limb1: 0x8d9953e7ef6751d3e9bea36d, limb2: 0x10a977ee7f951ac566733a4f, - limb3: 0x16a460e20580c71c1c0744c2 + limb3: 0x16a460e20580c71c1c0744c2, }, r1a1: u384 { limb0: 0x9b4d92a98ad79937fb74c008, limb1: 0xa800cb5b3af4b7be504667bb, limb2: 0xb141cfd96b37e06a8df4fcdb, - limb3: 0x128942ad0ff6774eac6dca11 - } + limb3: 0x128942ad0ff6774eac6dca11, + }, }, G2Line { r0a0: u384 { limb0: 0xbb42fc51b2f0d50a3d7a6796, limb1: 0xfcbc9d2df3136cbd1a372ac4, limb2: 0xea313e60d4b8240679b0175e, - limb3: 0x1657a4b33e1400ef6e296282 + limb3: 0x1657a4b33e1400ef6e296282, }, r0a1: u384 { limb0: 0xaf91b402ecc6cf1a742796cf, limb1: 0xab44b72c1fc2f89b5eaa0345, limb2: 0x9f6a20404576105e15a4930c, - limb3: 0x10992497f5f8bf4451121322 + limb3: 0x10992497f5f8bf4451121322, }, r1a0: u384 { limb0: 0xd9355bfe72d92c6a0950eafd, limb1: 0x89de0bfbfd06c9911cb2d6fb, limb2: 0xe2092d1e99ab65a7a33ba1cd, - limb3: 0x1c317a68eeef4d833e396de + limb3: 0x1c317a68eeef4d833e396de, }, r1a1: u384 { limb0: 0x631d3efa10e591b7ebcb8dbc, limb1: 0x6a4a0815d19cf339e4663ba9, limb2: 0xe2fb7d9878d26c7c97299a01, - limb3: 0x4c4dc455aad226b744ebdd4 - } + limb3: 0x4c4dc455aad226b744ebdd4, + }, }, G2Line { r0a0: u384 { limb0: 0x363f9f6e9d53eca0328e6c4c, limb1: 0x43eec7c74e3ff2fa2180ef98, limb2: 0xc59a9948223dbc16b551291f, - limb3: 0x284cfe02b07d3ff39333c3d + limb3: 0x284cfe02b07d3ff39333c3d, }, r0a1: u384 { limb0: 0xea6c388e24151607794c7237, limb1: 0x7943928adc33394fb552687f, limb2: 0x76103a90d6ab3bee6e576dbb, - limb3: 0x17eec2ea2baa42a1bf9e89fb + limb3: 0x17eec2ea2baa42a1bf9e89fb, }, r1a0: u384 { limb0: 0x93b180c3b870b89a8483888a, limb1: 0x16af0053338af8df2cd3e9ce, limb2: 0xbf7031c6cce8d2490b7ab5bb, - limb3: 0x164ea73315847832dfc59d1c + limb3: 0x164ea73315847832dfc59d1c, }, r1a1: u384 { limb0: 0x2687d52f75d77442d4eb40fc, limb1: 0x933ac245443011fac81f5ea0, limb2: 0xa5b52ffa9e6d58739784a7fc, - limb3: 0x19fe25a70e38b245e579dbf2 - } + limb3: 0x19fe25a70e38b245e579dbf2, + }, }, G2Line { r0a0: u384 { limb0: 0xe51e461db9c85f42519fea6, limb1: 0x234a9695204bd44f55ea4de6, limb2: 0xc8d34c6b4580edfc55e023b1, - limb3: 0x16691c1bdf57ba041abb3d97 + limb3: 0x16691c1bdf57ba041abb3d97, }, r0a1: u384 { limb0: 0xa81022cb0b3b0c523ae71819, limb1: 0x47f7df16fff0877b21676607, limb2: 0xdee4fe1d3c64b3fedec56326, - limb3: 0xcfbf5ccb325675b1a3becef + limb3: 0xcfbf5ccb325675b1a3becef, }, r1a0: u384 { limb0: 0x6d42b9d9e765f92b0817551, limb1: 0x352adc09dd7760a5f4208a1e, limb2: 0x5397846e3fff77f500da6dbc, - limb3: 0xe26d685c4365e342109d0ba + limb3: 0xe26d685c4365e342109d0ba, }, r1a1: u384 { limb0: 0x9bc1051782d84793806d878b, limb1: 0x1642edf27f040ad57feb6f89, limb2: 0x11a5d3523a88580869d28ca2, - limb3: 0xd22ff50c5a9bd729115a889 - } + limb3: 0xd22ff50c5a9bd729115a889, + }, }, G2Line { r0a0: u384 { limb0: 0xe4efea113446e8fd94f1eea8, limb1: 0xcb18c21d8448136352da4336, limb2: 0xfc8cdfdaea1682e6fd084488, - limb3: 0xfc8dd7ffecc5c9c8a69491d + limb3: 0xfc8dd7ffecc5c9c8a69491d, }, r0a1: u384 { limb0: 0x263cdfc966929543ffe7f0a1, limb1: 0xaa611b31adcfed73c638211a, limb2: 0x42cdea07a698860d491399b, - limb3: 0x4d0e0f7ef49a732e7480260 + limb3: 0x4d0e0f7ef49a732e7480260, }, r1a0: u384 { limb0: 0xd6d8da1b24a4d916d664dba5, limb1: 0x8eb3998d61387861f1455690, limb2: 0xae1c21768b9aa7f3e94df161, - limb3: 0x3cc2fe6e6345650436278fb + limb3: 0x3cc2fe6e6345650436278fb, }, r1a1: u384 { limb0: 0x3d6ed02228497455788a84b7, limb1: 0x5671f2ed36be99f2c0aa4b99, limb2: 0x64f760aec59aec125ee684b8, - limb3: 0x72922fee279ca672ae012c - } + limb3: 0x72922fee279ca672ae012c, + }, }, G2Line { r0a0: u384 { limb0: 0x30d36077b6d0262e218111c1, limb1: 0xc74774ca1af660eaed4d8329, limb2: 0x6448cecfde912a7d2029dbc, - limb3: 0xe743528ce0c94e1a76f2f60 + limb3: 0xe743528ce0c94e1a76f2f60, }, r0a1: u384 { limb0: 0xe1f8a574cee0dad622d6fead, limb1: 0xcd681358d077b827cc148be2, limb2: 0xc8fb346621601764fa91b40a, - limb3: 0x133d21c52017365921207d63 + limb3: 0x133d21c52017365921207d63, }, r1a0: u384 { limb0: 0x5cb088f57e1e3f6a62571b37, limb1: 0x4089cdf0fb67a7b1d79838b3, limb2: 0x62401a2e57abb0652e0fee81, - limb3: 0xcc83c46ac38241e1c33aca2 + limb3: 0xcc83c46ac38241e1c33aca2, }, r1a1: u384 { limb0: 0xfd94f04ec006d63b4825ecfa, limb1: 0x96ef1f9240c32fdc393b81e2, limb2: 0x6d46c2685a1a1c50e84c8b24, - limb3: 0x1528bf72bee83f2c80884dd2 - } + limb3: 0x1528bf72bee83f2c80884dd2, + }, }, G2Line { r0a0: u384 { limb0: 0x967edf63810f66378035d9a9, limb1: 0xbb41210c71a8e730070081a4, limb2: 0x2b3e319d53a9ed42860fa77f, - limb3: 0x6278b145b3c7a6a3036ea47 + limb3: 0x6278b145b3c7a6a3036ea47, }, r0a1: u384 { limb0: 0xaf80f0c00386668cb5abd055, limb1: 0x65fd0d8e2a2e33029c34cd23, limb2: 0x248c0e19a9bf0ed6ee322967, - limb3: 0x15b221eee9671d26db719f3 + limb3: 0x15b221eee9671d26db719f3, }, r1a0: u384 { limb0: 0x84c7a67ad0a0908ffed8fa8d, limb1: 0x36968614bc1f3278ab15d41b, limb2: 0xafbcdf72844d192abdb3ed34, - limb3: 0xb4edb23cae78d3d9b83472a + limb3: 0xb4edb23cae78d3d9b83472a, }, r1a1: u384 { limb0: 0xcd0ab14fee3b152169cc5f6a, limb1: 0xf7e829100f6fe0680a97d094, limb2: 0x733af72dfcd1b57ddb6a0304, - limb3: 0x1418dc868da9b223b09467e8 - } + limb3: 0x1418dc868da9b223b09467e8, + }, }, G2Line { r0a0: u384 { limb0: 0x8f8bf2310745715d8e60675, limb1: 0xe7983befc104f7bd4886ad3a, limb2: 0xd6b5d3a93563b2103c29cec1, - limb3: 0x1902b1e10713c8d95829b014 + limb3: 0x1902b1e10713c8d95829b014, }, r0a1: u384 { limb0: 0x392c934ad398e9471a2a3e6f, limb1: 0xc81c0dc22eff61dca36ea27f, limb2: 0x4605027ef09f9b7d03fcc1c2, - limb3: 0x142c2105c569b0e7aee457f1 + limb3: 0x142c2105c569b0e7aee457f1, }, r1a0: u384 { limb0: 0x86fc12d4ddb34349e58e0713, limb1: 0x9a132e3db41060771e480d9f, limb2: 0x6e00f3b7a9cbdf6ba01f3694, - limb3: 0xf3f4843686de973131d67ee + limb3: 0xf3f4843686de973131d67ee, }, r1a1: u384 { limb0: 0xf7b6328930ed21138fcd8f92, limb1: 0x354fd9f9ec8f828426279c4c, limb2: 0x3df938a725947d029e1edf6f, - limb3: 0x1143440784148d84b5ae0952 - } + limb3: 0x1143440784148d84b5ae0952, + }, }, G2Line { r0a0: u384 { limb0: 0xb17b80c761f951e735a2d041, limb1: 0xafc877c0c04208f63bf8a886, limb2: 0x153ba811a82f51f9aa3b6016, - limb3: 0x184116d06dccf1c2017108ad + limb3: 0x184116d06dccf1c2017108ad, }, r0a1: u384 { limb0: 0x4c7b228ff22ef777b4f4ffe6, limb1: 0x8a18bc657a788290b4a1a781, limb2: 0x2222b3823a8b65258b2ef246, - limb3: 0x55c2710bd65597460c0f6b + limb3: 0x55c2710bd65597460c0f6b, }, r1a0: u384 { limb0: 0x81df44a2a9b9e826d77b92d3, limb1: 0xad7a849671b36dcbfca86928, limb2: 0x18fffc9503099b88e7cac1c1, - limb3: 0x315cb565ecea51d7c74a7d6 + limb3: 0x315cb565ecea51d7c74a7d6, }, r1a1: u384 { limb0: 0x39e35c74aeb90d9fffb28774, limb1: 0x91c388c611ba957ed3ed4f81, limb2: 0xbfbc4f99e318cbc41997f64b, - limb3: 0x862e32a5891b9194a707270 - } + limb3: 0x862e32a5891b9194a707270, + }, }, G2Line { r0a0: u384 { limb0: 0x8acd42eff277e12a1c665cd8, limb1: 0xc8dd9dfb56ea54ca5c9d26e6, limb2: 0x803b24ff12a9cd7524a26b87, - limb3: 0x27b1b3c904791e3fa942dcd + limb3: 0x27b1b3c904791e3fa942dcd, }, r0a1: u384 { limb0: 0x7a880435688221e820d4164e, limb1: 0x9754d630e027f9217dd0fba6, limb2: 0xee6cbf6da2000115b0cca0d8, - limb3: 0x162f5c264c2d2728aaa1f652 + limb3: 0x162f5c264c2d2728aaa1f652, }, r1a0: u384 { limb0: 0x314a0d54f7db63dcd3d6c0e0, limb1: 0x793c614f53a688375ca369e8, limb2: 0x296c4ccd5f785e294abeb492, - limb3: 0x20d58632925a8df2d3d48bd + limb3: 0x20d58632925a8df2d3d48bd, }, r1a1: u384 { limb0: 0x82c581e26e2e612aceaca787, limb1: 0xe02d73cc25449c92dfd7f088, limb2: 0x732270a5ec065ff678b3666e, - limb3: 0x17e813008da019a1fab544c - } + limb3: 0x17e813008da019a1fab544c, + }, }, G2Line { r0a0: u384 { limb0: 0x73932e90ae81b714f637b41, limb1: 0xd8f3711a8fd93fd72b37a9cc, limb2: 0x8f6ada570f26c1e6a53f2861, - limb3: 0x5731c6aa600bd4532b267cc + limb3: 0x5731c6aa600bd4532b267cc, }, r0a1: u384 { limb0: 0x8a8109f0ca0fb9562c4d64ce, limb1: 0xbf3993ec4da2f3066fc4d1a8, limb2: 0x82967409e5b8929a76f60185, - limb3: 0x312bc2fe319294c401a076d + limb3: 0x312bc2fe319294c401a076d, }, r1a0: u384 { limb0: 0x56ddd8c196371fb0093419b, limb1: 0x806528309800613a1b0c9257, limb2: 0x807a35a60f04f01393185f4d, - limb3: 0xccbed56d82049855d897609 + limb3: 0xccbed56d82049855d897609, }, r1a1: u384 { limb0: 0x2e1a6d5e5b690ebddb441dd2, limb1: 0xf56e9d8601eb09c2491a54d, limb2: 0xeb1109351a3c57b119c23f9b, - limb3: 0xff06fbf0813213028c7e555 - } + limb3: 0xff06fbf0813213028c7e555, + }, }, G2Line { r0a0: u384 { limb0: 0x4a074239eac7dc93b8113ddd, limb1: 0x64192efc9a09299ad173b34e, limb2: 0x3e86b7943ceda2cc678e6719, - limb3: 0x13a3cf500109646aac4d69e3 + limb3: 0x13a3cf500109646aac4d69e3, }, r0a1: u384 { limb0: 0x89c20af4b5a694d4d6d9d45d, limb1: 0x76071bd0d45623a4cfe9647, limb2: 0xbaeda04445ec73fe1fd859d6, - limb3: 0x12f734fc3463dc7adb90dccb + limb3: 0x12f734fc3463dc7adb90dccb, }, r1a0: u384 { limb0: 0xa12928a1d5d6408853a05ae7, limb1: 0xa8fc3f1aa38f3d6554357b31, limb2: 0xbb5e7127cb9669d52daff069, - limb3: 0x525a9e909f39cb2e32cb71a + limb3: 0x525a9e909f39cb2e32cb71a, }, r1a1: u384 { limb0: 0x2bf733d3a23d1446da39720e, limb1: 0x69c363f32dc0ed3a22acc728, limb2: 0x3eb64a364ee2cb63222dc046, - limb3: 0x1e78c4855ad25e4e08ba1eb - } + limb3: 0x1e78c4855ad25e4e08ba1eb, + }, }, G2Line { r0a0: u384 { limb0: 0x9f063deced8ca77530af3f4c, limb1: 0x144bdfaa00467ce19a578f40, limb2: 0x3953497d0771124d9b67e427, - limb3: 0x12edfb0c935168616a313c49 + limb3: 0x12edfb0c935168616a313c49, }, r0a1: u384 { limb0: 0x10dc1d7902422eab8ec34907, limb1: 0x12d2e25b0784cd54e8882aa, limb2: 0x6c8797bc383b2c8d8dcbe8ae, - limb3: 0x9d9bc82c6c7d33addea4394 + limb3: 0x9d9bc82c6c7d33addea4394, }, r1a0: u384 { limb0: 0x8ad26ea41a8e5290d3cfe9df, limb1: 0x1477ceb694cc8d76e65b3892, limb2: 0x6f7feca1d527322d8f55c7d9, - limb3: 0xe209e705b596e62d29d30f5 + limb3: 0xe209e705b596e62d29d30f5, }, r1a1: u384 { limb0: 0x388372fda80402fd47838445, limb1: 0xfc177a37cf1bab02000be775, limb2: 0xe42caa0cb14387e64244843b, - limb3: 0x32e8d8f3a7bf87f74c34b23 - } + limb3: 0x32e8d8f3a7bf87f74c34b23, + }, }, G2Line { r0a0: u384 { limb0: 0x1ed40e3c2cfcc055cd4958d6, limb1: 0xd1453a4587d6c2ca2341043e, limb2: 0xf79c2172e21b91ba79a5ea2d, - limb3: 0x65c82633f9d4d20c07f6ad4 + limb3: 0x65c82633f9d4d20c07f6ad4, }, r0a1: u384 { limb0: 0xc8398341fc07277f183c17d5, limb1: 0x86bc2e62775af5eae61d9aa, limb2: 0x403276e7635ed1cd34473d3d, - limb3: 0x18a18bd0be954bbff600c7c1 + limb3: 0x18a18bd0be954bbff600c7c1, }, r1a0: u384 { limb0: 0x8b17fbda26b7133b0600c51e, limb1: 0x48147de60df80344b55d8fb8, limb2: 0xa0e018e36cfa14e2a39e57fe, - limb3: 0x70aed2d475ad180844d7587 + limb3: 0x70aed2d475ad180844d7587, }, r1a1: u384 { limb0: 0xf1d8e65deba9a3605b50946b, limb1: 0x3677c5769dea1762e0a3a25d, limb2: 0x5d4399ba6a9742e8f2aa1928, - limb3: 0x2d57160d6c66d1e0c2f0c0 - } + limb3: 0x2d57160d6c66d1e0c2f0c0, + }, }, G2Line { r0a0: u384 { limb0: 0xd0df9414ab14375fa6806880, limb1: 0xca2fbde48dfa612dd7651818, limb2: 0x94d4d577683866abf9418786, - limb3: 0x7276c58d38d334aeb17d21d + limb3: 0x7276c58d38d334aeb17d21d, }, r0a1: u384 { limb0: 0x33624773e56782652526199f, limb1: 0xb8b611175cbe6c3cffc5ac81, limb2: 0xed0e2567d17dff5ac900f3cd, - limb3: 0x98cb18ca7165c32cd3cc152 + limb3: 0x98cb18ca7165c32cd3cc152, }, r1a0: u384 { limb0: 0x2dc597c44838dee671473465, limb1: 0x42ece025c559c8181b720c1e, limb2: 0xa5788ae10bc5c64c059e3798, - limb3: 0x16539b3c5dec7ca770e60c8b + limb3: 0x16539b3c5dec7ca770e60c8b, }, r1a1: u384 { limb0: 0x4910c40e6111f70dcb5d6293, limb1: 0x72177ec41f90ef3573b914af, limb2: 0xfcdb8e13aecc36bc984d7dad, - limb3: 0x13b535802eb52f78f52b67aa - } + limb3: 0x13b535802eb52f78f52b67aa, + }, }, G2Line { r0a0: u384 { limb0: 0xe6882416d7bc0be138e4eeb2, limb1: 0x1ffc8c27a2046327376e250, limb2: 0xf96a7955cf8a3345e89477c1, - limb3: 0x31ae02e34d7d21957899dbe + limb3: 0x31ae02e34d7d21957899dbe, }, r0a1: u384 { limb0: 0x148232d34a8da37b7adc99a7, limb1: 0xd0a0095db108dfd24e92848f, limb2: 0x89fb49e1a36591a6b189f964, - limb3: 0x1900bee131450e7d7a914ea4 + limb3: 0x1900bee131450e7d7a914ea4, }, r1a0: u384 { limb0: 0x97018429f16d24bc1e7f8af0, limb1: 0x1f68aaf8291a6decfb708b43, limb2: 0x1f700e88b537bffef39907e4, - limb3: 0x9cb633f82c6e595f1785e5e + limb3: 0x9cb633f82c6e595f1785e5e, }, r1a1: u384 { limb0: 0xd8d9d3a12a0dd7b129ffda0, limb1: 0x7a94e9da792505fe4fbdb0da, limb2: 0xf16eaac379266d5a4210e839, - limb3: 0xc24197c1ceaa3dd3de58b21 - } + limb3: 0xc24197c1ceaa3dd3de58b21, + }, }, G2Line { r0a0: u384 { limb0: 0x5121ed1a88616e4d4db0595f, limb1: 0x33dbd46ed7b06175cf41f23e, limb2: 0xae1887221e200e7b0b2dd28f, - limb3: 0x179fae6949c974ac074721d7 + limb3: 0x179fae6949c974ac074721d7, }, r0a1: u384 { limb0: 0xec69c8ab1d267c9a6a6d05f7, limb1: 0xa25badc2829f833ff2ba42c0, limb2: 0x64aa44e985590c9763d34b19, - limb3: 0x13f17206143b411a732e3c25 + limb3: 0x13f17206143b411a732e3c25, }, r1a0: u384 { limb0: 0x33b78c61366dc7410c76b8f2, limb1: 0x3a9f753c7f24e8f6f4fd395f, limb2: 0xa6211e1c84e26ce0a0835268, - limb3: 0xce1328e759d3bc77c72f6b2 + limb3: 0xce1328e759d3bc77c72f6b2, }, r1a1: u384 { limb0: 0xb82a77bba83aa44b3fe6d3c5, limb1: 0x7a2266cc1586e32b4ce8c11b, limb2: 0x6faabb2d25781b305c25694d, - limb3: 0x13ac4d9a6834b95da26fa06b - } + limb3: 0x13ac4d9a6834b95da26fa06b, + }, }, G2Line { r0a0: u384 { limb0: 0x6231a3597b09b6d5fda5c712, limb1: 0x3f3bd12ca9ef48ef6199a7f4, limb2: 0x6883383b5a445ca79fc407ee, - limb3: 0x141accc8970ace156fe95a36 + limb3: 0x141accc8970ace156fe95a36, }, r0a1: u384 { limb0: 0xe0c805067330b20430c585c8, limb1: 0x8ff3e0c3028ea8f24ee6fb30, limb2: 0xa368fc9a21efabd91ace37d9, - limb3: 0x18b35a8fd65ba4cbd734a0ee + limb3: 0x18b35a8fd65ba4cbd734a0ee, }, r1a0: u384 { limb0: 0xf4e1f73d2ed7ccded6c419de, limb1: 0xf379cd28811f89aeea7aee67, limb2: 0x727c64c0e714ab6ea82391e8, - limb3: 0xf454aa00efef9460f382b49 + limb3: 0xf454aa00efef9460f382b49, }, r1a1: u384 { limb0: 0x952793660f1fe4300657022a, limb1: 0xe8fa6c2b1aa542384940d1ec, limb2: 0x5a1f19c729b4b225b1501e31, - limb3: 0xa5b1272b68436f9433d112f - } + limb3: 0xa5b1272b68436f9433d112f, + }, }, G2Line { r0a0: u384 { limb0: 0xb5c7f333fb77fb640c54d364, limb1: 0xb370f382462c835aab5cc997, limb2: 0x3d5c94deb689f57008552a5c, - limb3: 0x11ae8eb40f5e055e30da56e3 + limb3: 0x11ae8eb40f5e055e30da56e3, }, r0a1: u384 { limb0: 0x67851527c4720d34d6bcaaa8, limb1: 0x924dd3f263abdaf7b83f876b, limb2: 0xae1834310910f611638e9935, - limb3: 0xc901716635675ee60505d5d + limb3: 0xc901716635675ee60505d5d, }, r1a0: u384 { limb0: 0xe65e10fdcc7035244523c278, limb1: 0x6d6579ed84fe7ac624373c96, limb2: 0x216959b27efc3c4aef7344d3, - limb3: 0x16ea4125e47ade4a534b117d + limb3: 0x16ea4125e47ade4a534b117d, }, r1a1: u384 { limb0: 0xd4486351851ac10086e252a6, limb1: 0x71da57cafc2206d7b9f3e19c, limb2: 0xa20b7261682609eedc279d10, - limb3: 0x59452018f5c136620b13c6e - } + limb3: 0x59452018f5c136620b13c6e, + }, }, G2Line { r0a0: u384 { limb0: 0x7ee6a5f3ce669de80b52ba42, limb1: 0xa7d66db543d3c6a626f79dea, limb2: 0x135c684f9ac0e0a34315e044, - limb3: 0xaaafef3c4298542248b3a58 + limb3: 0xaaafef3c4298542248b3a58, }, r0a1: u384 { limb0: 0xe0b267ea1f8e8dc2b83d62e, limb1: 0xabac56946f0699334fa765e6, limb2: 0xee0060a937926e9b6d6adb90, - limb3: 0x13d96385b510deff2f4d1d32 + limb3: 0x13d96385b510deff2f4d1d32, }, r1a0: u384 { limb0: 0x1271c3349afe8fbfd4d7ee54, limb1: 0xc4df31a1a0ae89c5728ee819, limb2: 0xa0de891b771af1ba8a67f8db, - limb3: 0xf69200f56879e50a92ecd6e + limb3: 0xf69200f56879e50a92ecd6e, }, r1a1: u384 { limb0: 0x3260bde1e37542b8b8465e10, limb1: 0x7c3420aa9e48318a6606ee07, limb2: 0x126b5e1ded963ffbb6adb4e2, - limb3: 0x18d1f7ae28741bb590bb39a6 - } + limb3: 0x18d1f7ae28741bb590bb39a6, + }, }, G2Line { r0a0: u384 { limb0: 0x181fe8e691b0734fc6c8b3e3, limb1: 0x616410c0af8a1e197fb5f75a, limb2: 0xb38eb80de6b3b0f7f71aef9, - limb3: 0xcb084d46b4282aacbed6a60 + limb3: 0xcb084d46b4282aacbed6a60, }, r0a1: u384 { limb0: 0x8a6b2c47cc1ca9c98045b7f6, limb1: 0xcbe8b14d674bbf60db98d808, limb2: 0x46b9bb451cf32e861adae13a, - limb3: 0x53d38b36897a4aeb430bd04 + limb3: 0x53d38b36897a4aeb430bd04, }, r1a0: u384 { limb0: 0x23a3e6d947b9435c66858403, limb1: 0xf2ec49526cefd9e1a3004d7, limb2: 0x9b3b0253588d874ed9d95a3, - limb3: 0x13ab2d7c5d048283d6322ddf + limb3: 0x13ab2d7c5d048283d6322ddf, }, r1a1: u384 { limb0: 0x8c68e023a6d85684960340a1, limb1: 0x779e01cddbe6c1a646dfe94e, limb2: 0xaf9acf72586d61ea2e56cbe8, - limb3: 0x1978e28ea8606bfa979cd91 - } + limb3: 0x1978e28ea8606bfa979cd91, + }, }, G2Line { r0a0: u384 { limb0: 0x95db0469c00d953ee476c048, limb1: 0xa412df73ae5febbec296a5fb, limb2: 0x16b9fdec9340c8f3aefa561c, - limb3: 0xfc955cb99bde258d8760197 + limb3: 0xfc955cb99bde258d8760197, }, r0a1: u384 { limb0: 0x83c7d7a804031b10c844d0cb, limb1: 0xfb88180286d20648b40806c0, limb2: 0x31368cfad1bcb8ef19b9d382, - limb3: 0x8fd02881a5331dfb0922a3b + limb3: 0x8fd02881a5331dfb0922a3b, }, r1a0: u384 { limb0: 0x2513b777e720406cfba171f4, limb1: 0x9d9da48be5e4bae3bd3e8c84, limb2: 0x8d75547712fc62f6f651762d, - limb3: 0x5f0f52ede58374df52c0643 + limb3: 0x5f0f52ede58374df52c0643, }, r1a1: u384 { limb0: 0x13d6b4aa8d9a46d5720e1b74, limb1: 0x5b93ebf4000945ce87c9dcf1, limb2: 0xffe34203a0c826e972d857bd, - limb3: 0x1870c14dc5ad5a661156fd61 - } + limb3: 0x1870c14dc5ad5a661156fd61, + }, }, G2Line { r0a0: u384 { limb0: 0x4d1cdbf8dbab3c8928b0ea75, limb1: 0x58191227095b21b380520bca, limb2: 0xc8b2edfc1fcf1d47ba6bd853, - limb3: 0x165cefae4bd7b09e83aea4ac + limb3: 0x165cefae4bd7b09e83aea4ac, }, r0a1: u384 { limb0: 0x13f43fbb712c938711770d43, limb1: 0x67b7fe6c084a6b9d0d02edda, limb2: 0x7b0238d25ec12dfd2bc787a9, - limb3: 0x11065816aed6fac8813b29d4 + limb3: 0x11065816aed6fac8813b29d4, }, r1a0: u384 { limb0: 0xdf7a103b140e34e5fe400ff2, limb1: 0xad80cb5f3e6cbfca0f9ba6c2, limb2: 0xd22ace697a5990edb0d940f4, - limb3: 0x185537f3f8bb62a81efb3777 + limb3: 0x185537f3f8bb62a81efb3777, }, r1a1: u384 { limb0: 0x78081d7fc6aa11ec6d3eac29, limb1: 0x4c8089e6844b749eabf183cb, limb2: 0x7005abf6c23d8902a06826c0, - limb3: 0x1ec6348dffbfbdf92d2018e - } + limb3: 0x1ec6348dffbfbdf92d2018e, + }, }, G2Line { r0a0: u384 { limb0: 0x31f476324f857ca9daa71d3f, limb1: 0x5b64b681867d0f5505b9f139, limb2: 0xb89e509fc5decaef9cb221f1, - limb3: 0x5b8f08ef767ca4cf5f36622 + limb3: 0x5b8f08ef767ca4cf5f36622, }, r0a1: u384 { limb0: 0x8f44b24a23750c8f0fa6270d, limb1: 0x554f99004f5b1f2a21b02609, limb2: 0x3710c6daa7cac50a8ca6de8, - limb3: 0xa3b4aea7c32a8fc4d9a662b + limb3: 0xa3b4aea7c32a8fc4d9a662b, }, r1a0: u384 { limb0: 0x93f0fbf4c4d931c3a733902b, limb1: 0x3a038220fa2da3a7087689cd, limb2: 0x5bc677d1583979bda5797f17, - limb3: 0x11996e8759ccb1bda7042160 + limb3: 0x11996e8759ccb1bda7042160, }, r1a1: u384 { limb0: 0x1ee1d1db6f033786016fd46, limb1: 0x2d4942546551a7b5afb1ee11, limb2: 0x5c0b006bc71d7e27359f5f02, - limb3: 0x35c97a7e460075f4d915117 - } + limb3: 0x35c97a7e460075f4d915117, + }, }, G2Line { r0a0: u384 { limb0: 0xc17720fe750cb299759cac, limb1: 0x3099fd19a6b92e3ee803934a, limb2: 0x346f95d569d19d6f13b360ae, - limb3: 0xfe3b36652505dca379b0de1 + limb3: 0xfe3b36652505dca379b0de1, }, r0a1: u384 { limb0: 0xe79d54704a2ac5fe8ec036b3, limb1: 0xd0c59443c6fe3cfc7ed07143, limb2: 0xd35ba6f1be9ef2a32df5ce99, - limb3: 0x13c0add36a1987486340d508 + limb3: 0x13c0add36a1987486340d508, }, r1a0: u384 { limb0: 0xa7dbcd98dc000e769a0c1640, limb1: 0x4669b3e3c0832faa8a1bc742, limb2: 0x7f86a3143278c34ce3f7ff7b, - limb3: 0xb1d5e7632fb29ed83475f08 + limb3: 0xb1d5e7632fb29ed83475f08, }, r1a1: u384 { limb0: 0x7e5b15b8d85c3ddb341f6b3b, limb1: 0xd7a537aa55ed85a2aac5ad6c, limb2: 0x188d659313156b445ea5eb05, - limb3: 0x504c8faecb23614b32d77a9 - } + limb3: 0x504c8faecb23614b32d77a9, + }, }, G2Line { r0a0: u384 { limb0: 0x813cf8d46ec722731cb2e790, limb1: 0x3ae401e3a2c43950dd3e14a5, limb2: 0x7f1e2595a7bf3cb9644dc3a2, - limb3: 0x9a64184b516425353d3342b + limb3: 0x9a64184b516425353d3342b, }, r0a1: u384 { limb0: 0x1be4ad4c913b7f23ef8afc45, limb1: 0x4b9c5ee3da9ae172d5612c39, limb2: 0x362a12402d4cd3c50c5a5bc1, - limb3: 0xaf426e78303a8cf5a43520e + limb3: 0xaf426e78303a8cf5a43520e, }, r1a0: u384 { limb0: 0x1a1fbd631479e96bc85c9b39, limb1: 0x755e043e52470551dc47fa77, limb2: 0x2fd80441adcf386b79dfadce, - limb3: 0x15cdd2f908202480bb0f56fb + limb3: 0x15cdd2f908202480bb0f56fb, }, r1a1: u384 { limb0: 0x493a7937f956ab6960bb1a74, limb1: 0xec402c0b38b6cc4d5094363, limb2: 0x3d52461743a5dfe63d2e7a33, - limb3: 0x92150697852cb2d08c3521b - } + limb3: 0x92150697852cb2d08c3521b, + }, }, G2Line { r0a0: u384 { limb0: 0xc944c320bf8646db058b9131, limb1: 0x31a88361a84a466aa6b36d75, limb2: 0xdac588f1f3c7445319f734c1, - limb3: 0xcac64965fdc6b4f2086ec4d + limb3: 0xcac64965fdc6b4f2086ec4d, }, r0a1: u384 { limb0: 0xa9525478edbdf7abe422ecde, limb1: 0x4e92c811d5f5d89e35dbfc2a, limb2: 0x5d684f4f06473e718f79f00c, - limb3: 0x88952df34006bf1b7ce357a + limb3: 0x88952df34006bf1b7ce357a, }, r1a0: u384 { limb0: 0xa1b9405e17e76b1755dfb581, limb1: 0x30a164060d8e4bb7b88a1c77, limb2: 0x5972aaf0140f12d11fbbf2ab, - limb3: 0x483fd927267aa9641997b1a + limb3: 0x483fd927267aa9641997b1a, }, r1a1: u384 { limb0: 0xad6cac2f613f81aa42d4a895, limb1: 0x40f8cc01303a5997e99bda9a, limb2: 0xb01bfb6633906b1ea0a12e46, - limb3: 0x101863ec8507dd5b31e4faa4 - } + limb3: 0x101863ec8507dd5b31e4faa4, + }, }, G2Line { r0a0: u384 { limb0: 0x3c31209a4897e0f66a542078, limb1: 0xaca6cfb5457ca1adc99138fe, limb2: 0x72bf4739ae7b1a8652c823a2, - limb3: 0xdd9144f8c45e6091a6714d7 + limb3: 0xdd9144f8c45e6091a6714d7, }, r0a1: u384 { limb0: 0xc8942e9d5abaeec4938f2308, limb1: 0x30ff4bdf679bd4a2b87fa34c, limb2: 0x21acf101ca7ff6cd9129e67a, - limb3: 0xda6ef8b0ede3a09d1a5c00b + limb3: 0xda6ef8b0ede3a09d1a5c00b, }, r1a0: u384 { limb0: 0x2c5038a7eeaa757c15d205e, limb1: 0xe9d28bbd2c18d52e1b9024f2, limb2: 0x959d4240dbbc46a2c5bbb5b, - limb3: 0x9cd8b42cb440fc77607b954 + limb3: 0x9cd8b42cb440fc77607b954, }, r1a1: u384 { limb0: 0xd35f7d36be1bf213c01aba98, limb1: 0x655bc51b43c6394245778244, limb2: 0xd626d74e22844c1a8e2cc950, - limb3: 0x28c4b291b492ca43266277d - } + limb3: 0x28c4b291b492ca43266277d, + }, }, G2Line { r0a0: u384 { limb0: 0xfc9082f258930992ee9bf761, limb1: 0x25180c08fdde19200beedd44, limb2: 0xc756fce25d6036e074aefc7e, - limb3: 0x7d15791c8dae11ef3f925f2 + limb3: 0x7d15791c8dae11ef3f925f2, }, r0a1: u384 { limb0: 0x4e583c6a2d448a423dbdf113, limb1: 0x9ba1612b6d352bf5ce49bc71, limb2: 0x351d8295b8c7a5bc97d6f32f, - limb3: 0x2b7203697312b8ecf30eb04 + limb3: 0x2b7203697312b8ecf30eb04, }, r1a0: u384 { limb0: 0x356ba3cff7bdc33fc3b23217, limb1: 0xe25f4f3ce36e7bd6de98a7c, limb2: 0x217dca629473abb6c457c67b, - limb3: 0x104fd19f688af37eb9fd0d17 + limb3: 0x104fd19f688af37eb9fd0d17, }, r1a1: u384 { limb0: 0xd2ba6cc56638c175356a56da, limb1: 0xac2ab9c65110ca454592199, limb2: 0x87b1ec93cb67f7b775213e56, - limb3: 0x102d4a4c73948b8b8ab0444e - } + limb3: 0x102d4a4c73948b8b8ab0444e, + }, }, G2Line { r0a0: u384 { limb0: 0xabb764ac8036eb503e39861f, limb1: 0x22e8fa738389a0378352e2d2, limb2: 0xab10fb803ca53103ce99fc28, - limb3: 0x831ad8b93ffed9245877b44 + limb3: 0x831ad8b93ffed9245877b44, }, r0a1: u384 { limb0: 0xf721e83ab0eb9fa28b5d9349, limb1: 0x71c18646ef565689efc545c0, limb2: 0x590ec1d6f3abfbdb3f9f8b0d, - limb3: 0x17707d0e47e7a1044a4fd9c6 + limb3: 0x17707d0e47e7a1044a4fd9c6, }, r1a0: u384 { limb0: 0x16d0a838f9b0fc16504dd27, limb1: 0x5ad87ce7ad12ae830368b776, limb2: 0x62490899b4f397e09c44152f, - limb3: 0x15528a389da1580f43d95ade + limb3: 0x15528a389da1580f43d95ade, }, r1a1: u384 { limb0: 0xa715dcbb03bc2faac9d64bc7, limb1: 0xbd9b3ab159baa441a3ff56ad, limb2: 0x257f876f487a6dab4fa17c81, - limb3: 0xecfcaeb005ca1b7f92bf862 - } + limb3: 0xecfcaeb005ca1b7f92bf862, + }, }, G2Line { r0a0: u384 { limb0: 0x84bef2ae28f4fb378ec1eeb6, limb1: 0x1189e835406150f7fbe047cd, limb2: 0x8d7fa056d5bff703455219b9, - limb3: 0x17b55cffc9c559918a9ffbca + limb3: 0x17b55cffc9c559918a9ffbca, }, r0a1: u384 { limb0: 0xbcd55d1a045238c11947faae, limb1: 0xfddd35b7f062ea97fa82612f, limb2: 0x73dbd0a4863e8634338c4c3, - limb3: 0xfd6b167fe3d1476b5da9dfe + limb3: 0xfd6b167fe3d1476b5da9dfe, }, r1a0: u384 { limb0: 0xbcf99cf3772f639491c9a228, limb1: 0x1f8ca8645ecbeb98bb9ff5ae, limb2: 0x82f62cc92f240ff8bc4fca5, - limb3: 0x6b4211c4d1b18ea0c5a5e4c + limb3: 0x6b4211c4d1b18ea0c5a5e4c, }, r1a1: u384 { limb0: 0xe60a226e7c7d83e720ce3f23, limb1: 0xe357a6f93412eb508cc034c3, limb2: 0x532ca9a4ca346dd2e0913328, - limb3: 0xae125a2c4b74ea5caf9317f - } + limb3: 0xae125a2c4b74ea5caf9317f, + }, }, G2Line { r0a0: u384 { limb0: 0x81c96089bfd7744eef34464e, limb1: 0x37583018d3364f85efd0c5ec, limb2: 0x20c144a0d93e6ccdc66c38ae, - limb3: 0x9751fa26963b775df8f3962 + limb3: 0x9751fa26963b775df8f3962, }, r0a1: u384 { limb0: 0x5c8323716b77fe057a8cb7ba, limb1: 0xc82e11ccf5b11d49ed4b32b0, limb2: 0xe56585a0b82123c633345703, - limb3: 0x13f124a0518f365218b1a009 + limb3: 0x13f124a0518f365218b1a009, }, r1a0: u384 { limb0: 0xa093dab7e233ac8439570651, limb1: 0xd901c2049a6a54c71e11808a, limb2: 0x1e692509d6d11c02341d4d0c, - limb3: 0x12fb44f950a81879a6c0334c + limb3: 0x12fb44f950a81879a6c0334c, }, r1a1: u384 { limb0: 0x4c6dfaea5424692f1a1e29d2, limb1: 0x5abec8e383520c70a53a980e, limb2: 0xd1285ddbd456d6b3671ea61c, - limb3: 0xbe7bde925a4027b9de0a86e - } + limb3: 0xbe7bde925a4027b9de0a86e, + }, }, G2Line { r0a0: u384 { limb0: 0xcee35811d6215a2f4fbcca7e, limb1: 0x87a9f5ffd94e460a020bdc94, limb2: 0x7b4027d6083e7b569c7b1c5b, - limb3: 0xfc0537dcd5dd9e6b1ad6751 + limb3: 0xfc0537dcd5dd9e6b1ad6751, }, r0a1: u384 { limb0: 0xf9d48875a4a0ea5b6dc1ccf, limb1: 0x25cc4de42d310d432c6d742a, limb2: 0x6ee89fc1eee14096b8eaced3, - limb3: 0x1796255a42c0c51c278aec7a + limb3: 0x1796255a42c0c51c278aec7a, }, r1a0: u384 { limb0: 0x25a248f2439f04533e64d80f, limb1: 0x98efa1a63ae245d749997366, limb2: 0x475443b9af6f362e8d49e2f3, - limb3: 0xcac2920de98589be71736c8 + limb3: 0xcac2920de98589be71736c8, }, r1a1: u384 { limb0: 0x7f87ae7bb3fbc7cd3298c3a8, limb1: 0x3a353e1542c8d7044c554347, limb2: 0x582f0c10eae19c9dbdd6b54e, - limb3: 0x143d3dbcf094964341111145 - } + limb3: 0x143d3dbcf094964341111145, + }, }, G2Line { r0a0: u384 { limb0: 0x9c4a4d3c7bb2576aeac0337b, limb1: 0x8b9250b2bed82359a757e126, limb2: 0x2d7dd2e4d3d0945ac3d9cb88, - limb3: 0xa0bad126c265d46d51689b7 + limb3: 0xa0bad126c265d46d51689b7, }, r0a1: u384 { limb0: 0xf65a98dff64d2a0fc947454f, limb1: 0xa50259b7484098611c2cb9fd, limb2: 0x5a51b1c4671888accdca74af, - limb3: 0x133a4335f59c0259f1a3ff19 + limb3: 0x133a4335f59c0259f1a3ff19, }, r1a0: u384 { limb0: 0xdde88be699f516d731c68610, limb1: 0xce004ded1806688e8e7c458a, limb2: 0x932f3c1c8e56d4b9f19eb7e9, - limb3: 0x124f291f47d76455477102fe + limb3: 0x124f291f47d76455477102fe, }, r1a1: u384 { limb0: 0xa97c633609d63d754d4a2692, limb1: 0x3c5ba5df2f9bb1cdcfb55e97, limb2: 0x19aa69b7f4751e5e39459c7e, - limb3: 0x3f5780b2dcaccad745e1d15 - } + limb3: 0x3f5780b2dcaccad745e1d15, + }, }, G2Line { r0a0: u384 { limb0: 0x176b393abcd0ce4e1a0abfe6, limb1: 0xa27e43c4813e25e3825d4305, limb2: 0xa2b625e708805f3d8329056e, - limb3: 0xbe9471b1fa793d178fafaa5 + limb3: 0xbe9471b1fa793d178fafaa5, }, r0a1: u384 { limb0: 0x8772f1e72349ac1c28dd93f1, limb1: 0x7f3ca6e092edc430dfdae0d4, limb2: 0x99aea3d3180417f157e0a1d5, - limb3: 0x107589eb5f841423b30267db + limb3: 0x107589eb5f841423b30267db, }, r1a0: u384 { limb0: 0x6f3192c426a15b366fd68e0c, limb1: 0xa09c70b764bac8ec13b8e84c, limb2: 0x9f4166c3a19ec3bade0deeba, - limb3: 0x113ef2d7612b466865ed0d14 + limb3: 0x113ef2d7612b466865ed0d14, }, r1a1: u384 { limb0: 0xf51d41ee3760589f1a38cb60, limb1: 0x8366651516bb0321ba4e5071, limb2: 0xcc73dc7bd0438d3fc3993c27, - limb3: 0xcddb0e17a1abc6f8779d547 - } + limb3: 0xcddb0e17a1abc6f8779d547, + }, }, G2Line { r0a0: u384 { limb0: 0xdd3830612c58d544327ca0f0, limb1: 0x1142cd575c788d8d19a24ba9, limb2: 0x45ea7f0421cb2dd4e5b4ed7b, - limb3: 0xfb69c6a2cbfc9dfb9b01427 + limb3: 0xfb69c6a2cbfc9dfb9b01427, }, r0a1: u384 { limb0: 0x875ab3c75d3a4e43d10b2503, limb1: 0xf7cee1313a095fe9e31b7072, limb2: 0xe85be88d689d67e6e9835268, - limb3: 0x10635d3a601f92ab21801ab8 + limb3: 0x10635d3a601f92ab21801ab8, }, r1a0: u384 { limb0: 0x9eb9ef4ae7e0f7713d97450c, limb1: 0x8dfc81038830750d79da8b26, limb2: 0xc17475937901d8cadba451ca, - limb3: 0x6f9f723841ae3e1a88c34f4 + limb3: 0x6f9f723841ae3e1a88c34f4, }, r1a1: u384 { limb0: 0x71e84e872166781dda7182bc, limb1: 0x9dde7059d6c002a7f762da96, limb2: 0x2b9353ca4892a788389ca0fd, - limb3: 0xd413552182113308d1bf463 - } + limb3: 0xd413552182113308d1bf463, + }, }, G2Line { r0a0: u384 { limb0: 0x3d43ae9828f4d7d32e67b5b, limb1: 0xc911d37f003edcf2ffc8c9fa, limb2: 0x6c001f16c0f2e789787cbf46, - limb3: 0x77e0463d05f6290d05e7dfd + limb3: 0x77e0463d05f6290d05e7dfd, }, r0a1: u384 { limb0: 0x2ec1174f60371df515bea212, limb1: 0xaa40ca6330076c4664c991be, limb2: 0xaf5afb2da2bbd96b3b9faaf4, - limb3: 0x5aebe5e1b60777fd8bcbd90 + limb3: 0x5aebe5e1b60777fd8bcbd90, }, r1a0: u384 { limb0: 0x8d11d501bb6fd58ab12db0a6, limb1: 0x789e3289a146ee25ee0a86eb, limb2: 0x8c876d8e1b63dbfcc9427e3c, - limb3: 0xd8ed1716d646a39571c3cef + limb3: 0xd8ed1716d646a39571c3cef, }, r1a1: u384 { limb0: 0x52421b90854ae1be38c267b8, limb1: 0x50070ae589f60e3c6b251b88, limb2: 0xeff601c6612d2135059bce20, - limb3: 0x15001445b3ca05704edef7b7 - } + limb3: 0x15001445b3ca05704edef7b7, + }, }, G2Line { r0a0: u384 { limb0: 0xcc1f58585e1d7b5bd45c4c1f, limb1: 0x745110cbba12e028cd54150c, limb2: 0x2ce6cbed2508c5d828082677, - limb3: 0x28a36f542a28f6997a811fc + limb3: 0x28a36f542a28f6997a811fc, }, r0a1: u384 { limb0: 0x541d567dcc7fbea97520cd94, limb1: 0x65d407bf06f076619981fe2e, limb2: 0xd583e9bfd967becef21bf75f, - limb3: 0xac2c40f46751f043fe2833b + limb3: 0xac2c40f46751f043fe2833b, }, r1a0: u384 { limb0: 0x92c58aae975c98038f79305, limb1: 0x7d1ce0079826b8902c5d46d3, limb2: 0xf99d7ba5cb12513a32fb5eec, - limb3: 0x7cc8363ce478f6d8f184c26 + limb3: 0x7cc8363ce478f6d8f184c26, }, r1a1: u384 { limb0: 0x8397c406c8e69df7b1cea699, limb1: 0x4a543e21f4fd830fab085fcf, limb2: 0x25a94f2ddc7a920fd1361d5b, - limb3: 0x16a2f7057acf7d7df785557d - } + limb3: 0x16a2f7057acf7d7df785557d, + }, }, G2Line { r0a0: u384 { limb0: 0x87937770aff1215b3c8aa2ef, limb1: 0x7af4729d092f8c530e0d5d53, limb2: 0x72dceca83166ae9b74e474e3, - limb3: 0xe4dab5809b2b1b131aea3fc + limb3: 0xe4dab5809b2b1b131aea3fc, }, r0a1: u384 { limb0: 0x149aba7a16585e9fbdfde171, limb1: 0x272eab65584693c7f1473254, limb2: 0x7ab33331899bbd8cf6d0eb1a, - limb3: 0x1a698cde3793a423932d0f1 + limb3: 0x1a698cde3793a423932d0f1, }, r1a0: u384 { limb0: 0xc1206df604eca5f7f500aaa0, limb1: 0xdd96a086a731b8db0ce56191, limb2: 0x65310d5aa0d6051cd1892f3d, - limb3: 0xae6c26b6f048aaa9fb89d4e + limb3: 0xae6c26b6f048aaa9fb89d4e, }, r1a1: u384 { limb0: 0x32d38f22f61a778309b0d9d5, limb1: 0x6e22b0d5bae04b5bcc4f1200, limb2: 0xc486b7747b268b5e4e7c5e50, - limb3: 0x1932e2f6edad976aba23c400 - } + limb3: 0x1932e2f6edad976aba23c400, + }, }, G2Line { r0a0: u384 { limb0: 0xf8c9e8b4405badfa94226735, limb1: 0xe35370c03766b0439ba9bc0c, limb2: 0xefd8d2d0063990aea5570748, - limb3: 0x125e8f976f7536a2e85ea3cf + limb3: 0x125e8f976f7536a2e85ea3cf, }, r0a1: u384 { limb0: 0x8f2d3d1bd687824c71ce27fa, limb1: 0xd5946aef2f36a4cb42aee9b, limb2: 0xce15918bb8dbd901b9685864, - limb3: 0xc0299d504b8b7bb5ff23b7f + limb3: 0xc0299d504b8b7bb5ff23b7f, }, r1a0: u384 { limb0: 0x9a63e8f36e7127f93b5fab1e, limb1: 0x52d9ab603e72bca7b8fc5284, limb2: 0x8f734c44e7ba040f4a30952b, - limb3: 0x1478222c63826742286f720 + limb3: 0x1478222c63826742286f720, }, r1a1: u384 { limb0: 0x57fd0e62234f512c20e97da2, limb1: 0x876dd44c8838d26ecfad71b0, limb2: 0x9c591e15eb6492035916a674, - limb3: 0x13830268b58006ff03775156 - } + limb3: 0x13830268b58006ff03775156, + }, }, G2Line { r0a0: u384 { limb0: 0x3f1a504c2ca77f19997e6f9e, limb1: 0xc0280e01fb002d9cf729292a, limb2: 0x94b16f0117372c50814ed689, - limb3: 0x93fcabcbff9725332fceca8 + limb3: 0x93fcabcbff9725332fceca8, }, r0a1: u384 { limb0: 0x640748b204326bc404360efa, limb1: 0xcd8d364f90ded1150e8a1cbd, limb2: 0x5bfd4271d8985fc5165ac886, - limb3: 0x808eccc45ff3c8d95d12bdf + limb3: 0x808eccc45ff3c8d95d12bdf, }, r1a0: u384 { limb0: 0xc3ddbc8776cf4adad76e60c2, limb1: 0xa4d94ec522c73e9132d0828f, limb2: 0xcdc071c7519d2add39a87784, - limb3: 0x999ac8cb855c030ea4823ff + limb3: 0x999ac8cb855c030ea4823ff, }, r1a1: u384 { limb0: 0x87d3939873b4d0b73bebc618, limb1: 0x477c4bd9edf9b8d0a6814448, limb2: 0xc4785670713282577ce1b06f, - limb3: 0xcbb49b77bbb8dfff876c014 - } + limb3: 0xcbb49b77bbb8dfff876c014, + }, }, G2Line { r0a0: u384 { limb0: 0x5863cf017f4f31c0054a3612, limb1: 0x5a1ef8d1d2c315dd8bc6212, limb2: 0xe33ed175b6d1a029dda7c9aa, - limb3: 0x182115eb42220d34f08e487d + limb3: 0x182115eb42220d34f08e487d, }, r0a1: u384 { limb0: 0xb90bfad204b39a3cbcac7b4, limb1: 0x73b8d9e10bc6022a0994e39a, limb2: 0x7f5daebc21a409de8913242d, - limb3: 0xfc2db9cb25d08faf7c832 + limb3: 0xfc2db9cb25d08faf7c832, }, r1a0: u384 { limb0: 0x26d0221ad0d5ae39d7d33a8, limb1: 0xbae8e0d584ccaa52aeab179, limb2: 0x59de453ae38340185debc29f, - limb3: 0xc5a021a1d3134aa31cb39ed + limb3: 0xc5a021a1d3134aa31cb39ed, }, r1a1: u384 { limb0: 0x7472a64d3fccc64229059166, limb1: 0x361a6711e93f12f3d1cb0320, limb2: 0x6bf192bb96314516f10b7449, - limb3: 0xcaf028327c4bc3f8af13387 - } + limb3: 0xcaf028327c4bc3f8af13387, + }, }, G2Line { r0a0: u384 { limb0: 0xeb0944547700f042e0e585e6, limb1: 0xcb54fa1bd3a22b31e146eba9, limb2: 0x7f8b0b22ccce3ab5d4c4a6c2, - limb3: 0x8db684ceb39ca0328b9483d + limb3: 0x8db684ceb39ca0328b9483d, }, r0a1: u384 { limb0: 0x4160e63c5da74cdf92293b93, limb1: 0xcaca05d0a73b8498b9a903a0, limb2: 0xd515d294c426597840e358b6, - limb3: 0x13f4bc5ec404f999bb87d398 + limb3: 0x13f4bc5ec404f999bb87d398, }, r1a0: u384 { limb0: 0x6b103da093cfc45f10c1717e, limb1: 0x5adae0ed434b279585a01644, limb2: 0x8713ed279b4ef038593b6ff2, - limb3: 0xc1283b57d9bf775bac4baf + limb3: 0xc1283b57d9bf775bac4baf, }, r1a1: u384 { limb0: 0xf0902dcb78708b121be9c5e5, limb1: 0xe54c2b77058ade926b8d6d31, limb2: 0x8ff0eb114bc9ab91b267f33a, - limb3: 0x3bb58ab0df4567eb62c2fb8 - } + limb3: 0x3bb58ab0df4567eb62c2fb8, + }, }, G2Line { r0a0: u384 { limb0: 0xd53473f5ac7b5e99de412ea4, limb1: 0xf6c216059e7a2a6b1a09d23c, limb2: 0x5de59d8956f5a84da299063e, - limb3: 0x159ff2806d40ff15099d5204 + limb3: 0x159ff2806d40ff15099d5204, }, r0a1: u384 { limb0: 0xfdccb0d7c9716c23df3ced8f, limb1: 0x14e4ca22ebdbc559a20177, limb2: 0x5b60b25f325eb68e4cbd45d, - limb3: 0x69a7d5ac5a38cce584e0b0f + limb3: 0x69a7d5ac5a38cce584e0b0f, }, r1a0: u384 { limb0: 0x903bac45b703185c327d9669, limb1: 0xe524dad4130c677c5a3b0f31, limb2: 0x11518ec180b31fd2f516e8b1, - limb3: 0x29448dd80ce3c75c8b0d685 + limb3: 0x29448dd80ce3c75c8b0d685, }, r1a1: u384 { limb0: 0x134286c732f95142935a2a98, limb1: 0xc493200ca6cd119550bafdd3, limb2: 0x7008cba4cae32054d22edea4, - limb3: 0x15da5ffa50e36869f0f2ac43 - } + limb3: 0x15da5ffa50e36869f0f2ac43, + }, }, G2Line { r0a0: u384 { limb0: 0xe5d3fc39844c4e589e7eb492, limb1: 0xb684f2aca8ad6c2ad9ccb7b8, limb2: 0xf0b5af70fc13951f7f39d7df, - limb3: 0x16d3fc0506ddb9ebfdb25df6 + limb3: 0x16d3fc0506ddb9ebfdb25df6, }, r0a1: u384 { limb0: 0xdd6f7e7bd7a0a9950245a69c, limb1: 0x3b1450c65c42587028404440, limb2: 0x3254fe16f1c0a3448b21df94, - limb3: 0xa6be2d559107c2bc483a8f + limb3: 0xa6be2d559107c2bc483a8f, }, r1a0: u384 { limb0: 0xbddf678368c48a8e85f5c779, limb1: 0x41200c401f8eab124f7a1368, limb2: 0x42f89ddb63ec260743821878, - limb3: 0xb89fcbcdafbf02998d7d39c + limb3: 0xb89fcbcdafbf02998d7d39c, }, r1a1: u384 { limb0: 0xdf81c700b8bbb46d56e45aba, limb1: 0xafff8fb495808b125943f958, limb2: 0x781365baaf374f6c695e0135, - limb3: 0xb9f91a65aebc5ddd1c03eee - } + limb3: 0xb9f91a65aebc5ddd1c03eee, + }, }, G2Line { r0a0: u384 { limb0: 0x5edf9450f71e9104f1c374e9, limb1: 0xcfd112580006deba5077fd8a, limb2: 0x289c80bcf75761bc030bda9d, - limb3: 0x142182d337d4bdd0a9dc0152 + limb3: 0x142182d337d4bdd0a9dc0152, }, r0a1: u384 { limb0: 0xe3f1affdcbbd3809a6881f8e, limb1: 0x55f40359611c687f96c91dbe, limb2: 0xb90435a9e7260873c34a0cd4, - limb3: 0x113f465ca312058e0cd541d6 + limb3: 0x113f465ca312058e0cd541d6, }, r1a0: u384 { limb0: 0x85f3a8c5d4928087f1ef8229, limb1: 0x62e48188da4d79f1a88f24ba, limb2: 0x58691c7e87e7ecb6e855a469, - limb3: 0x25bacfd7256f159ca3eb0e5 + limb3: 0x25bacfd7256f159ca3eb0e5, }, r1a1: u384 { limb0: 0xfc830160c50a4b17a2dde63b, limb1: 0x1bf46813a25e8e58ff928d53, limb2: 0xe63b74e85e2032c28808627d, - limb3: 0x9e218f143196d00fadb36c6 - } + limb3: 0x9e218f143196d00fadb36c6, + }, }, G2Line { r0a0: u384 { limb0: 0x12d7f5c02580ec2a4ba0a629, limb1: 0x1ca40d1ec830247ff1341e78, limb2: 0x593e73ea84eba1c996c852c3, - limb3: 0x84ab3d52609f5caf813d26f + limb3: 0x84ab3d52609f5caf813d26f, }, r0a1: u384 { limb0: 0xdc2b9a2a9b72f187cb411858, limb1: 0x90c4f86b4683bec50d580ed, limb2: 0x5ba5198fcbb94aa3717bd5c2, - limb3: 0x5236a5b01a4fd2c95dbe588 + limb3: 0x5236a5b01a4fd2c95dbe588, }, r1a0: u384 { limb0: 0xdd048a19481a00e4f3165462, limb1: 0xe828205548a806450d618e75, limb2: 0x9ee5b67676d457e228884f60, - limb3: 0x128250d867da43f6fb557d16 + limb3: 0x128250d867da43f6fb557d16, }, r1a1: u384 { limb0: 0x906239db66fe95321faa08f5, limb1: 0xd546336aeca0472ea130a9b7, limb2: 0x70ac85b42ab50da2baf4dd17, - limb3: 0xaaaf2e3d7a2240eb213f3fa - } + limb3: 0xaaaf2e3d7a2240eb213f3fa, + }, }, G2Line { r0a0: u384 { limb0: 0x2639eca99f5b1f6e6d095faa, limb1: 0x7322d2c5cd33e33d6fd2e0ca, limb2: 0x1c7bca0054ff60c0db156676, - limb3: 0x10933118bcf1940615957a6c + limb3: 0x10933118bcf1940615957a6c, }, r0a1: u384 { limb0: 0x43e0d74cf14359d83cc60326, limb1: 0x3d49af8c8914a76283667614, limb2: 0xc090bf9a071c2af83528b361, - limb3: 0x14ef91f0b47d2bf1313ba159 + limb3: 0x14ef91f0b47d2bf1313ba159, }, r1a0: u384 { limb0: 0xe45466ca7f8b6f5920570127, limb1: 0x1554654b09b57871c2ba8a9b, limb2: 0xf66b8bb3a005585c18db86b0, - limb3: 0xd28c63f8635e2ca59c7dc45 + limb3: 0xd28c63f8635e2ca59c7dc45, }, r1a1: u384 { limb0: 0xdc559ff81728e932b3c79d12, limb1: 0xec4893ef0a2c9367a4d736d6, limb2: 0x8b0a21bcded904e222dbf14b, - limb3: 0x8c51553f23145b85ca33fbe - } + limb3: 0x8c51553f23145b85ca33fbe, + }, }, G2Line { r0a0: u384 { limb0: 0x47c09068a72c1519575654f5, limb1: 0x2f216b499e363f8bccb9b68d, limb2: 0x8d117e630991ed6543c83bbf, - limb3: 0xece81448505f80c199eedf2 + limb3: 0xece81448505f80c199eedf2, }, r0a1: u384 { limb0: 0x5cfdb49df58c7449bb4d119a, limb1: 0xc86b91022e40b847d4ca6067, limb2: 0xb745a4c4e9730ab196797891, - limb3: 0x853f0c583c651c57bdd903d + limb3: 0x853f0c583c651c57bdd903d, }, r1a0: u384 { limb0: 0xfac548de6238b1c07e9c8d34, limb1: 0xda71dff567e93e8a1d7d33c0, limb2: 0xc9cefb30737b47af261ab581, - limb3: 0xbdcd5f00d079c1a871baeba + limb3: 0xbdcd5f00d079c1a871baeba, }, r1a1: u384 { limb0: 0xb52005aa240ff1c85f7c18bd, limb1: 0x435d4c338a9db0fdeadbff48, limb2: 0x1a3008b87a1d6a2d1d12b9b3, - limb3: 0xf4835d66a5b1c168f6371bb - } + limb3: 0xf4835d66a5b1c168f6371bb, + }, }, G2Line { r0a0: u384 { limb0: 0x7a3deb7872768f839060087e, limb1: 0xae5017af4c09ed67c5c2e525, limb2: 0xef2bbb3e118498031e2471f, - limb3: 0x5cf357e8473bba00386d238 + limb3: 0x5cf357e8473bba00386d238, }, r0a1: u384 { limb0: 0x3b373a0d0a649113f5c7b2fe, limb1: 0xa3913baa2c3f8f7499ac76a6, limb2: 0x425aed5972aa5f4b4d21ffc7, - limb3: 0x82938f41814229b1224b32b + limb3: 0x82938f41814229b1224b32b, }, r1a0: u384 { limb0: 0x5b130ec9295aaeb79868e7d6, limb1: 0xda6c9ffb04ff597a83b36114, limb2: 0xc09586dc17dbca59627bbce4, - limb3: 0xd8431f93c66d78cf5b81228 + limb3: 0xd8431f93c66d78cf5b81228, }, r1a1: u384 { limb0: 0xe35d56023ffa020c373e6d85, limb1: 0x22972df9b6181d6397c5ee58, limb2: 0x933a967160fc487717775d67, - limb3: 0x19c24474e43b997ab5364a65 - } + limb3: 0x19c24474e43b997ab5364a65, + }, }, G2Line { r0a0: u384 { limb0: 0xab4a47c9e460a6ab079bc9f4, limb1: 0xa52d15592f6e629c8ed4e221, limb2: 0x6770a2fbfd963ac4ba4c7711, - limb3: 0x176bfba99edfa7e6ea9b4180 + limb3: 0x176bfba99edfa7e6ea9b4180, }, r0a1: u384 { limb0: 0x75096b535e73515e0077950, limb1: 0x4e543e3117b31ed795fc87bc, limb2: 0x3c61b46cdb8ec4196b82a6c6, - limb3: 0xe180fc0b5335f6b7320f37 + limb3: 0xe180fc0b5335f6b7320f37, }, r1a0: u384 { limb0: 0x6906e7b73a18fc659f673646, limb1: 0xbf5b4487d46103b30587303e, limb2: 0x8674cc39b5d030003362b6e5, - limb3: 0x11d1e6708ce7fc3ee159cced + limb3: 0x11d1e6708ce7fc3ee159cced, }, r1a1: u384 { limb0: 0x99596ab37e2a0986bcf42bb7, limb1: 0x1a88d084e06ac121ef049a81, limb2: 0xd0de51ee3dda5694d8704419, - limb3: 0x18c7467be5ba537fff691007 - } + limb3: 0x18c7467be5ba537fff691007, + }, }, G2Line { r0a0: u384 { limb0: 0x6acbdd11b2e3bf3c4e9a8fc7, limb1: 0xa65c7c83d9e863106be2e6e, limb2: 0xba622ef466154b88c6206dc0, - limb3: 0x13847679c97ef8978b3f64c9 + limb3: 0x13847679c97ef8978b3f64c9, }, r0a1: u384 { limb0: 0xa29270a27fe8eff7ff52747, limb1: 0x1b86d1ea5e2cb0e565695293, limb2: 0x5d46595304e94133e1524dc4, - limb3: 0x5c65be3c6a8b37e95aaa472 + limb3: 0x5c65be3c6a8b37e95aaa472, }, r1a0: u384 { limb0: 0x4c113034a2b4e8c08494656, limb1: 0x113bdfa06dc6105f0cee337c, limb2: 0x5ab2297e7c609e4044c01f70, - limb3: 0xe5ba46e7903db0416c5e85d + limb3: 0xe5ba46e7903db0416c5e85d, }, r1a1: u384 { limb0: 0x1af25f25f85e2fe5769d4db0, limb1: 0xc25dd758f010619bdce139cb, limb2: 0x539682ada1e9af81af49cbb4, - limb3: 0x63c25d8d6ffab7a17da8252 - } + limb3: 0x63c25d8d6ffab7a17da8252, + }, }, G2Line { r0a0: u384 { limb0: 0xd9bfc7bee1ea2c4b44bdf384, limb1: 0xcae101c36024fea8c88acb5, limb2: 0x5442f686fb8c7e3cd159699e, - limb3: 0x81a70f202f8c7a9ab6ac16e + limb3: 0x81a70f202f8c7a9ab6ac16e, }, r0a1: u384 { limb0: 0xf79e89f10551862af2ab4d, limb1: 0x9ef28d1b3d37544d0c5c2b63, limb2: 0x10755eab03732c2d03d477cf, - limb3: 0xc230221d279a52930a327ec + limb3: 0xc230221d279a52930a327ec, }, r1a0: u384 { limb0: 0x4909e0184d0d6a6e27087c3e, limb1: 0x867ff3844dd99659a6660bc1, limb2: 0x63a84310b08ecb9919f0f41, - limb3: 0x72f48e980ebef31c44fe110 + limb3: 0x72f48e980ebef31c44fe110, }, r1a1: u384 { limb0: 0xed834e1b94dfdd91c8d4311d, limb1: 0xe0efd3a3e73341c128668e23, limb2: 0xad8f2be3d52a01168b375d5d, - limb3: 0xa34b7e1dee43f4de567f3e3 - } + limb3: 0xa34b7e1dee43f4de567f3e3, + }, }, G2Line { r0a0: u384 { limb0: 0xee48f089c7a4594a201092eb, limb1: 0xc9d8a7b7d87389e25b856b97, limb2: 0x74d54bf4748e38d3b2c782b3, - limb3: 0x78af2f8549231aa92bba1b3 + limb3: 0x78af2f8549231aa92bba1b3, }, r0a1: u384 { limb0: 0x61acc46ca422be84be4fee75, limb1: 0xf425406455688e07fe496eb2, limb2: 0x1151b627d67176b268c6b18b, - limb3: 0x157a7e87571314c4eeffcc64 + limb3: 0x157a7e87571314c4eeffcc64, }, r1a0: u384 { limb0: 0xd95d245c747804a8f3bd59ab, limb1: 0xb3c7108b5d8ce6d797a8ab29, limb2: 0x452fc047d47ec02830b1b9c1, - limb3: 0x12ea35020ddc17232447b57c + limb3: 0x12ea35020ddc17232447b57c, }, r1a1: u384 { limb0: 0xb027d5b2037b8170fb63b93a, limb1: 0xf317c06fee2a5ef8113fd9d3, limb2: 0xdd1a58fc8de1d70f065c435c, - limb3: 0x11d55ce218987319447cc925 - } + limb3: 0x11d55ce218987319447cc925, + }, }, G2Line { r0a0: u384 { limb0: 0xed2bfa7ce99d4f69b850d09c, limb1: 0x5efc2ec9bfecf49ff6bd1417, limb2: 0xf733724aff4a909b6a9579c4, - limb3: 0x129d26f7087d748c81d164c8 + limb3: 0x129d26f7087d748c81d164c8, }, r0a1: u384 { limb0: 0x4fe6ed09a9ce55efa63b7173, limb1: 0xacdf286e6dda680bd7f43d82, limb2: 0x157ceffdd1328af6f6e5b95c, - limb3: 0x160cbfb08a54af89dfeb868a + limb3: 0x160cbfb08a54af89dfeb868a, }, r1a0: u384 { limb0: 0x4ec774d0354010b5e861fe21, limb1: 0xe9ed591725d9834344f2c119, limb2: 0x6381097476472bf91dd79d7, - limb3: 0xd2c74ef03918d458f67a780 + limb3: 0xd2c74ef03918d458f67a780, }, r1a1: u384 { limb0: 0x818639c9a397b4bf6f38e3d3, limb1: 0xa7c0dbcc3c17ee84d28afb8e, limb2: 0xe2e3c55da00c29aaff4a0571, - limb3: 0x13b5dbdad3c6aeb8219944e7 - } + limb3: 0x13b5dbdad3c6aeb8219944e7, + }, }, G2Line { r0a0: u384 { limb0: 0x1b9ff207335fcb7b28f48654, limb1: 0xaa059fc26f53a4b15d861e5d, limb2: 0x7409e84a31ef57e217e3d45d, - limb3: 0x8f022244af0b719146e8cfb + limb3: 0x8f022244af0b719146e8cfb, }, r0a1: u384 { limb0: 0x1fa9d79eb0320e586c2d096a, limb1: 0x8fde2d5c9ef41c1612865896, limb2: 0xec88b9f86c99799b380ebac9, - limb3: 0x72c117c18b8dfa89321c27c + limb3: 0x72c117c18b8dfa89321c27c, }, r1a0: u384 { limb0: 0x4570eb295684cad19e7cfded, limb1: 0x2e204f8114c805f866cca868, limb2: 0xba0509fc0eea7cc65c8b3dee, - limb3: 0xc7c1e717bb7b078054d3851 + limb3: 0xc7c1e717bb7b078054d3851, }, r1a1: u384 { limb0: 0x25eb9fba51d76d2292c1e2bf, limb1: 0xa43de47dba6db4c3e5c3d8b8, limb2: 0x365ea08af8998db774b8b61e, - limb3: 0x6367ffd71d3c44095424fc7 - } + limb3: 0x6367ffd71d3c44095424fc7, + }, }, G2Line { r0a0: u384 { limb0: 0xbc6935d4f6d5d4aa0ec642b, limb1: 0x1d6e2d4d9106b5ecff982a66, limb2: 0x5e8531cb5f36f807288638c1, - limb3: 0xa7631b901291f87b31ffb35 + limb3: 0xa7631b901291f87b31ffb35, }, r0a1: u384 { limb0: 0x65c64711fddc1f635ae6e574, limb1: 0x9e9ea3a84804bd3fb56c4c1e, limb2: 0x91aa460ccbc52472b90ce0b3, - limb3: 0x13b3c25d2edef40f806ef614 + limb3: 0x13b3c25d2edef40f806ef614, }, r1a0: u384 { limb0: 0x9b3f8b6844ada64077c6dc45, limb1: 0x78a3cdbb5ad78183e72572d, limb2: 0x34763f876de5f0004af6d3b9, - limb3: 0x148f019d0a59b993e259d612 + limb3: 0x148f019d0a59b993e259d612, }, r1a1: u384 { limb0: 0x95843db564a4b5a94a1b14c4, limb1: 0x832d5ca2f0420c55f9007f4a, limb2: 0x56047bf28b726775ad1f126a, - limb3: 0x13283203fb6b13b007258900 - } + limb3: 0x13283203fb6b13b007258900, + }, }, G2Line { r0a0: u384 { limb0: 0xd8934218abbe5eda42e0374, limb1: 0x4efa70797ab04d5777f18cae, limb2: 0x657bd72dc32622552c01c3a1, - limb3: 0x86675ec3781ecc255b9b8f + limb3: 0x86675ec3781ecc255b9b8f, }, r0a1: u384 { limb0: 0xdb3cdd784259d6f00a05188, limb1: 0x4d7d18f24dc5139d8829c6be, limb2: 0x9067fb6cb2810aa19e5e838d, - limb3: 0x99b7b955ea60c02306dd019 + limb3: 0x99b7b955ea60c02306dd019, }, r1a0: u384 { limb0: 0x9569e6a9a6dfc936dc66c37d, limb1: 0x8ce5600bf62265cce1600d14, limb2: 0xe437be1358f94ae1da7ba693, - limb3: 0x26001dbd81fb98024703f0a + limb3: 0x26001dbd81fb98024703f0a, }, r1a1: u384 { limb0: 0x38347efb475ef26461922ce8, limb1: 0x434f13930fd2a42336fc5a71, limb2: 0xa611a973d0bf99e3535651af, - limb3: 0xf623d241cf8d903d2d48305 - } + limb3: 0xf623d241cf8d903d2d48305, + }, }, G2Line { r0a0: u384 { limb0: 0x1bcaf5fed0bbcd1a934472b1, limb1: 0xbd468b117d710b48e9e33679, limb2: 0x705c11550a052c1bb8ccc4ea, - limb3: 0x6f15de535822689ea86e65e + limb3: 0x6f15de535822689ea86e65e, }, r0a1: u384 { limb0: 0x95d3b31c7228eccaeaf12838, limb1: 0xa92a1590da11c257350bbf1f, limb2: 0xd4e2202f05265990a6557be7, - limb3: 0x11f8c21a8309afd4c60ea316 + limb3: 0x11f8c21a8309afd4c60ea316, }, r1a0: u384 { limb0: 0xa27a54fe04de2265b2fe96e8, limb1: 0x53dcd9b100331a701e8ba5f9, limb2: 0x57845f6219e44f2109c795e5, - limb3: 0x22a93fc0d0171aa6e5a89a2 + limb3: 0x22a93fc0d0171aa6e5a89a2, }, r1a1: u384 { limb0: 0x95504a55dc0699b071a8dd33, limb1: 0x372f0a3e8d642e214174c90a, limb2: 0xcf8e1be4fec9c43ae6e6c879, - limb3: 0x112c15cec305822060501913 - } + limb3: 0x112c15cec305822060501913, + }, }, G2Line { r0a0: u384 { limb0: 0x7464425eeb75a1d3a3486fba, limb1: 0xd4f0931c31459109811008d1, limb2: 0x5aac0cfc9b43343826136afb, - limb3: 0xf16056dd2e8b5f8240d4ac7 + limb3: 0xf16056dd2e8b5f8240d4ac7, }, r0a1: u384 { limb0: 0xee0993ef125a22747400b5ea, limb1: 0x438805278ea9e18b001cf7da, limb2: 0x11c5cbb3ae17332e06f5b415, - limb3: 0x134957b7abe963c5d074abc9 + limb3: 0x134957b7abe963c5d074abc9, }, r1a0: u384 { limb0: 0xacf8eb684fdd044dd83f813e, limb1: 0xcb5dae51f81a4969f0370c67, limb2: 0x491fc4a63ef64f17b8aa0d30, - limb3: 0x188b4199d41c95a7991f2d89 + limb3: 0x188b4199d41c95a7991f2d89, }, r1a1: u384 { limb0: 0x1f69582489be9a39cb94c326, limb1: 0xdfa20ef759cc430ed060c20b, limb2: 0xeab00aeca148c6a408bcd34a, - limb3: 0xd6a605bcb73c8061942fb57 - } + limb3: 0xd6a605bcb73c8061942fb57, + }, }, G2Line { r0a0: u384 { limb0: 0x1a00fe857129fb0706afc443, limb1: 0x699bd305a05a49e5376fa125, limb2: 0x5123ef38664f302385f6e355, - limb3: 0x1138d923f33a7667d3f218ec + limb3: 0x1138d923f33a7667d3f218ec, }, r0a1: u384 { limb0: 0xa8b0789c07a18e1212c35b42, limb1: 0xe6062cdb7c672277492e486f, limb2: 0x21d77ef2efc7c58cc7f07fa, - limb3: 0xe1c4f192a69167da717d052 + limb3: 0xe1c4f192a69167da717d052, }, r1a0: u384 { limb0: 0x1083df31373d17c10c6f96ce, limb1: 0x3c0db10e3745399ce144521, limb2: 0x4be19a961fa7762df7e8174f, - limb3: 0x157ba9b5969d3125fa86ea07 + limb3: 0x157ba9b5969d3125fa86ea07, }, r1a1: u384 { limb0: 0xd3bd3b38817ebc095decab10, limb1: 0x99d4b7d79829b113b4490f45, limb2: 0x205d4e72b9d31001a602b263, - limb3: 0x16fedb246b41f78c5a46ac30 - } + limb3: 0x16fedb246b41f78c5a46ac30, + }, }, G2Line { r0a0: u384 { limb0: 0xed72eccb4e30eeaf3b992446, limb1: 0x14e0585cd696c72e9adb4736, limb2: 0x7df5eabb84672fab4d4a6e10, - limb3: 0x2d6c8112234d7f18ea478ea + limb3: 0x2d6c8112234d7f18ea478ea, }, r0a1: u384 { limb0: 0x95586dac212579b39f39df97, limb1: 0xff0488c63a739029f85aec22, limb2: 0x38ce286aeea4511ddcb23d59, - limb3: 0x444323d14c7a3549b9f6b27 + limb3: 0x444323d14c7a3549b9f6b27, }, r1a0: u384 { limb0: 0xac929d1bb6bfa0df5bd0b951, limb1: 0x9a5e39e018083d89aeeaee3d, limb2: 0xc84698d95675ba2c1b93662e, - limb3: 0xa82a23fd9338c15ba09139b + limb3: 0xa82a23fd9338c15ba09139b, }, r1a1: u384 { limb0: 0x8a89d4ebf46cc78b9a67add2, limb1: 0x1761e578b693547ecbf4817f, limb2: 0xbd9d23d081864a636a27dce, - limb3: 0x40d68a72ee4363db50d3c92 - } + limb3: 0x40d68a72ee4363db50d3c92, + }, }, G2Line { r0a0: u384 { limb0: 0x5a204b2b8496bf6fd941adbe, limb1: 0x9c069a02ba48bdf34aed625e, limb2: 0x5459c5d76fa5925ae4b04121, - limb3: 0x2c12f82e0dcd33df5ac48a7 + limb3: 0x2c12f82e0dcd33df5ac48a7, }, r0a1: u384 { limb0: 0x38870a783f4004476ddafcab, limb1: 0xa98e80effda828b7a2908d37, limb2: 0x8152285afd4302b3b87447d1, - limb3: 0x183817defa2bfa474a6e1fdf + limb3: 0x183817defa2bfa474a6e1fdf, }, r1a0: u384 { limb0: 0x6bceb45fb77a9e20a0152815, limb1: 0x20636e0b8ad36f12a65176b1, limb2: 0x7ee4c1a972b5386c1303665e, - limb3: 0x71199de43d6e23e8d666f51 + limb3: 0x71199de43d6e23e8d666f51, }, r1a1: u384 { limb0: 0x4f26920f05c3d38669cade7a, limb1: 0x9028c6ddc1cd21f516bc0d4, limb2: 0xca7680b59d22ca8045eba3d1, - limb3: 0xc81627ec1998db363f1c26 - } + limb3: 0xc81627ec1998db363f1c26, + }, }, G2Line { r0a0: u384 { limb0: 0xbdda2d3c31051f4071ae2945, limb1: 0xbc66726ddee31b37d058d7e5, limb2: 0x9f4eb741ac78b510ccf452ab, - limb3: 0x65fb0c0d47de8795557bd2f + limb3: 0x65fb0c0d47de8795557bd2f, }, r0a1: u384 { limb0: 0xb9c37518dd4a05df7a4d6dc1, limb1: 0xd4ee64da91ea67b8a4525b4, limb2: 0x73a813ffff40ee810a12214b, - limb3: 0x7f9fda3fa03c5295720441d + limb3: 0x7f9fda3fa03c5295720441d, }, r1a0: u384 { limb0: 0xaa6d391bd6b4113145484e4f, limb1: 0x86d3fa56727d8879496d1827, limb2: 0x71223351a13a9577646c0ec3, - limb3: 0x5c4513dff602b8ec227f711 + limb3: 0x5c4513dff602b8ec227f711, }, r1a1: u384 { limb0: 0xb9b127f0cbfc3172bba7a933, limb1: 0x10d730ec07d1e0f84c5c6c34, limb2: 0x693e354e2246bf96f3ebf563, - limb3: 0x1163f7e15fbd10f4086aad86 - } + limb3: 0x1163f7e15fbd10f4086aad86, + }, }, G2Line { r0a0: u384 { limb0: 0x324f76ca3eb989e9ccb12696, limb1: 0xeb1a302ddcf16336370c347d, limb2: 0xcd35a0d29495cd0999ca03e2, - limb3: 0xa74e5ad34004c7e57d2a14e + limb3: 0xa74e5ad34004c7e57d2a14e, }, r0a1: u384 { limb0: 0x525e1ef1f8480fcfda387f8b, limb1: 0xaf0c314992fa29dd3e45eeec, limb2: 0xae09cf42c0a53751919fe1b1, - limb3: 0x106562358cc0ca813815bb1f + limb3: 0x106562358cc0ca813815bb1f, }, r1a0: u384 { limb0: 0x19d180d969228995aa21a1e5, limb1: 0x34f6f5fbd9b098d1b3efd0b, limb2: 0x3533d5af99af7a4dc323297a, - limb3: 0x1604dfd23c32fe35ae8fd03 + limb3: 0x1604dfd23c32fe35ae8fd03, }, r1a1: u384 { limb0: 0x95f9c758ce1e361efe4c0032, limb1: 0x910fa18b85ad81540e31e1ff, limb2: 0x564537d6beb09c576a28d18f, - limb3: 0xa483de0527b3738ae218c4c - } + limb3: 0xa483de0527b3738ae218c4c, + }, }, ] .span(); @@ -17982,74 +17982,74 @@ mod pairing_tests { limb0: 0x1d4eab620cf33a8eded7fd2c, limb1: 0x45778308171f9267fab69519, limb2: 0x874b1a6540a5a24a4fd9c68f, - limb3: 0x521ad898cee9071ebcbf44d + limb3: 0x521ad898cee9071ebcbf44d, }, w1: u384 { limb0: 0xa9f581d9c26c7bc732af4135, limb1: 0x5cecf0013c8d5695a1e6a597, limb2: 0x66651ab83510fb89f6b2afe4, - limb3: 0x5966d7f6d173ea01e1a5869 + limb3: 0x5966d7f6d173ea01e1a5869, }, w2: u384 { limb0: 0x7a64d089a1a115a3eab1a695, limb1: 0xccdc16d44e3cbdf8393eb355, limb2: 0xccd24b9c3e637b240a4100a3, - limb3: 0x110012a0987f151e6eacf408 + limb3: 0x110012a0987f151e6eacf408, }, w3: u384 { limb0: 0xd7d9acb3a8622465c6b1c0fe, limb1: 0xcdaab0fcd1147d96b5521ac4, limb2: 0xae897c7118bbf9c0479cff61, - limb3: 0xfc350acc198fbd5b4d95cfc + limb3: 0xfc350acc198fbd5b4d95cfc, }, w4: u384 { limb0: 0x32d5c3bbed4da9a68948c926, limb1: 0x6f68e9017165ef8db1a4f975, limb2: 0x8c36a4b56c817816904d0605, - limb3: 0x6d44964cce393f36664dfb7 + limb3: 0x6d44964cce393f36664dfb7, }, w5: u384 { limb0: 0x9715bc72d9969488889a609f, limb1: 0x2b0c186b4950da2943f4ad01, limb2: 0x9a49542de5fc03a989fe46f8, - limb3: 0x86f3ebd100f5f5157bc57f7 + limb3: 0x86f3ebd100f5f5157bc57f7, }, w6: u384 { limb0: 0x54e14ea09aad1c01c5c5faac, limb1: 0x65bf572081d748820d57d62d, limb2: 0xe04c49ded673151413b8ce9b, - limb3: 0x18776284b17c0858f647e075 + limb3: 0x18776284b17c0858f647e075, }, w7: u384 { limb0: 0xd4ff280a7232eada165a4400, limb1: 0xf5bd8e019057fb48dad4ea34, limb2: 0xae5bd1a1ce889e14808c4ee8, - limb3: 0x647bb2047c521d397fd0f7 + limb3: 0x647bb2047c521d397fd0f7, }, w8: u384 { limb0: 0xc8266658d2a03e597cfec8fc, limb1: 0x62aae0152d3543705d87df48, limb2: 0xfc4fae663d5040baacca25a8, - limb3: 0xa97b4be53ee479681acc5eb + limb3: 0xa97b4be53ee479681acc5eb, }, w9: u384 { limb0: 0x45b2fc96a09f2ffc8b84a4dc, limb1: 0x22bbd02e82d79e84d590ca96, limb2: 0xf24bb9b22ece2fe9e392d6ff, - limb3: 0x1338aeb075e78cc7505a5d70 + limb3: 0x1338aeb075e78cc7505a5d70, }, w10: u384 { limb0: 0xe4354c04ab5208100a0129af, limb1: 0x4675bf96847cb9d629da62d1, limb2: 0xcbb4b845ab04d0a51ea25ee0, - limb3: 0xe608702099837e04fc2e999 + limb3: 0xe608702099837e04fc2e999, }, w11: u384 { limb0: 0x3cca5a2ae19eefaf128521, limb1: 0x7a10d38aa97360f22cd213ab, limb2: 0xe8162fd74d36e0786ea6a88c, - limb3: 0x12c968f3ea7364e3ee21b8b2 - } + limb3: 0x12c968f3ea7364e3ee21b8b2, + }, }, w: MillerLoopResultScalingFactor { w0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, @@ -18060,9 +18060,9 @@ mod pairing_tests { limb0: 0xf1ca42a0e74df934924892fb, limb1: 0x91e7a80fe41d8f58d83f1513, limb2: 0x8e9a0930581e2c940247cd09, - limb3: 0x18bc5b99f39cbf0fd8d08768 + limb3: 0x18bc5b99f39cbf0fd8d08768, }, - w10: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + w10: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Ris: array![ E12D { @@ -18070,2590 +18070,2590 @@ mod pairing_tests { limb0: 0xf63d7acf09f9e238c86f7575, limb1: 0xaf8ac67e915aa56c1f18943c, limb2: 0x1f0d89e52ce00053fb4cd271, - limb3: 0x6dcf1ec2bee9d55fd7c7dd0 + limb3: 0x6dcf1ec2bee9d55fd7c7dd0, }, w1: u384 { limb0: 0x8c542fcbddc8a2f30326ff28, limb1: 0x93400f32912e689ef50ff729, limb2: 0x5e397600577a07eddd78a637, - limb3: 0x7f05f480f32402899fc238d + limb3: 0x7f05f480f32402899fc238d, }, w2: u384 { limb0: 0xfc8e47f2ce78aed551c79270, limb1: 0xb7505079976315ae30aea8c7, limb2: 0x1397705b5336a8c404e29aba, - limb3: 0x71d870e4553f214175e57f7 + limb3: 0x71d870e4553f214175e57f7, }, w3: u384 { limb0: 0x32f0ae88611fa10260d597c0, limb1: 0x29a0888f8ce8b899253e37ae, limb2: 0x7123a17956e452893cabef6a, - limb3: 0x37df42454ed3974bb2b32f9 + limb3: 0x37df42454ed3974bb2b32f9, }, w4: u384 { limb0: 0xa72f0e1e9c109d242988e116, limb1: 0x54b5dec1284a8c9177b3c945, limb2: 0x815f8322190dde62bdc8a55e, - limb3: 0xba703f387adf415b877fd75 + limb3: 0xba703f387adf415b877fd75, }, w5: u384 { limb0: 0x1f07d02f85fc8a875e197521, limb1: 0x5585ddebaf32dc4e03ae577f, limb2: 0x6f8907d9616c496a0f51dbcc, - limb3: 0x14068f72159c932c910dd512 + limb3: 0x14068f72159c932c910dd512, }, w6: u384 { limb0: 0xce6bb359366acbb7781372b9, limb1: 0x7c5e8df6083d142e2fd17ccf, limb2: 0x1174df6680c4991d4d20cc80, - limb3: 0x17dfc12834ee7334831b24af + limb3: 0x17dfc12834ee7334831b24af, }, w7: u384 { limb0: 0x95daa3bc8b9ac34a59ff12f0, limb1: 0xa2349e79dd3de20eea74d8b, limb2: 0x90308dd36ed98b5e1d50a816, - limb3: 0x17d3b0da632dabdf4ba0f6c8 + limb3: 0x17d3b0da632dabdf4ba0f6c8, }, w8: u384 { limb0: 0x4c5d01ef3358bf5ad26286cc, limb1: 0xed0c77db94e0738119993eb, limb2: 0xfd31f8f2bab3cabf17b82c77, - limb3: 0x17ddaa28e29c2317b96c21b7 + limb3: 0x17ddaa28e29c2317b96c21b7, }, w9: u384 { limb0: 0xea817f28532b8d5198e199dd, limb1: 0x99aeb257fdcdc23c15eb5315, limb2: 0x31387bb67348f155192cf97f, - limb3: 0x22b2500baf6ce28a86979f + limb3: 0x22b2500baf6ce28a86979f, }, w10: u384 { limb0: 0xb0e382b90ef6654c3bd2e20c, limb1: 0x4d096e4e54120fe17325dec0, limb2: 0xc2d4414912600bfec37d116a, - limb3: 0x6524f53a10bd1ed1f7de6ac + limb3: 0x6524f53a10bd1ed1f7de6ac, }, w11: u384 { limb0: 0x8a680e766390ddaa62af47cd, limb1: 0xf23d641db780ebb70c7fbfbe, limb2: 0x531a0f1fc69bf6acd1695e9a, - limb3: 0xebb85352772f284d12c95bf - } + limb3: 0xebb85352772f284d12c95bf, + }, }, E12D { w0: u384 { limb0: 0x46f601ab362202e8276c007d, limb1: 0x586b3c2927dbffdd38a1a44b, limb2: 0x6b07370100418d3fcd5ad5c5, - limb3: 0x1727a4684524eb2175d31f50 + limb3: 0x1727a4684524eb2175d31f50, }, w1: u384 { limb0: 0x73738bbe4943b6aee387caa1, limb1: 0x755dec64232750ca866647b3, limb2: 0x52a64d020d10ab12ab460dd, - limb3: 0x57d77a9e8e6cd838edc1e63 + limb3: 0x57d77a9e8e6cd838edc1e63, }, w2: u384 { limb0: 0x5f2c12da594e423a2108737d, limb1: 0x3aa7e22e27bccb5d4840ac81, limb2: 0x40d4f01ea67f2f082b59dec0, - limb3: 0x42e0115d1c7594745490233 + limb3: 0x42e0115d1c7594745490233, }, w3: u384 { limb0: 0x9fe7471a196e8bd9a0db6863, limb1: 0x27379618cb58b0b55c0acff3, limb2: 0x1d61ee1f8c5c6c2e40b633da, - limb3: 0x54735182a914667a25226c9 + limb3: 0x54735182a914667a25226c9, }, w4: u384 { limb0: 0xeb6d788023db42ceefa73d8b, limb1: 0x983e97ed4491a3cda57fabeb, limb2: 0x9449deaf0a40d6de94e8347d, - limb3: 0x14276d83ecbbeddabdf9bf5d + limb3: 0x14276d83ecbbeddabdf9bf5d, }, w5: u384 { limb0: 0x411db147cc5627ef50c9210d, limb1: 0xa34577b4dcbbb76911a90cbb, limb2: 0x5523d4d906c194a134c2695b, - limb3: 0xda9195159528161fa4960f2 + limb3: 0xda9195159528161fa4960f2, }, w6: u384 { limb0: 0x7df4506c40e2424b24c6b69b, limb1: 0x934699dcb5cf7eab408dbe02, limb2: 0xf98880b746c6ce0f7f41377d, - limb3: 0x9552828c7dcc07d56efc554 + limb3: 0x9552828c7dcc07d56efc554, }, w7: u384 { limb0: 0x7f232224b4fe0b20245f2fd4, limb1: 0xc9d51a652303decdf4907f6e, limb2: 0x71ae0aeab8e0333d7ff3018, - limb3: 0x122dcaa1ba9a8a8613064735 + limb3: 0x122dcaa1ba9a8a8613064735, }, w8: u384 { limb0: 0x697c449335ca5f9d21b7f654, limb1: 0xf8a13e81943a4a18f4896097, limb2: 0xde94de861275afae359c3016, - limb3: 0x112f00e12354b1ad57581a4d + limb3: 0x112f00e12354b1ad57581a4d, }, w9: u384 { limb0: 0xfc2ecc6d437c20102b74f4ae, limb1: 0x3fc77a685f0e4ae94092405a, limb2: 0xbd067589e294b4d708407307, - limb3: 0x13bbf456483cd4566ed59718 + limb3: 0x13bbf456483cd4566ed59718, }, w10: u384 { limb0: 0x920a2dc4d6405a69dafd98b8, limb1: 0xaefdccb098674950b928bb5c, limb2: 0x2e93db68f2ed629f9872a3b1, - limb3: 0xeef615cd28929e56a59bf2e + limb3: 0xeef615cd28929e56a59bf2e, }, w11: u384 { limb0: 0x32fb24bfa3edf65997e82785, limb1: 0x11a11c3e6606acd9cd851f81, limb2: 0x55f01d098689453651a335e7, - limb3: 0xebec00852daa59ee4861f6c - } + limb3: 0xebec00852daa59ee4861f6c, + }, }, E12D { w0: u384 { limb0: 0x49168a1f3a22e43aa9131c14, limb1: 0x6ff87ec4e2647706b3fde592, limb2: 0x9ebb9d7748bb4b630bb9e8ad, - limb3: 0x10bbd67a2e6b8bd12ca2a8fc + limb3: 0x10bbd67a2e6b8bd12ca2a8fc, }, w1: u384 { limb0: 0x4dbbf2265569906a0d24b1bb, limb1: 0x4e4e1893305748d5ffd9fef1, limb2: 0xf13628a4c95b6fc55a9eef6a, - limb3: 0x10b832788eae08063407690b + limb3: 0x10b832788eae08063407690b, }, w2: u384 { limb0: 0x1acce936e2cf8c477b127acb, limb1: 0xd6ec68233a19bba472836ae0, limb2: 0x45a97406d2a99dc971e2c9eb, - limb3: 0x19496c56f34ced68a7cd75ca + limb3: 0x19496c56f34ced68a7cd75ca, }, w3: u384 { limb0: 0x22cc017e588ebe02c9d8944d, limb1: 0x4a12e88d4c855c6e93e88d24, limb2: 0xac08da0adfb221ad320d929c, - limb3: 0x925d1d1ef9c0beba6f0a34c + limb3: 0x925d1d1ef9c0beba6f0a34c, }, w4: u384 { limb0: 0x3de8b6df17b043f047eb3d95, limb1: 0xa0f7fe84c2f3b0c22ea84f0e, limb2: 0x9fc100a34798496f25a17711, - limb3: 0x63551db5a468540a882a52a + limb3: 0x63551db5a468540a882a52a, }, w5: u384 { limb0: 0x6acb9303682c1c8ca5fac965, limb1: 0x5743d3be8818de60a9a1a515, limb2: 0x7df5b7b9df88e4cf55e829b7, - limb3: 0x1452bf2c3fe715937d83b5c5 + limb3: 0x1452bf2c3fe715937d83b5c5, }, w6: u384 { limb0: 0xbe1e1ab9e46108a3da2287de, limb1: 0xe10d9eea83bb012f8e01a28e, limb2: 0x4e0f865fe70bcd3a215ac2d2, - limb3: 0x159fe260119fbb98baf253f + limb3: 0x159fe260119fbb98baf253f, }, w7: u384 { limb0: 0xbe7a9434b3beb015897656bd, limb1: 0x6fa097bc9669f5a4c6e33dbe, limb2: 0x7884c156e8281d85d5a0ee4e, - limb3: 0x2cf0869f40402c8b1642954 + limb3: 0x2cf0869f40402c8b1642954, }, w8: u384 { limb0: 0x95cdf327419c78b6710a6c8c, limb1: 0xd3dded1b3595c3ce4312a36a, limb2: 0xc2ccd8f589dd387f86500444, - limb3: 0xd2c631a38ce47d9e8f0ee1f + limb3: 0xd2c631a38ce47d9e8f0ee1f, }, w9: u384 { limb0: 0x7e6f24ade84350245ac9e72, limb1: 0xb504394fbc5fc5b04e7a8465, limb2: 0xc8fb3405378036f4c5867363, - limb3: 0xcaa4d999eec4b8f23cb8406 + limb3: 0xcaa4d999eec4b8f23cb8406, }, w10: u384 { limb0: 0xe7e990c95a109a8caa63a02b, limb1: 0xde60f93bdf429d379caaf598, limb2: 0x434f9cece5b000d281057b64, - limb3: 0xdca015d5a2e52becd816f7a + limb3: 0xdca015d5a2e52becd816f7a, }, w11: u384 { limb0: 0x1b9bf5b1707249c394b385b4, limb1: 0x591ab99d664c7bb9537bd1bd, limb2: 0x663ec0365e65c06194887eb1, - limb3: 0x6995ffd83bb53d7b9787c81 - } + limb3: 0x6995ffd83bb53d7b9787c81, + }, }, E12D { w0: u384 { limb0: 0x4aa7f5d7f85dd4c4af5e97a3, limb1: 0x4c65d12afeff17a68cd917da, limb2: 0x6530b54704b338c9e41d551b, - limb3: 0x7f7956e7258b204e6bb76fb + limb3: 0x7f7956e7258b204e6bb76fb, }, w1: u384 { limb0: 0xc3b5ae69e8bc70cc1642be88, limb1: 0x9e9f6a61c9d21a413a15b875, limb2: 0xfb2649c3298b59c310e02346, - limb3: 0x61f63de6863a0737ea4c564 + limb3: 0x61f63de6863a0737ea4c564, }, w2: u384 { limb0: 0xe65eff130e3bf3e78e64a8d5, limb1: 0x3c7415a182a906c0c440ec19, limb2: 0xb16f94ad9149d23b673b8b03, - limb3: 0xd54ccfbe6ce28ca435fb866 + limb3: 0xd54ccfbe6ce28ca435fb866, }, w3: u384 { limb0: 0xd59039e2f71aab9d24fe1f50, limb1: 0x77632f67dd17dd934dcdc3b3, limb2: 0x49405e14816e285681f6d108, - limb3: 0x5b0b2403b504c7c3c04fa26 + limb3: 0x5b0b2403b504c7c3c04fa26, }, w4: u384 { limb0: 0xeef17c2cd5a8e39666056b16, limb1: 0x2a2d7664553675a1cd30ab8, limb2: 0x112482fcc1899b14e6ac805c, - limb3: 0x120e02660f9058203246fbf0 + limb3: 0x120e02660f9058203246fbf0, }, w5: u384 { limb0: 0x224a2242169998bd45bcfecd, limb1: 0xf40bce68d096dad390d28e98, limb2: 0xd0f1e29a3fe03f4e210140c9, - limb3: 0x848bb58f7c097a46b3a03e + limb3: 0x848bb58f7c097a46b3a03e, }, w6: u384 { limb0: 0x95f2d0acc60f04b266569319, limb1: 0x7dd58a061d1a3e0141a6e2e, limb2: 0x494f27de393ef818bbd4517d, - limb3: 0xdc72aced2c6f4a5c4819c14 + limb3: 0xdc72aced2c6f4a5c4819c14, }, w7: u384 { limb0: 0xd77df88de226de432ab03d2b, limb1: 0x333622e9b8f46b0713f2f072, limb2: 0xea5a83207f896f6abf8ab0e2, - limb3: 0x4a715b7a58dc6543add0fc9 + limb3: 0x4a715b7a58dc6543add0fc9, }, w8: u384 { limb0: 0xc2816abbab513ff9a9c7b5d1, limb1: 0x82fde4beda8b9e6a5885c858, limb2: 0x1f84be86960bad82590ceca, - limb3: 0xc04235cb1fe7822f16be8bc + limb3: 0xc04235cb1fe7822f16be8bc, }, w9: u384 { limb0: 0xedb79bdcbaa9dc247ec2effa, limb1: 0xa269f5787fd2b0bd9ed885f0, limb2: 0x8bf6b02312251b650e69f258, - limb3: 0xe44406c2cb2d23cae0a6ab3 + limb3: 0xe44406c2cb2d23cae0a6ab3, }, w10: u384 { limb0: 0x29dfd9eaed5f6ee84dbefdc7, limb1: 0x4efb1890226e01d82c5dd985, limb2: 0x485f10c54276bce940584dc7, - limb3: 0x86501a5cf1b338e3103b59e + limb3: 0x86501a5cf1b338e3103b59e, }, w11: u384 { limb0: 0x7302b90bf0cd9d620156bc89, limb1: 0x7f5499c66dc28fbd4c320700, limb2: 0x34cc18aa5ab46c409e63ff3, - limb3: 0x10a91f5f4e43b2f252c415e2 - } + limb3: 0x10a91f5f4e43b2f252c415e2, + }, }, E12D { w0: u384 { limb0: 0xb719f9dec03ab8f164bb3a6b, limb1: 0x20cb7011e080d653d9dcc756, limb2: 0xe2dbfe688c03d53d6a00fef1, - limb3: 0x813beb1246503c45e0f230 + limb3: 0x813beb1246503c45e0f230, }, w1: u384 { limb0: 0xeb0491457c8c6edc155753c1, limb1: 0xd0271cbb54b204bf4b295f5d, limb2: 0xb26e1eb4fab09d1d4faefd5b, - limb3: 0x15dd36f07b01019665228060 + limb3: 0x15dd36f07b01019665228060, }, w2: u384 { limb0: 0xbaee8621d18761c3b2904a73, limb1: 0x816d9cac84eb28a5e7d9e25, limb2: 0xcd1c794f2313f6772e45355d, - limb3: 0x124a87dab04b19db1b8bd588 + limb3: 0x124a87dab04b19db1b8bd588, }, w3: u384 { limb0: 0xfb0de8939a0760770b40a9cb, limb1: 0x917a039550c37cea059c85e8, limb2: 0xc5edbc8267c1b80ef97cef18, - limb3: 0x324f9d878506723c60a4345 + limb3: 0x324f9d878506723c60a4345, }, w4: u384 { limb0: 0x83c439e7eafe348b8671a385, limb1: 0x3bf1e6a663a56bf87b16e6f6, limb2: 0xe5ca68a4b426e6b7c000e7a0, - limb3: 0xc7c38ce48b61dd7513469c4 + limb3: 0xc7c38ce48b61dd7513469c4, }, w5: u384 { limb0: 0x32bad965995076769d669ace, limb1: 0xd5949cc1627771c51c0bb4d3, limb2: 0x5d34827387c8e3fa45ba7b49, - limb3: 0x14a6bccbc3a0c7ead062ac2b + limb3: 0x14a6bccbc3a0c7ead062ac2b, }, w6: u384 { limb0: 0x5221d77a4e1c87eb4fd9fcc5, limb1: 0x9aee6eec1d7ec0ce27a00cea, limb2: 0x8181e5c1b1a7a1b1e6454e58, - limb3: 0x16364ed330a5e5ac2211ed9c + limb3: 0x16364ed330a5e5ac2211ed9c, }, w7: u384 { limb0: 0xd0db08209c90ad48501b74ca, limb1: 0x6b1f991adece59fe7b2d5db8, limb2: 0x2a617c6295c1be2c062284a1, - limb3: 0x15df50360a83866f4fa35544 + limb3: 0x15df50360a83866f4fa35544, }, w8: u384 { limb0: 0x4200fde82b3f83f87f7adc25, limb1: 0xba304360e4b83811e874ab86, limb2: 0xc8370b31cae44f74c2d81952, - limb3: 0x113787d1e314b4473cc3f55 + limb3: 0x113787d1e314b4473cc3f55, }, w9: u384 { limb0: 0xe403a7fa1d756ed0dba8fb34, limb1: 0xccf3814c1270f5a1212a245e, limb2: 0xdc74463c46f3f26d79630a77, - limb3: 0x3dee0d30b7bb94689c6daee + limb3: 0x3dee0d30b7bb94689c6daee, }, w10: u384 { limb0: 0x3c74ad56a6efcb3c5c1d9c8b, limb1: 0x25d0f254898fb3c093097f4, limb2: 0xf5331098d7ed88bea4215633, - limb3: 0x1f45a4472f7628ea0cba303 + limb3: 0x1f45a4472f7628ea0cba303, }, w11: u384 { limb0: 0x7290b9b901cdb657a706a75b, limb1: 0x54d189205a59a1173bb4f663, limb2: 0xe75abfbc13c6d01ac5579e1e, - limb3: 0x345cf5c394a7ac50eee7a9f - } + limb3: 0x345cf5c394a7ac50eee7a9f, + }, }, E12D { w0: u384 { limb0: 0x344bd25fb7f83d9dfae06f6a, limb1: 0x22fde129b885f0c710ff71ac, limb2: 0x783a03d3f6609e73117cb2d7, - limb3: 0xe37e60a61076748d0233945 + limb3: 0xe37e60a61076748d0233945, }, w1: u384 { limb0: 0x29e60bd8298eaf694914bf96, limb1: 0x4d570c1cab177ec2719c02ba, limb2: 0x2b7031090424638824b4463e, - limb3: 0xc26aba31fe7a05a5bbc7e8f + limb3: 0xc26aba31fe7a05a5bbc7e8f, }, w2: u384 { limb0: 0x574b39c83abd56863e6172a, limb1: 0xc54b9b6afa11629a99d4636f, limb2: 0xa12f92bcc3f8005b33eec0d, - limb3: 0x8d4ad3c7fa6a1b149c19888 + limb3: 0x8d4ad3c7fa6a1b149c19888, }, w3: u384 { limb0: 0x2c11d194c9576b7f466f32d9, limb1: 0x7c55ac60cbb6cb8a927390d5, limb2: 0x57cb35bcc9af97e319be764e, - limb3: 0x11c8f585011f475dce234ff7 + limb3: 0x11c8f585011f475dce234ff7, }, w4: u384 { limb0: 0x33bff81455e77429bd4ee8aa, limb1: 0x1cba0458d1e364c2c64ece45, limb2: 0x8c03288861b89e4335b14d14, - limb3: 0x64b8c93dfa5c160f9493484 + limb3: 0x64b8c93dfa5c160f9493484, }, w5: u384 { limb0: 0x2aba92419b5fd3f35844fce4, limb1: 0x429bb226e16a911555eedda0, limb2: 0xc2c54fa7a26bb7296669f9a0, - limb3: 0xedb5a603fb61c4588349061 + limb3: 0xedb5a603fb61c4588349061, }, w6: u384 { limb0: 0x71a798b6e55ee50c3f59159e, limb1: 0x858e9f261b23e89b180b4c4a, limb2: 0x751305c885f1a21af7ed4e1e, - limb3: 0x10964f9f66dc1a6d9df88ce6 + limb3: 0x10964f9f66dc1a6d9df88ce6, }, w7: u384 { limb0: 0x15bad475a51bb3db482ae425, limb1: 0x7254f373bd19c4481767607c, limb2: 0xc11e80391c7c6aaadbfdde61, - limb3: 0x15e22e3a46ee30b26a98c6d8 + limb3: 0x15e22e3a46ee30b26a98c6d8, }, w8: u384 { limb0: 0xf78a0e313b61e2ac5105e1a3, limb1: 0x47ec84e1592e649c61bd8776, limb2: 0xe7189f594aba4ccfc6a5a11c, - limb3: 0x2f7c3dbf00640bb0148a21b + limb3: 0x2f7c3dbf00640bb0148a21b, }, w9: u384 { limb0: 0xc41f29e4dd6b145c6b661df5, limb1: 0x673062ba459b3d042a0cee5f, limb2: 0xcf47a3f2dfef1e55b3e97b8, - limb3: 0x19a49c7db5078a54448a9c32 + limb3: 0x19a49c7db5078a54448a9c32, }, w10: u384 { limb0: 0x7da75932777016e386681a3b, limb1: 0x5dfa78392bafdfe2ea984a6e, limb2: 0xfa0b5780b4722ac13170d67, - limb3: 0xdca20a45aac899ff8534471 + limb3: 0xdca20a45aac899ff8534471, }, w11: u384 { limb0: 0x20d272afe37306d5a752a35c, limb1: 0x3cb6565178072916bd25bcee, limb2: 0x84f886cd8d78cde2acb45c73, - limb3: 0x166ebbd52543e9a2ad6f564f - } + limb3: 0x166ebbd52543e9a2ad6f564f, + }, }, E12D { w0: u384 { limb0: 0x71bb2c644889a2139f430cad, limb1: 0xf453e8802ab1059d1d517b47, limb2: 0x8e72791f4287dfbb95ce68f5, - limb3: 0x19452bfa0813f110ecc74e8f + limb3: 0x19452bfa0813f110ecc74e8f, }, w1: u384 { limb0: 0x2daf0b4287be1963023f46d5, limb1: 0x534ae95e7dd740e2800fd7, limb2: 0xd5e9e2cb66b4ffcb00e4fb35, - limb3: 0xca9bc3e4e55c038c84e0b99 + limb3: 0xca9bc3e4e55c038c84e0b99, }, w2: u384 { limb0: 0x5a1a5909ad03ea711e0f7d50, limb1: 0x4f450184eb018a3bbee2646c, limb2: 0x132d9cf05d2a74ea4af12f6a, - limb3: 0xea601cf5926174f615ae34d + limb3: 0xea601cf5926174f615ae34d, }, w3: u384 { limb0: 0x56009030241b25051e7c60ab, limb1: 0x49653a64f27328b24b36a431, limb2: 0xcb3f2876ee487db94d9a8c8e, - limb3: 0x176ccfe7df56c88d4d77e6b0 + limb3: 0x176ccfe7df56c88d4d77e6b0, }, w4: u384 { limb0: 0x777b0007ff8949336580dafd, limb1: 0x6240fd408535fd5d5e2a239e, limb2: 0x1a8a6e4d29d8df1d1a44f128, - limb3: 0xb900c08323d8fad4afd7461 + limb3: 0xb900c08323d8fad4afd7461, }, w5: u384 { limb0: 0x4804154f8db931d57b3d4952, limb1: 0x589692071a72e7feaab93c58, limb2: 0x4893fc502e75c3fafb3cffa2, - limb3: 0x78ee6e0f71424add9367862 + limb3: 0x78ee6e0f71424add9367862, }, w6: u384 { limb0: 0x56f1e165c65d6701d9c8d72d, limb1: 0xc70ec69746317ab3eb2e5b49, limb2: 0xeb1c562f709f33c0e19f16e0, - limb3: 0xaed371d73f9f750e9779d14 + limb3: 0xaed371d73f9f750e9779d14, }, w7: u384 { limb0: 0xa011a3fd58c09a6e7f3f76d2, limb1: 0x5d34d82a867f4d1c3bd46279, limb2: 0xae3b42bb54a050efd9902ac0, - limb3: 0x10084af27180873684abfaf8 + limb3: 0x10084af27180873684abfaf8, }, w8: u384 { limb0: 0x8c40fae1d51740fbd0c540ce, limb1: 0x69fff344d5f472a1c52d83c0, limb2: 0x7b8df84c1f122b0449441a27, - limb3: 0x142a792323b26d9f32f310d5 + limb3: 0x142a792323b26d9f32f310d5, }, w9: u384 { limb0: 0x4173f4024c385b2b52eabf19, limb1: 0x4debf14fe4434f2cfa941bd8, limb2: 0x62eba10a2346416ae61c056d, - limb3: 0x9baea19f3c57310aa68d30f + limb3: 0x9baea19f3c57310aa68d30f, }, w10: u384 { limb0: 0x470c9a5918ea3b12844359f1, limb1: 0xf97a14494853215d38d3754f, limb2: 0xd23e9687409056661abb709f, - limb3: 0x11394e84e3642ccb7ec05dad + limb3: 0x11394e84e3642ccb7ec05dad, }, w11: u384 { limb0: 0xe732350ab1f36f07bde5c4a7, limb1: 0x265db95a4305a9c4ee911f7a, limb2: 0x330e500f64fd18af7a3c3d78, - limb3: 0x114243c10cb4e98eaa22527c - } + limb3: 0x114243c10cb4e98eaa22527c, + }, }, E12D { w0: u384 { limb0: 0x5c2cfc6a914fa5d7980965e, limb1: 0x80de48670c60e5949512196f, limb2: 0x23d4df1b56009e60e26dc15b, - limb3: 0x9129169ad34aad0171a90d1 + limb3: 0x9129169ad34aad0171a90d1, }, w1: u384 { limb0: 0x1b23a1da94d4d9ad13969f10, limb1: 0x96cb9baefc5a118f384b27d7, limb2: 0xa0992f485a9410d7cce6e205, - limb3: 0xbb7b5611649e884b101d9c3 + limb3: 0xbb7b5611649e884b101d9c3, }, w2: u384 { limb0: 0x60891a8a266a27cee0a09a1c, limb1: 0xfd9b045e70482ec052ffd6c, limb2: 0x4a82d989d3fcfda3d23d0789, - limb3: 0xbefe911ada4c0fd8150056e + limb3: 0xbefe911ada4c0fd8150056e, }, w3: u384 { limb0: 0x7109634c22a12f03bc7575, limb1: 0x3560465146565541ff8326a4, limb2: 0x9e4388d110bae139a5146460, - limb3: 0x18df1bb4889f0e8436e35316 + limb3: 0x18df1bb4889f0e8436e35316, }, w4: u384 { limb0: 0x38819b839225ab70bb79ae23, limb1: 0x2640a881db6fa15743615201, limb2: 0x61801751cd1a8742d06e98e7, - limb3: 0x5b766333766879a731ad833 + limb3: 0x5b766333766879a731ad833, }, w5: u384 { limb0: 0xe3650f335d56af0a89dd5cf7, limb1: 0x5437795ba9d2867f64f5dc8f, limb2: 0x41358fb12e6a5ed63208bea, - limb3: 0x1304e9875fcf1bbe0cf4984f + limb3: 0x1304e9875fcf1bbe0cf4984f, }, w6: u384 { limb0: 0xe06199520d32463c4895fb76, limb1: 0x239e44a1b7472bb9e3928c3, limb2: 0x3faaa7126afa86e0ccac02b4, - limb3: 0xba0b261bef58dc64082d841 + limb3: 0xba0b261bef58dc64082d841, }, w7: u384 { limb0: 0x80579b7ecabe4b1c6bd27e7f, limb1: 0xda54e55ee34e1ce69eb01380, limb2: 0xc5e78f1b6a7bb2c57094c127, - limb3: 0x3d4150c6b4a01b418d9646c + limb3: 0x3d4150c6b4a01b418d9646c, }, w8: u384 { limb0: 0xb2ecc04591fdd668de2d86e2, limb1: 0xa63ad6aa31101e6c4be44934, limb2: 0x77fa5f8d2026c8f0256fcf43, - limb3: 0xea684e10899989d49474ed2 + limb3: 0xea684e10899989d49474ed2, }, w9: u384 { limb0: 0x67f59a72e128d99d7b3a3bdc, limb1: 0x997cb42e388262b6a92cd769, limb2: 0xf23c7a0ea08062d3297e0143, - limb3: 0xce8caed0b31565408c2a7e9 + limb3: 0xce8caed0b31565408c2a7e9, }, w10: u384 { limb0: 0x4be943eafe89a30984531544, limb1: 0xa2d077ae492d257ff11bb7ae, limb2: 0xa222ba8de8769fd438c2817, - limb3: 0x2255ba650dce97fbed316b2 + limb3: 0x2255ba650dce97fbed316b2, }, w11: u384 { limb0: 0x4d21bea6b45611509ce730eb, limb1: 0x340fb492f0558334acb4ccf8, limb2: 0x5c3040b88f05c25acb8b35ce, - limb3: 0x155847f8080fd6991320f9ca - } + limb3: 0x155847f8080fd6991320f9ca, + }, }, E12D { w0: u384 { limb0: 0x25d13b5892adacfaeffe2aea, limb1: 0x2aee4febbea2f40459b107eb, limb2: 0x19c5c4c41dcd61a6f4ba7579, - limb3: 0x13241af723624918fd903b28 + limb3: 0x13241af723624918fd903b28, }, w1: u384 { limb0: 0x8ff9b04334f08e4c49e8ce2, limb1: 0x28c2966f31e0e08817c5cf74, limb2: 0xd60b874eea904a280be515a4, - limb3: 0x18f183d3d62072e6b66f4110 + limb3: 0x18f183d3d62072e6b66f4110, }, w2: u384 { limb0: 0xa22500a03ee8ebf353a15614, limb1: 0x279f607a1d94cf8727ad1ac3, limb2: 0x9d5cc495009b0929965f222c, - limb3: 0x1029d8c9b14ba02bd2caacfa + limb3: 0x1029d8c9b14ba02bd2caacfa, }, w3: u384 { limb0: 0xd425541781902201ec22f2a1, limb1: 0x3c388cd7504114ac6bbb4136, limb2: 0xe6bf8d9f49e199cf7eedb194, - limb3: 0x11afbc718969caad2d3f7e1b + limb3: 0x11afbc718969caad2d3f7e1b, }, w4: u384 { limb0: 0x4f585eeaad43f01857265b34, limb1: 0x77e04d4ab93fd04750b8072b, limb2: 0xc00bc285a02119ea4c1da23a, - limb3: 0x1382db753f8c3905e0e47311 + limb3: 0x1382db753f8c3905e0e47311, }, w5: u384 { limb0: 0x8e61233422edad3f37a8b352, limb1: 0xd8dc773a6ff4059b9a0a4cb3, limb2: 0xeccbe35b88a061471dd93af5, - limb3: 0x104353579926809447957e97 + limb3: 0x104353579926809447957e97, }, w6: u384 { limb0: 0x384c2b731d616e06b9706b87, limb1: 0x6184e0c8e2d7efb1e06154b8, limb2: 0x8167168429698bc7c087ab2a, - limb3: 0x194e8c9db8ffa492523d7bdb + limb3: 0x194e8c9db8ffa492523d7bdb, }, w7: u384 { limb0: 0xef02a778fe63a32428538720, limb1: 0x93bfb3a65c893583a3688fe, limb2: 0x1175ee9952b07130cc8b3cc9, - limb3: 0xb2d14a4629987e71acd5e81 + limb3: 0xb2d14a4629987e71acd5e81, }, w8: u384 { limb0: 0xa816c07b4cc35518ff83c9ab, limb1: 0x1ccdac7487bad56114ab2569, limb2: 0xb390f4a4c15354c6338643b7, - limb3: 0xe8e333eb89e659ea821952e + limb3: 0xe8e333eb89e659ea821952e, }, w9: u384 { limb0: 0xaeaf2010379242754f5b7f2e, limb1: 0xe2f1bb28b645f9572ab5f6c4, limb2: 0xfe5084401ff0479a6a180942, - limb3: 0x18ccc973cf5a7599815ebc7f + limb3: 0x18ccc973cf5a7599815ebc7f, }, w10: u384 { limb0: 0xfbcc6f1a1d48a24160749924, limb1: 0xac2ee791fd07a94084c429e, limb2: 0xaaab252962e1102b2892410a, - limb3: 0x2c0dbce2c7ff58b3fb2dfa6 + limb3: 0x2c0dbce2c7ff58b3fb2dfa6, }, w11: u384 { limb0: 0xee87fa8cda7e1bd7d4ae31, limb1: 0x5530a68eec71db3821d5eba9, limb2: 0x7c8c0427d82dab63686794e8, - limb3: 0xa033e5036049bb12eac6c9b - } + limb3: 0xa033e5036049bb12eac6c9b, + }, }, E12D { w0: u384 { limb0: 0x3959ad574bcacfbd805a4570, limb1: 0xaab9f932204b35ccad7fb2d7, limb2: 0x6fa101b072d1313611453bf6, - limb3: 0x34e294724006c7c710d628b + limb3: 0x34e294724006c7c710d628b, }, w1: u384 { limb0: 0x155d3e49d0ccb5b95d9e1c27, limb1: 0x1b86b23f1cef30c30980eb2a, limb2: 0x874af95f2c59ddcd93d76006, - limb3: 0x1112ad6169cb6e63e65235e + limb3: 0x1112ad6169cb6e63e65235e, }, w2: u384 { limb0: 0x82ed5ab9afa68983dc9ba552, limb1: 0x9357cfcf9e6e32dd53c8c666, limb2: 0x79a16ac1fb53afd7a079392a, - limb3: 0x12a89edea194c648bfaf42e7 + limb3: 0x12a89edea194c648bfaf42e7, }, w3: u384 { limb0: 0x5eca27f7deb3e9c8c10c08f8, limb1: 0x35321bd9e01f65b62ca2aecc, limb2: 0xc5cc73f3e11486f5229b5b4b, - limb3: 0x78a5b9ae5119db042c5e071 + limb3: 0x78a5b9ae5119db042c5e071, }, w4: u384 { limb0: 0xf83ea19e58f36dfb00f5ce55, limb1: 0xa9e201136fafc1bff43560d8, limb2: 0x23fd58ab1bf41c10792d7ffd, - limb3: 0x4ebec45d01da532c22ab1bb + limb3: 0x4ebec45d01da532c22ab1bb, }, w5: u384 { limb0: 0x684275e8d953a79f60899ccb, limb1: 0xb18e874d63bf59ce2c949011, limb2: 0x457fb3e09f148575e172066c, - limb3: 0x150b00dfaa17d829b6dd5c03 + limb3: 0x150b00dfaa17d829b6dd5c03, }, w6: u384 { limb0: 0xd149a0d4da27002a5642c37b, limb1: 0xa71fea7579ac00de168a813d, limb2: 0x117b36766caa30b7cc54cf39, - limb3: 0x5376ad503028c81c1359a67 + limb3: 0x5376ad503028c81c1359a67, }, w7: u384 { limb0: 0x60cf60a90b0f985ac2aacdd7, limb1: 0x20ed4c6d121128b29ca8c7f2, limb2: 0x9d9a5f70c09f70c572cdb9f8, - limb3: 0x33b86259bf794af7ff4b871 + limb3: 0x33b86259bf794af7ff4b871, }, w8: u384 { limb0: 0x247e6ab4517b16d9454b428a, limb1: 0xb3647e9f6093737762a5c15b, limb2: 0x4764994dbefe4268f940353, - limb3: 0x9e9e48f06256acea0e845ea + limb3: 0x9e9e48f06256acea0e845ea, }, w9: u384 { limb0: 0x3fa933373fcb565bb588371f, limb1: 0x53babd42743d6d401b70dc45, limb2: 0xc61d4b87a359271a9318d7c6, - limb3: 0xadd5ef0316a5b7771a60136 + limb3: 0xadd5ef0316a5b7771a60136, }, w10: u384 { limb0: 0x97038a4a9cdb7d2fcec42361, limb1: 0x59ce5adedbdb2b586a82e8ad, limb2: 0xf22dbf3800a4a169d3c6c7e2, - limb3: 0x173f59f580a1bedc1b8f8674 + limb3: 0x173f59f580a1bedc1b8f8674, }, w11: u384 { limb0: 0xccc37b11a6abd0b1c43eca61, limb1: 0xc2e453ad058b0159b3bb8b88, limb2: 0x291724dc796ab3a452decb5e, - limb3: 0x167c4d498cafbbc0709a910b - } + limb3: 0x167c4d498cafbbc0709a910b, + }, }, E12D { w0: u384 { limb0: 0xfb6f2dc21108c4b5151f2644, limb1: 0xb62a4d04de63665a00a57773, limb2: 0x1670b2eaf514bfc8fc53ce22, - limb3: 0x130f529c90d3b568aca6e087 + limb3: 0x130f529c90d3b568aca6e087, }, w1: u384 { limb0: 0x19d81dc0086b598004e3bef7, limb1: 0xbc1384c369a618483eaa5567, limb2: 0x6ad960cc8a498524c1ec078, - limb3: 0xadf4daf613e0d097995aa8d + limb3: 0xadf4daf613e0d097995aa8d, }, w2: u384 { limb0: 0xd29b5724f6b6860e8fa58b56, limb1: 0x8b377db541dbbe2b9fa2b31e, limb2: 0xc3478090367667b8c7c40a96, - limb3: 0xd8ae4c4ab61a3b7237a8395 + limb3: 0xd8ae4c4ab61a3b7237a8395, }, w3: u384 { limb0: 0x18098cdc0aaa9de5d90d4785, limb1: 0x415b7efa58b50be0b4e2264c, limb2: 0x93e4c08ac1b499e1f0d6f521, - limb3: 0xaaf94e53139efb216ce5e0e + limb3: 0xaaf94e53139efb216ce5e0e, }, w4: u384 { limb0: 0xdf4ed64059dec768e050c2f6, limb1: 0xd3c1316e6a8799940ab2d258, limb2: 0x549413f970f60e7dc26655e2, - limb3: 0x35a9aeaa9102416916b2e5f + limb3: 0x35a9aeaa9102416916b2e5f, }, w5: u384 { limb0: 0x7442c43542d7f96a0bdc28a, limb1: 0xf422506e4ba33649decea164, limb2: 0x3aebe61dd6543439953778c, - limb3: 0xabdb4ce21a40381201b2705 + limb3: 0xabdb4ce21a40381201b2705, }, w6: u384 { limb0: 0xbe15abd3c348ddad19da6a10, limb1: 0x9e7d94492b6507ff377fb04f, limb2: 0x3bf64c8180bdc3335507a487, - limb3: 0xecfb1e3d52594e2d494e792 + limb3: 0xecfb1e3d52594e2d494e792, }, w7: u384 { limb0: 0x5b2b533a56d49245ab6788c6, limb1: 0xd86f1adc31c48edff72fd114, limb2: 0x9ab458995b092274677e207c, - limb3: 0x23ca282bada7d44f7cfd31 + limb3: 0x23ca282bada7d44f7cfd31, }, w8: u384 { limb0: 0x3437d71285507fca4851f133, limb1: 0x54ab8dd4a4a49d8ae172e8e0, limb2: 0xdad31a35129c5da141a6a49d, - limb3: 0xbc19f605351e55b755d68d7 + limb3: 0xbc19f605351e55b755d68d7, }, w9: u384 { limb0: 0xa4b79c920e09f351a49d7de5, limb1: 0x984bf5dc7d5fde910df79900, limb2: 0xc5088d8b76f99b9fa536dc41, - limb3: 0x12e688e9f1f4fad3711d14c2 + limb3: 0x12e688e9f1f4fad3711d14c2, }, w10: u384 { limb0: 0x9167cf28f421e605fc529bc1, limb1: 0x245b24732934cfbc08caed20, limb2: 0xc5635e145d2eef79f98fce36, - limb3: 0x180e73749e24faf4fcfd3b2 + limb3: 0x180e73749e24faf4fcfd3b2, }, w11: u384 { limb0: 0xde97ba398aa3a54028ab5184, limb1: 0xfa8f2784a38b5421adc6b4e4, limb2: 0xe3c7c2b40b1fe9a3e96c2c4, - limb3: 0x58f95a0d10e29ba75f4abfd - } + limb3: 0x58f95a0d10e29ba75f4abfd, + }, }, E12D { w0: u384 { limb0: 0xf7cb9c74a2c111c0755ef704, limb1: 0x67a7bdc548d00ca24752db6e, limb2: 0x5fc2a7a5510431696ab76c19, - limb3: 0x15249501304492c16d83291f + limb3: 0x15249501304492c16d83291f, }, w1: u384 { limb0: 0x55f588a277bf5c8a379a1f94, limb1: 0xaecf9b67ff5e644c13cb3993, limb2: 0x6bb2f12ba2cbe23fb8247d67, - limb3: 0x3ed46f7421c5162ca6ba24f + limb3: 0x3ed46f7421c5162ca6ba24f, }, w2: u384 { limb0: 0x2fb039392e1e9eacfe012783, limb1: 0xcc550086b3d01a606a030eb1, limb2: 0xdfc6d4c564c0695c34dfb6e6, - limb3: 0x11edbc923f8ebc5aefd70289 + limb3: 0x11edbc923f8ebc5aefd70289, }, w3: u384 { limb0: 0x59e9ad36dff5f9b289a66f0b, limb1: 0xfe0cd6c3385d435faea3fe13, limb2: 0xb1111302e6d8f88878cd2fb2, - limb3: 0x1073ed5e414f7f7e3aab4cc9 + limb3: 0x1073ed5e414f7f7e3aab4cc9, }, w4: u384 { limb0: 0x6d6ea80c99c8af39666df7b4, limb1: 0x87e26f50b2a298723ca31b49, limb2: 0x95aef7220ca22268bf66ed32, - limb3: 0x6cc0c6596529932a385f7f9 + limb3: 0x6cc0c6596529932a385f7f9, }, w5: u384 { limb0: 0xaf8a21cc737ec216405b6b30, limb1: 0x2731f6ef5d655a1368fc7bd1, limb2: 0xd5428f0c318cd5fa09e854c5, - limb3: 0xade1e414a93505d63733946 + limb3: 0xade1e414a93505d63733946, }, w6: u384 { limb0: 0x3fd711e86acf882a1f403cb2, limb1: 0x7c503cfca897c07df4c5cb3b, limb2: 0x46843cb1e9ef833a5869650d, - limb3: 0xa033c2879d1aaf7a54d0c45 + limb3: 0xa033c2879d1aaf7a54d0c45, }, w7: u384 { limb0: 0x2236aa04d4af4cd7a32dc9e2, limb1: 0x480f9dcff78b12a690d0cb8d, limb2: 0x6fa9da69e4a1c1a4fae93140, - limb3: 0x4ecc0f925cf79952426f74 + limb3: 0x4ecc0f925cf79952426f74, }, w8: u384 { limb0: 0x281d06a57030b61135cef166, limb1: 0xb35e03f80e56523abe9bd62d, limb2: 0xbff83152f2b6238494d8da43, - limb3: 0x16f23db2174fd855bbc9f573 + limb3: 0x16f23db2174fd855bbc9f573, }, w9: u384 { limb0: 0x2ae34f5f1b961e31cff788e6, limb1: 0xd5208cd2ba55b284bcb6a740, limb2: 0x8def14ec173b046b77cee877, - limb3: 0x8b924b8f096c955fa87bdb + limb3: 0x8b924b8f096c955fa87bdb, }, w10: u384 { limb0: 0xdd1563aa8adc394ba1bb510e, limb1: 0xe6a4f47eafd98a1d57f7618c, limb2: 0xf0fde0fde71032421d34c342, - limb3: 0xbe1046e6670770c40f83d9e + limb3: 0xbe1046e6670770c40f83d9e, }, w11: u384 { limb0: 0x6c23f54e964a04cc93accd7a, limb1: 0xd64796555b1e02e20e137d7a, limb2: 0xd6306e03d1e023aebfd884b0, - limb3: 0xeb55ee41c0d9903f5481cfb - } + limb3: 0xeb55ee41c0d9903f5481cfb, + }, }, E12D { w0: u384 { limb0: 0x4fd806a0c08d7cb1d8f5576, limb1: 0x947475d806bb8e73d72c6bb1, limb2: 0x58fd15305c66b78a447558b5, - limb3: 0xa07c3e28c6576058ea12204 + limb3: 0xa07c3e28c6576058ea12204, }, w1: u384 { limb0: 0x58244662118b67b83218a6eb, limb1: 0xebb5e2e2db5b9e0a6b3f5b2e, limb2: 0x3e1042fb26fbbae62ffe0728, - limb3: 0x15c39aa7cb6464b8bbdd9a54 + limb3: 0x15c39aa7cb6464b8bbdd9a54, }, w2: u384 { limb0: 0xf23ae0578867c5ec6121c5a0, limb1: 0x839ffceb9d2fd41b0648690c, limb2: 0x957e160add723e94eea2c76d, - limb3: 0x11c8875c282e2bffa22a4025 + limb3: 0x11c8875c282e2bffa22a4025, }, w3: u384 { limb0: 0x436161c822e4491dd8ccef2a, limb1: 0xdeef4e125ba9fdcb262e6af2, limb2: 0x1402cd92e91d2d46e4a5d6ed, - limb3: 0xa15d9e59cadf2cd29423a8f + limb3: 0xa15d9e59cadf2cd29423a8f, }, w4: u384 { limb0: 0x689749a0ebda6921732143a0, limb1: 0x5baf655dbcffa4154f1278cd, limb2: 0x274b7ef4bb61387d8ae1f60c, - limb3: 0x17824661dbd47612ae5a5460 + limb3: 0x17824661dbd47612ae5a5460, }, w5: u384 { limb0: 0x38248e96afa3964a27770f54, limb1: 0xcdbf91a995b3b0f56e64c291, limb2: 0xd6305f44de865a7dc66ad423, - limb3: 0x181c47228172dfa2880b24ee + limb3: 0x181c47228172dfa2880b24ee, }, w6: u384 { limb0: 0xf831ce78619934b9c066f9ad, limb1: 0xbb8b831e8ae9c18e7247d2f5, limb2: 0x9e4e8fed49a8161f9a7d6f41, - limb3: 0xd6f8228befd39ea769d2e22 + limb3: 0xd6f8228befd39ea769d2e22, }, w7: u384 { limb0: 0x26f6e50a7dae368f03b9203f, limb1: 0xe8254786b607c0c264159695, limb2: 0xf8df238611d760e21a824ae9, - limb3: 0xcb9d2a40bc4c198dadc7fc7 + limb3: 0xcb9d2a40bc4c198dadc7fc7, }, w8: u384 { limb0: 0xa31618232fc0a276fa8a13bc, limb1: 0xb2e5fd1cbe70792b1ae5be4e, limb2: 0xcad2bef61d3eb16dbe304133, - limb3: 0x746908f8e2904c17b88295 + limb3: 0x746908f8e2904c17b88295, }, w9: u384 { limb0: 0xf7fbbcd3a09d95a4b4b4271d, limb1: 0x53013b5b2cb87122125471ff, limb2: 0xb8ada555618e2cdd4bffab84, - limb3: 0x9f993ee384df146cd8df4ea + limb3: 0x9f993ee384df146cd8df4ea, }, w10: u384 { limb0: 0x7d6ce0b7c1cb3e2498f54294, limb1: 0xa261c1bd75d838bfb7082bf4, limb2: 0x4006f75c1d6b50133de4326f, - limb3: 0x836a75393f4c32f8c93b0f + limb3: 0x836a75393f4c32f8c93b0f, }, w11: u384 { limb0: 0x516f6021bc449c6442591c40, limb1: 0x846385bc47d8d5d7462de9de, limb2: 0xa46c395391341a99e731bb63, - limb3: 0xe3c1b8abb46081754501420 - } + limb3: 0xe3c1b8abb46081754501420, + }, }, E12D { w0: u384 { limb0: 0x7ecbc81a3c1252aed2cb5af1, limb1: 0x3383e4f86811fd96196f89a5, limb2: 0xe681090ab10830dd807c3443, - limb3: 0x1ee0f0a189fe6cf9eb5af7f + limb3: 0x1ee0f0a189fe6cf9eb5af7f, }, w1: u384 { limb0: 0xedf1f516e56499b6fb02c1c8, limb1: 0xc1f92022dc8805e7d95a1106, limb2: 0xe33f8dab8d7737441529e8ac, - limb3: 0x146e3b7474e409260572871b + limb3: 0x146e3b7474e409260572871b, }, w2: u384 { limb0: 0x9673e873b8a7c3418ebf8d4c, limb1: 0x7a783f69e749f4f29453c545, limb2: 0x69f350e484834de9d8fa34a, - limb3: 0xe9ca5bcc844976bf619effc + limb3: 0xe9ca5bcc844976bf619effc, }, w3: u384 { limb0: 0x5fcf82227a8ea8b3254820c9, limb1: 0xa2bd05419c073d586a41cf6e, limb2: 0xe518de71e6ac729107926d7c, - limb3: 0x844ea5cfff361a9705930cc + limb3: 0x844ea5cfff361a9705930cc, }, w4: u384 { limb0: 0x429c3618d116a80c181685fa, limb1: 0x486ce09af708401f4a6c7ee6, limb2: 0x15bbecd706ca76d65704416c, - limb3: 0x142489c0fe2e40be632effe2 + limb3: 0x142489c0fe2e40be632effe2, }, w5: u384 { limb0: 0x6c35d18f3e06bc51f762cf95, limb1: 0x6e5f3313f423ad6904300234, limb2: 0xc28cb4900bf47d29c3fbfc30, - limb3: 0x18d6a6340f2f9ddc473dcd7e + limb3: 0x18d6a6340f2f9ddc473dcd7e, }, w6: u384 { limb0: 0x77f90efb84d14408e59f1c03, limb1: 0xb049cbfe6bcd8d08b28e8ce9, limb2: 0xbb35bf3bf049671de2d64cff, - limb3: 0x173d7f74864e93e2060343f3 + limb3: 0x173d7f74864e93e2060343f3, }, w7: u384 { limb0: 0x52c3924e0df7f728e4b119c9, limb1: 0xeec6fa434e31cf84d10575b3, limb2: 0x34fc4325ef25b4772cf88be3, - limb3: 0x103bdbad7f3c5e4347f78e23 + limb3: 0x103bdbad7f3c5e4347f78e23, }, w8: u384 { limb0: 0x50b2cfe1dc1c01ae0e5969a, limb1: 0x2a9b3221a11e330465ef0595, limb2: 0x958ce0c16afbe3fc0276051d, - limb3: 0xfabbe257f75d65c2add5f22 + limb3: 0xfabbe257f75d65c2add5f22, }, w9: u384 { limb0: 0x6b8eb7bd4aefc50c3c79931, limb1: 0xb8857fda7cc456e68b528569, limb2: 0x95a710c446e6af9dd11f75b3, - limb3: 0x15f22d94f0a51b34b4dd51c3 + limb3: 0x15f22d94f0a51b34b4dd51c3, }, w10: u384 { limb0: 0xc47dbd473089bd4709414e0f, limb1: 0xf549310959600107d2281325, limb2: 0x909324fa4a1e59755e5aca2c, - limb3: 0x12f9ee461775892889de4320 + limb3: 0x12f9ee461775892889de4320, }, w11: u384 { limb0: 0xd8dd2af7e3ae6a18cd4251d3, limb1: 0x41f1e4e4c3e7daf40c677808, limb2: 0x4748497b4e11c79b39dce7e3, - limb3: 0x53e7ea7549b6f013ee9cb12 - } + limb3: 0x53e7ea7549b6f013ee9cb12, + }, }, E12D { w0: u384 { limb0: 0x7380438f87399c7e3609ef99, limb1: 0xae251f1bb307841b8e3b97ff, limb2: 0x10586f0049d74ac499bb10f1, - limb3: 0x15d69ce6494624b9dfaf148a + limb3: 0x15d69ce6494624b9dfaf148a, }, w1: u384 { limb0: 0xe70f2186c12698f57901bcc, limb1: 0x6853377d8eb10f90ffcddf81, limb2: 0x7fe7ce6260e8ccacd34aa93a, - limb3: 0x11c3d29b6bed3f8ec66ccf9e + limb3: 0x11c3d29b6bed3f8ec66ccf9e, }, w2: u384 { limb0: 0x8de574f1fa8df34dd4436614, limb1: 0x3d2468e8d3fe2f1b89bb129a, limb2: 0xe5c565c90b6e45bf3d6ef92a, - limb3: 0x2fdec231c7a259d6b274cc7 + limb3: 0x2fdec231c7a259d6b274cc7, }, w3: u384 { limb0: 0x381afcca5edd7ab2c2ee55d3, limb1: 0xdb0d28a944c5b5e6f1de9d1a, limb2: 0xca789736a75cd4847472db80, - limb3: 0xb8857429befc7d11918d904 + limb3: 0xb8857429befc7d11918d904, }, w4: u384 { limb0: 0x8aae77fae75932fd56ef1ed3, limb1: 0x1dcb6c6eff6602f4efc533c2, limb2: 0xb0853b8091023746c6956eb4, - limb3: 0x158e6193740bfac3349cae31 + limb3: 0x158e6193740bfac3349cae31, }, w5: u384 { limb0: 0xae2e48564c4d12a418a56403, limb1: 0x668c45ed4e3b77890ca488d, limb2: 0x758af6b95f421af2b9e80dda, - limb3: 0x829bbd81deb660c5c410ebc + limb3: 0x829bbd81deb660c5c410ebc, }, w6: u384 { limb0: 0x2b33f8be265845893a4d2cdf, limb1: 0xadab60575595c27d3a695f56, limb2: 0x2bb38114e26dcff01b3c7a, - limb3: 0xb15f5d3fcb62c5c1cb0103d + limb3: 0xb15f5d3fcb62c5c1cb0103d, }, w7: u384 { limb0: 0xf547b3d2ddb97a0ec597c1e4, limb1: 0x4dfe359dcb7415317a0d96c6, limb2: 0x4db32c68ccb2fff63d900b3a, - limb3: 0xf40331313d149fd78f8999f + limb3: 0xf40331313d149fd78f8999f, }, w8: u384 { limb0: 0xe1859718ba67a65d2f7dd9e1, limb1: 0x7f66d368473637540d2de335, limb2: 0x94d70dd4d71f90a6b8996edd, - limb3: 0x7f11bf976be5160fff2b5e8 + limb3: 0x7f11bf976be5160fff2b5e8, }, w9: u384 { limb0: 0xcb043aa483655ca971eb708, limb1: 0xc6514161d25e989cfe0eb910, limb2: 0x4b03463f10bd5486a5150bf6, - limb3: 0x19207d670b11d96e63c9c7f3 + limb3: 0x19207d670b11d96e63c9c7f3, }, w10: u384 { limb0: 0x518d10761529279fc06a4e8, limb1: 0x64139e4ea8660ee98b864aea, limb2: 0x1aa32f01ce8213c10b08030c, - limb3: 0x15064a81f43178365db85227 + limb3: 0x15064a81f43178365db85227, }, w11: u384 { limb0: 0x14ddb10fd846711efe04e524, limb1: 0x34676af4100eeb93fc894295, limb2: 0x2bbf7682b985b2187e2ad98c, - limb3: 0xb2c84517ed0cae95c0fd980 - } + limb3: 0xb2c84517ed0cae95c0fd980, + }, }, E12D { w0: u384 { limb0: 0x7053639bdef1a630ad4f5af6, limb1: 0x739c43473d55a600db56c9ab, limb2: 0x6a2e59a43b3e0b5a88499b12, - limb3: 0xe1d00aa3380a50f80ff85d2 + limb3: 0xe1d00aa3380a50f80ff85d2, }, w1: u384 { limb0: 0x3f2e33d1598a70be6cb11313, limb1: 0x1486afa60b15b33b54cfb747, limb2: 0x81bf2a71d10300239b7aaf1f, - limb3: 0x9b35119c385fc20a0386282 + limb3: 0x9b35119c385fc20a0386282, }, w2: u384 { limb0: 0x31d6979bfefd74931a576d6, limb1: 0x90a0c3530607355c33b0fd0c, limb2: 0x65fba06248d03e088f1d48a, - limb3: 0x11395dbf5901f9d349f3b984 + limb3: 0x11395dbf5901f9d349f3b984, }, w3: u384 { limb0: 0x4291c385689ad964bc8bf72a, limb1: 0xb0737aaac176737a1ecf6ac3, limb2: 0xce8664f73ce5a6aaf0f10ca7, - limb3: 0xb6a7d5c46340b57ed0472e5 + limb3: 0xb6a7d5c46340b57ed0472e5, }, w4: u384 { limb0: 0xd4e72b1d919d76e6f7c68488, limb1: 0xec2f0d04a7a2f7d4d7a31590, limb2: 0x4112c57e0a9dcfedf038c956, - limb3: 0x1928f6565ead905c25593eb9 + limb3: 0x1928f6565ead905c25593eb9, }, w5: u384 { limb0: 0x92b1d18299192443eab3cf31, limb1: 0x363339f1c99447dbe74383f3, limb2: 0xdcac6005cc60106f88576c3a, - limb3: 0x261463ad40df4e97165053e + limb3: 0x261463ad40df4e97165053e, }, w6: u384 { limb0: 0x45616d4a15bc7f5c57750089, limb1: 0x19ac60bbc57465009e3dcb1b, limb2: 0x7ceb498d022dfcfcae9aec60, - limb3: 0x19c44919e9fa2e772d9dccf7 + limb3: 0x19c44919e9fa2e772d9dccf7, }, w7: u384 { limb0: 0x74d7db77e3c5ea2003e6de14, limb1: 0x7f694b25adcf375071dc2f54, limb2: 0xf3d7f4f1a8dcb8d0debb2bcd, - limb3: 0x14c0504bbd68a3b627e1d579 + limb3: 0x14c0504bbd68a3b627e1d579, }, w8: u384 { limb0: 0xbf696e7d082490ab2a810909, limb1: 0xdce3d8459c86e173b9b814d9, limb2: 0x7d35e60fe95d54b4297c06ea, - limb3: 0xe0428d15a83059ac75d4252 + limb3: 0xe0428d15a83059ac75d4252, }, w9: u384 { limb0: 0xf15b4e3caed564cfc1168aa8, limb1: 0xfa6ecde037cb585b65aa3b52, limb2: 0xe2a2b5aede3c734d6530056f, - limb3: 0x14109312a06f6c1e8250362 + limb3: 0x14109312a06f6c1e8250362, }, w10: u384 { limb0: 0x9f4a8b4546befff0a6481af8, limb1: 0xdce5e22b5ea0a42e8928c84a, limb2: 0xe59648247bf7715701129ca8, - limb3: 0x1209e1d34b0c1d14ec7839cf + limb3: 0x1209e1d34b0c1d14ec7839cf, }, w11: u384 { limb0: 0xf2a74f539bad5a4682af3491, limb1: 0x93097b4ae591134223d3a872, limb2: 0xd33d11a3041a2bd1bbd4cfce, - limb3: 0x43584ae57d4f086e437d219 - } + limb3: 0x43584ae57d4f086e437d219, + }, }, E12D { w0: u384 { limb0: 0xccd3861f8b36806faafb781d, limb1: 0x6dda1400a7c6d4456935dd83, limb2: 0x20b444358405090025a9b7cf, - limb3: 0xf54e285bf8f9c32d389d6db + limb3: 0xf54e285bf8f9c32d389d6db, }, w1: u384 { limb0: 0xe9b4bf3d1c5b280abc31ebfc, limb1: 0xd862307b44fcf93aae7b11ba, limb2: 0xe232ba534a45a34a7432f6ea, - limb3: 0x82261cd3aeaa85fbe4c96df + limb3: 0x82261cd3aeaa85fbe4c96df, }, w2: u384 { limb0: 0x2c7b8a630170b7f631239855, limb1: 0x853e2961c8b4130c85116507, limb2: 0xbf9ce9a53e945b9c6d7b5f1b, - limb3: 0x145d89cb83700774a22db1bc + limb3: 0x145d89cb83700774a22db1bc, }, w3: u384 { limb0: 0xa74c5c7e5df8d3667adf1671, limb1: 0x52de2b913d78406ec8f99a, limb2: 0xc812988870f9f7517c79ff58, - limb3: 0xb223e7cfbc3fc377b1fe75d + limb3: 0xb223e7cfbc3fc377b1fe75d, }, w4: u384 { limb0: 0x8cfdf31674b93a20c992a24b, limb1: 0x8f21312988d7da962d321bc0, limb2: 0x2dbf0528a791ea0d5f981e13, - limb3: 0x15aac1f8e330eff4e20ab3fe + limb3: 0x15aac1f8e330eff4e20ab3fe, }, w5: u384 { limb0: 0xf685ec483cea983d1a69a4d7, limb1: 0xb82b746d8797df323095a302, limb2: 0x534715a12884e752ec62c600, - limb3: 0x1639bc27f80a1b9be7937efa + limb3: 0x1639bc27f80a1b9be7937efa, }, w6: u384 { limb0: 0x2bfbdf97d360b348dc75d028, limb1: 0x3e93c81c56c9d7703ac2d15, limb2: 0x3ecb33be37dc97e5a75ba27, - limb3: 0x14ec70fdfe7e62ee63fd9e82 + limb3: 0x14ec70fdfe7e62ee63fd9e82, }, w7: u384 { limb0: 0xecabff100ee999721d0aeedb, limb1: 0x408694288104b8240aefef54, limb2: 0xae05168387150e2c1c0b069b, - limb3: 0xf14bd4f7226a16796796e6b + limb3: 0xf14bd4f7226a16796796e6b, }, w8: u384 { limb0: 0x779e398587211c93d2d419af, limb1: 0xf33f48e9339556264944ed85, limb2: 0x641e8d0911a2129916d623a9, - limb3: 0xda22254161644c0d73135b3 + limb3: 0xda22254161644c0d73135b3, }, w9: u384 { limb0: 0x97edd0906ebc8269feff2745, limb1: 0x9faf40b4f990563dbb8b6a9b, limb2: 0x55e5557db5d8f738aca6cfce, - limb3: 0xf13fb2d9a5e619a1e10167d + limb3: 0xf13fb2d9a5e619a1e10167d, }, w10: u384 { limb0: 0x7fc2ba107c37bf200a3d128e, limb1: 0x9bb0216dec247ae73a8d8f46, limb2: 0x1ddfeeb377abfa6a56ce7bd7, - limb3: 0x152f629874880c14a7fc9709 + limb3: 0x152f629874880c14a7fc9709, }, w11: u384 { limb0: 0x29793cf627b6c775b761a603, limb1: 0x2d71f3cf25ee0423e7c54f3c, limb2: 0x8470327513832374e529222e, - limb3: 0xd8a7063ea9e13a1184eb587 - } + limb3: 0xd8a7063ea9e13a1184eb587, + }, }, E12D { w0: u384 { limb0: 0xc98374fb3b44c0e6942ba4a3, limb1: 0x67de3f6c038ef1323a6aa322, limb2: 0xb2277b3b25524d61527bacd7, - limb3: 0x14d40787156e7ebfa93f6f99 + limb3: 0x14d40787156e7ebfa93f6f99, }, w1: u384 { limb0: 0xced08def20a48570ef18bf4, limb1: 0xdb6983a66359c51f2ab71327, limb2: 0xe099b96500cdab825f87b7fd, - limb3: 0x14e67481e4aec8ffb05fbb17 + limb3: 0x14e67481e4aec8ffb05fbb17, }, w2: u384 { limb0: 0x7f465e87c522bb9f7df6a9f9, limb1: 0xda4ccc6d47457fd8073dac50, limb2: 0x52533bf52010ae930ae384f3, - limb3: 0x36f4d9a630f659ee0049940 + limb3: 0x36f4d9a630f659ee0049940, }, w3: u384 { limb0: 0x9458ec32cf854cf87179a081, limb1: 0x3708fddeb7317f93acfb1b9, limb2: 0x45e25f7a68c0c63865dc7169, - limb3: 0x17cc7f665ab618af9bb8ed0a + limb3: 0x17cc7f665ab618af9bb8ed0a, }, w4: u384 { limb0: 0x85fbbd958c9517c58a72f4eb, limb1: 0xeb94429d923c8f57aa64659d, limb2: 0x53d22d4278caae28dee0ab98, - limb3: 0x77749f245b0607f9a8266dc + limb3: 0x77749f245b0607f9a8266dc, }, w5: u384 { limb0: 0x4a9e638a04d4cdefa92a921b, limb1: 0xa751ed26127bdae0471e4d66, limb2: 0xcaa20c710aaaf86cf3509376, - limb3: 0x754e574bc910d618dc31dea + limb3: 0x754e574bc910d618dc31dea, }, w6: u384 { limb0: 0x5d9f22fb58b20cb89b60a7a2, limb1: 0xa2d39e0d29c61b355f9f8221, limb2: 0x5b42ad2b0cdd40f198fb4933, - limb3: 0x146b356a1037d82e3fd60a35 + limb3: 0x146b356a1037d82e3fd60a35, }, w7: u384 { limb0: 0x8c8f7c35ea3ba1960632cbb2, limb1: 0x88989dfeb7c7f7c108812866, limb2: 0x5d65fb080c6c9703c3de7da3, - limb3: 0x17f80c85d8708e2c4e0f76db + limb3: 0x17f80c85d8708e2c4e0f76db, }, w8: u384 { limb0: 0xe72c663563a2683a88282047, limb1: 0x9f896928b8f68240ae87318d, limb2: 0xae2fe9dae790ab09f051d396, - limb3: 0x103c85e204ea356a1df02170 + limb3: 0x103c85e204ea356a1df02170, }, w9: u384 { limb0: 0x8b2a42e00385585058c6871d, limb1: 0xca757495dd55992019b0532e, limb2: 0xddc38038d9b6c6b0c1191c19, - limb3: 0x456598325b3e07c16f6cb90 + limb3: 0x456598325b3e07c16f6cb90, }, w10: u384 { limb0: 0xc0a98bdc8196fd8b9bf4edf2, limb1: 0x971354e815f09e434646dc35, limb2: 0x8848e0035a10ca071f522483, - limb3: 0xea464fda93a90c2f0c6cbc + limb3: 0xea464fda93a90c2f0c6cbc, }, w11: u384 { limb0: 0x125314c8b22d6dc1d849816f, limb1: 0x81596b8b1354b4a79eff397b, limb2: 0x6fd4eae90dc4ca7a020c0d58, - limb3: 0x633d54eba634239e2224280 - } + limb3: 0x633d54eba634239e2224280, + }, }, E12D { w0: u384 { limb0: 0x7664507d65379e09b0cc8081, limb1: 0xa7214a05165e9dd1cb822746, limb2: 0xdaa4b32cd1894fcb5869da3e, - limb3: 0x11dd5a0d713ff9a4216dc02 + limb3: 0x11dd5a0d713ff9a4216dc02, }, w1: u384 { limb0: 0x72c884220671860deab6fe4c, limb1: 0xf7edb308d081aad11737b2aa, limb2: 0x179a550ac8de7988cb51745f, - limb3: 0x18c92348bd738ff79eb51da6 + limb3: 0x18c92348bd738ff79eb51da6, }, w2: u384 { limb0: 0xd0997e854e959e9fcf50612a, limb1: 0x731bde68fbe33e65958e25a5, limb2: 0x5c75550140147ca50f03f4c1, - limb3: 0x1724f1c48007969b733593aa + limb3: 0x1724f1c48007969b733593aa, }, w3: u384 { limb0: 0x8cdd8173b838cbfa5e716055, limb1: 0x7cce9c3704cca203a84d1eaf, limb2: 0x609798ba1aa28ffaff08d41, - limb3: 0x17815ba1eca35154689bbbd + limb3: 0x17815ba1eca35154689bbbd, }, w4: u384 { limb0: 0x1c7e64b6dbfeaca240b5ce1c, limb1: 0x334cf124f9c76e1e2c54997f, limb2: 0x64e29de5338a04c86a571534, - limb3: 0x4322d1d2e68ad82e5576014 + limb3: 0x4322d1d2e68ad82e5576014, }, w5: u384 { limb0: 0x8e8720162d72df7b82b54ddc, limb1: 0xf9a9d4e498d4932f72861daf, limb2: 0xa62955f8bf4d62ab5326d370, - limb3: 0xe10f22c8698bbbb16ce96ab + limb3: 0xe10f22c8698bbbb16ce96ab, }, w6: u384 { limb0: 0x7e12194ea7c3af3ca1f4627e, limb1: 0x57c3921b26b0c0f8ae782c80, limb2: 0x7807e0e72a965c15e92a3692, - limb3: 0x10d5c83fc7687bdeda2fa6a9 + limb3: 0x10d5c83fc7687bdeda2fa6a9, }, w7: u384 { limb0: 0x6c3118b5d18f2ba8f3358410, limb1: 0xdbd08498b72968ac4f865556, limb2: 0x1606bcc23a2fefcd7b98b187, - limb3: 0x1836f088bafe98f9f35b628d + limb3: 0x1836f088bafe98f9f35b628d, }, w8: u384 { limb0: 0xb3ec8857a717227fd2e410c7, limb1: 0xf71681b713d44faee8ccade2, limb2: 0x1a889225d6c3ae543975d7ab, - limb3: 0x4042e6058ba0ed258215db8 + limb3: 0x4042e6058ba0ed258215db8, }, w9: u384 { limb0: 0x92dca3c8ef22f5c5ad68411e, limb1: 0xea04b401e31bd03c03f45391, limb2: 0xf274818f73907b389eee6555, - limb3: 0x110981e160f9a1144b049f6d + limb3: 0x110981e160f9a1144b049f6d, }, w10: u384 { limb0: 0x7809289b28677816d3d20f51, limb1: 0x2b325b38281ca3d9447717a8, limb2: 0x750a16aae8cec71a981e64f9, - limb3: 0x4c4bb16a4d45dbfcdd6de82 + limb3: 0x4c4bb16a4d45dbfcdd6de82, }, w11: u384 { limb0: 0xa19d86a548a59b31bee7330d, limb1: 0xbab4358db8efdc356098935c, limb2: 0xecf4b1e2071637cfa269d441, - limb3: 0xfdc8efae68b158880892941 - } + limb3: 0xfdc8efae68b158880892941, + }, }, E12D { w0: u384 { limb0: 0x731a6668a56fb2e638b5386d, limb1: 0x2f6050b816d5da56d8b4aeac, limb2: 0x9f8cc60a1825ed2bc48ced64, - limb3: 0x14d27ab7d2dd9d4dfc62f9b4 + limb3: 0x14d27ab7d2dd9d4dfc62f9b4, }, w1: u384 { limb0: 0x36e235511e3aba57cd7a4166, limb1: 0x651418ba41dd7e611da499af, limb2: 0xa2443f20594fb2be6da75cc3, - limb3: 0xe5b76d2ac4d96fc0a324e20 + limb3: 0xe5b76d2ac4d96fc0a324e20, }, w2: u384 { limb0: 0xd9a45f081496460d0c0ed0ac, limb1: 0x2e77975aa2352664d6adb2e4, limb2: 0x2faa41b81ca6013a7f61b19a, - limb3: 0x486d9ef9a7963973b526016 + limb3: 0x486d9ef9a7963973b526016, }, w3: u384 { limb0: 0xa30b18466742d1c3215c7ca9, limb1: 0x76bb8e0f21ed01073e7cd26d, limb2: 0x72e300f6162dfb4f824322b3, - limb3: 0x170086077deae464de32c314 + limb3: 0x170086077deae464de32c314, }, w4: u384 { limb0: 0xb98779fe717a76947ffc64a8, limb1: 0x22829a2223d7a3c1e115868, limb2: 0xfd92daccd29c35d6e9891f91, - limb3: 0xc8cd313b3bac470a84c06c + limb3: 0xc8cd313b3bac470a84c06c, }, w5: u384 { limb0: 0xd7fb2ab79ade8db9f0753816, limb1: 0xc8e90a86892a3f9973f3a709, limb2: 0x439586d8958df5477546a8c9, - limb3: 0x11c5062a433f8a665d2fec03 + limb3: 0x11c5062a433f8a665d2fec03, }, w6: u384 { limb0: 0xec349f8ca4e9628ef8ad1d0f, limb1: 0x41ed7cebf144cf0991fd449f, limb2: 0x83fd7077e122719cd9a150db, - limb3: 0x4f4f8cab62516e0bd8eed4 + limb3: 0x4f4f8cab62516e0bd8eed4, }, w7: u384 { limb0: 0xd65b0369dac2474a3360256c, limb1: 0x73aa7477aa55f747c118bde4, limb2: 0x166c215a026d96f815575905, - limb3: 0x19ef4018eacc8cec0d7c2952 + limb3: 0x19ef4018eacc8cec0d7c2952, }, w8: u384 { limb0: 0xaf93f1012698bd074cae6d2a, limb1: 0xf1dd95a8d7d4c5624dc77fab, limb2: 0x22ad91dc94c520bed552ce68, - limb3: 0x7149e3ea5cbb31d49fa48d4 + limb3: 0x7149e3ea5cbb31d49fa48d4, }, w9: u384 { limb0: 0x309be21144e9429149f5ea74, limb1: 0x5a23ebfb744401c93d028104, limb2: 0x1328c0e96b3dc98cf9ca2178, - limb3: 0x4a0a0910ab2af1883e3bd42 + limb3: 0x4a0a0910ab2af1883e3bd42, }, w10: u384 { limb0: 0xd096a251af3d32c676bb4288, limb1: 0x81a2455886a5de7de17a3a3d, limb2: 0x785780c752a0fec2ab697d7f, - limb3: 0x424eb933d2f578926758c8c + limb3: 0x424eb933d2f578926758c8c, }, w11: u384 { limb0: 0x9bbf4ea4c5f12c0f3a80655a, limb1: 0x6c3952358a56be8b39ffc122, limb2: 0xaabdbf346cb1e900c6fa6ef7, - limb3: 0xfc816c836e1f58f9bc2ee34 - } + limb3: 0xfc816c836e1f58f9bc2ee34, + }, }, E12D { w0: u384 { limb0: 0x423f069d338c478ec1af9c39, limb1: 0x29b54a9a019077a85febd5b1, limb2: 0xd6c54429887f79c4f5e8537e, - limb3: 0x2d645e495b1ae162900aa5d + limb3: 0x2d645e495b1ae162900aa5d, }, w1: u384 { limb0: 0x15924967d61c029186ecddf3, limb1: 0xad51150b9a239c5f6107f3e, limb2: 0xc131c14b453f056fdeb354d0, - limb3: 0x7ce2f5cee25ccf4630a4da6 + limb3: 0x7ce2f5cee25ccf4630a4da6, }, w2: u384 { limb0: 0x24cffdd2b4963236469c595b, limb1: 0x1cedb62a0a9a9d19ec0ef73b, limb2: 0xc83e7dc874bd3671d4079d93, - limb3: 0x54f10b385a7cc18a25a48e9 + limb3: 0x54f10b385a7cc18a25a48e9, }, w3: u384 { limb0: 0x51156a1330e11e4107978c65, limb1: 0x126d680056df9e678c923a15, limb2: 0xc88a5e31000b304a279d33c3, - limb3: 0x5add5bf0e3de07507b300e9 + limb3: 0x5add5bf0e3de07507b300e9, }, w4: u384 { limb0: 0xaabb4da106a561c89da6e640, limb1: 0x67706e7ff291eb8350fe823f, limb2: 0xa2a5b3a4109b157167daed75, - limb3: 0x3a53fba9d2b86d5617419bd + limb3: 0x3a53fba9d2b86d5617419bd, }, w5: u384 { limb0: 0x49f0d1228f3483ea001e89c, limb1: 0x2904017f1a05647ad6b814bc, limb2: 0x32c50c7b36360c7072b97c5e, - limb3: 0x4a4b35d842e9157f9452ef4 + limb3: 0x4a4b35d842e9157f9452ef4, }, w6: u384 { limb0: 0xe910ff959aa337ba694b3103, limb1: 0x1eb7de8661a5aa726957afc5, limb2: 0xf46dc87d119c3f6b7bc26c47, - limb3: 0x16d4d3eee5db3369b1cd5095 + limb3: 0x16d4d3eee5db3369b1cd5095, }, w7: u384 { limb0: 0x2b2ebbf8ed056759bb5ad089, limb1: 0xc997a5c29ff182751a7a4a1f, limb2: 0xd4255d635200af86412c0d3c, - limb3: 0x133e3849f5abe45d50ebd4f3 + limb3: 0x133e3849f5abe45d50ebd4f3, }, w8: u384 { limb0: 0xc646891ae42a453618bf6946, limb1: 0x6cdba6a4c36531001a999ba9, limb2: 0x4f8028f68a1b39ea09f81c8c, - limb3: 0x5a4a8424db89080f7ef2d4c + limb3: 0x5a4a8424db89080f7ef2d4c, }, w9: u384 { limb0: 0xcfad8c2e4174ad2ae083acd8, limb1: 0x11fa7404e0d60cc8429a7206, limb2: 0x16f6645ea542f26a2bbb02c2, - limb3: 0xe221955c928cb0869ff1e7e + limb3: 0xe221955c928cb0869ff1e7e, }, w10: u384 { limb0: 0xa55f4a4e3b44b7435f37266c, limb1: 0xde3c9ef2eb0e12ebacbf789b, limb2: 0xec729141e4b14e595a75e170, - limb3: 0x9d7eb5a60f56f8c5b9cc908 + limb3: 0x9d7eb5a60f56f8c5b9cc908, }, w11: u384 { limb0: 0x51393b6db9309927d8ab8093, limb1: 0x81b817c741b2485a83aade8b, limb2: 0x45548c3f24b4ce607a7498a1, - limb3: 0x1329d0b6119a0a2fb95f1365 - } + limb3: 0x1329d0b6119a0a2fb95f1365, + }, }, E12D { w0: u384 { limb0: 0x22d7122b0c05411b942f9640, limb1: 0x1bcc87de4a309fbcf7df22c1, limb2: 0x3dbff192e88552ff01ec54f2, - limb3: 0x16453c594411bc9614273cb + limb3: 0x16453c594411bc9614273cb, }, w1: u384 { limb0: 0x3cdd3cbd9b5ef16b0ab5d12e, limb1: 0xc9b831682cc9f7562631eb82, limb2: 0xd8c0b4a326e6d711af1c6fcc, - limb3: 0x15999f5b65933e477e527ca2 + limb3: 0x15999f5b65933e477e527ca2, }, w2: u384 { limb0: 0x8e1e5c76737a52e34970f54a, limb1: 0x13e660457b4680094701954, limb2: 0x8ef5bfc33edf509615dba422, - limb3: 0xaf25c6ba9a9da6f8d1d8d84 + limb3: 0xaf25c6ba9a9da6f8d1d8d84, }, w3: u384 { limb0: 0xc6158c9388e8d4cdf213db7, limb1: 0x99bf0fc5cd55777088191fa4, limb2: 0xca9fb43a85b157663614f5e7, - limb3: 0xe19f5a790b81946863c09 + limb3: 0xe19f5a790b81946863c09, }, w4: u384 { limb0: 0xaaf5ae0abc93c789d2f553f5, limb1: 0xb0e4d0b4161db236bfdded84, limb2: 0xcb1b789e885ae9f7603d7597, - limb3: 0x173a004b4ac0b6990ce57848 + limb3: 0x173a004b4ac0b6990ce57848, }, w5: u384 { limb0: 0xb8270359d997a568b9ca2d, limb1: 0x6c3f97a0095424bac05918c8, limb2: 0x4fc75521f68391b186c98d69, - limb3: 0x179c925b368a6922c052109a + limb3: 0x179c925b368a6922c052109a, }, w6: u384 { limb0: 0x4a64cd8043d641ec589cbced, limb1: 0xc32ad31f1e72fbf5ad938a1d, limb2: 0x394ab548e7bbdcecd04cfa57, - limb3: 0x1903183cfe25996781a6f138 + limb3: 0x1903183cfe25996781a6f138, }, w7: u384 { limb0: 0x95d6117e159fd5a627fbf3c8, limb1: 0x8bb75a8e2cca90dca43db09d, limb2: 0x52ac5959acb24c2975de0b46, - limb3: 0xc733099ca61082513b739d0 + limb3: 0xc733099ca61082513b739d0, }, w8: u384 { limb0: 0xc254c0d7ebcfb3e456d4db70, limb1: 0x841731cd2f31e3eb6dc2cb83, limb2: 0xbd575ed553cf9d9f4fe2d195, - limb3: 0xb9b6dbbc6b7b7a3872452d6 + limb3: 0xb9b6dbbc6b7b7a3872452d6, }, w9: u384 { limb0: 0xc35f21cbc3ac37bfefbb62b, limb1: 0x6d0f6d5a72fb9754dd45e03e, limb2: 0x115c5b6547d1b15f1ab880c8, - limb3: 0x49fc712ba5a255dbc3c3734 + limb3: 0x49fc712ba5a255dbc3c3734, }, w10: u384 { limb0: 0x455d3b2f4797212bc3a8eb2a, limb1: 0xcb84367fab4cc67d4a608ee7, limb2: 0x27c5381bf627b1f6770fb730, - limb3: 0xda5838799c2b92a9a46f93b + limb3: 0xda5838799c2b92a9a46f93b, }, w11: u384 { limb0: 0xe377b673276f66aed0431e2e, limb1: 0x22424ab805248189df3bbc60, limb2: 0xe8df0a999d7ea73c0e5c21c6, - limb3: 0xa1a1a982e74b25c855c6630 - } + limb3: 0xa1a1a982e74b25c855c6630, + }, }, E12D { w0: u384 { limb0: 0xd8de7c0a020c2bfab98f462b, limb1: 0x4259e1a06cc5c0d48aa4b7b5, limb2: 0xa600cfba72cd0eefd68378ca, - limb3: 0x16d21a98b960ac0a3ce99480 + limb3: 0x16d21a98b960ac0a3ce99480, }, w1: u384 { limb0: 0x9c441104f663c6cfd27a21f, limb1: 0xa2538fbacb469c18af6f6d36, limb2: 0xaca0084cb5ce246d9e004b86, - limb3: 0x1818d39bf51f5701a630cd13 + limb3: 0x1818d39bf51f5701a630cd13, }, w2: u384 { limb0: 0x83662e661b082815e9b3291e, limb1: 0x953c223a59774cd045bb2e72, limb2: 0xd965efa4e0a2b9c6d63ed7bc, - limb3: 0x75910bff00e3ebfb430ea1d + limb3: 0x75910bff00e3ebfb430ea1d, }, w3: u384 { limb0: 0x21f101851b5e6a66fe5fb3cc, limb1: 0x2078ad4044a6e58b48b2fcad, limb2: 0xb95b15546d0fb95d6af37e7f, - limb3: 0xc85bc26e7c69777a5b73186 + limb3: 0xc85bc26e7c69777a5b73186, }, w4: u384 { limb0: 0x2813b1a799ef66155d7a5ff5, limb1: 0x706d19aaf61ac615d8d7a776, limb2: 0x35b48c7bae00bb479924c911, - limb3: 0x113f0545928ec85fc72b3b83 + limb3: 0x113f0545928ec85fc72b3b83, }, w5: u384 { limb0: 0x29ac845c79e1955587d53a3f, limb1: 0xb889fc1aef4cf20aff2f8c4f, limb2: 0x50fef6b1712a33cba0703bf4, - limb3: 0x149cfd613a758a131850b749 + limb3: 0x149cfd613a758a131850b749, }, w6: u384 { limb0: 0xa74862c7c240e22184bb0faa, limb1: 0xe185dab81bd7e850ecfe6e7e, limb2: 0x579166b24e863176b906fc26, - limb3: 0x4d862301cdecd83870cf1d3 + limb3: 0x4d862301cdecd83870cf1d3, }, w7: u384 { limb0: 0xd63ac2c17c787ffef5f67ac5, limb1: 0x490f34bd28d97037038b425c, limb2: 0x8eaaea7d3e9970844eca0bb7, - limb3: 0x12ff4861711d4f5fc6c7df52 + limb3: 0x12ff4861711d4f5fc6c7df52, }, w8: u384 { limb0: 0xa77d513840181e6049eb2cfd, limb1: 0x29144762781008597f248817, limb2: 0x29ddbf8ae66b47d99b8f144b, - limb3: 0x33b700fe7d54ab6cc6366d8 + limb3: 0x33b700fe7d54ab6cc6366d8, }, w9: u384 { limb0: 0x7c605b80a783b29fbdb7913a, limb1: 0x8b972070a4c66018b2157c13, limb2: 0x9b41fbff0b39b434d4fc621e, - limb3: 0x3642078114e5416bdd1743b + limb3: 0x3642078114e5416bdd1743b, }, w10: u384 { limb0: 0xb65736f5f91bc2870134be37, limb1: 0xe433e5c3d68b7ae3c424715a, limb2: 0x9fd29af8fc74edec039d14b7, - limb3: 0x77405e5599759db17b993e5 + limb3: 0x77405e5599759db17b993e5, }, w11: u384 { limb0: 0x5ebf0ff64d839d1b21510f03, limb1: 0x2ecb8cc84c90c881b6abd4f4, limb2: 0x1cce59b581d9b2b04bdce6c0, - limb3: 0x13c54e92b75b47920c1bc23c - } + limb3: 0x13c54e92b75b47920c1bc23c, + }, }, E12D { w0: u384 { limb0: 0xd230ba8192574b8f0d2e8d0d, limb1: 0x8d46a7f9896bc752e15f2bd1, limb2: 0x4c46523f3eaeb3d3c195cc64, - limb3: 0x9a8c180064d8e4aa41a3fb8 + limb3: 0x9a8c180064d8e4aa41a3fb8, }, w1: u384 { limb0: 0x6b41258f53e02a3f4f4080b9, limb1: 0xae4efe95de593debca9447c8, limb2: 0x53fa98259797f7b69a5a740c, - limb3: 0x1e723f2e6d538ec35ab098a + limb3: 0x1e723f2e6d538ec35ab098a, }, w2: u384 { limb0: 0xa82549fa15fa37278e37e54f, limb1: 0xf3e4bcc528ef5b1739c54e51, limb2: 0x23325e087bd1e6be95bc9c2, - limb3: 0x3d06b79028ddad39882372 + limb3: 0x3d06b79028ddad39882372, }, w3: u384 { limb0: 0xb8692892001c9cb56b90952c, limb1: 0x733b4da305705ade344a3621, limb2: 0xdfe666914d66fb6ab1d4c9bf, - limb3: 0x89317029155d09a628dc7ad + limb3: 0x89317029155d09a628dc7ad, }, w4: u384 { limb0: 0x92116763fe48fd34e5fcde4c, limb1: 0xbc96d0f997ba650008ac0eac, limb2: 0x770993a8f2ddc97a352efec4, - limb3: 0x1584ba5015a2629d14debb7d + limb3: 0x1584ba5015a2629d14debb7d, }, w5: u384 { limb0: 0xfcfe8c0df558699103baf566, limb1: 0x5435e711fabc8e56bf54699b, limb2: 0xeb0c73e7b22d70352bb5a564, - limb3: 0x343483df7a88d987c69408a + limb3: 0x343483df7a88d987c69408a, }, w6: u384 { limb0: 0x384d80fe4e9e50d65ceae168, limb1: 0x74f4dcd19aed7592bc9593ab, limb2: 0xe493540b588ffd977f4ee0ca, - limb3: 0x23ed7611ed958da6db24d3b + limb3: 0x23ed7611ed958da6db24d3b, }, w7: u384 { limb0: 0x2eec2f1a902b21208d2243b1, limb1: 0x3ff398adc2bf7b18affd6970, limb2: 0xfe74e53e674476aad89727fe, - limb3: 0x17adfbe5a9f0d328bed1b1d5 + limb3: 0x17adfbe5a9f0d328bed1b1d5, }, w8: u384 { limb0: 0xb3c26226f8db87e4acd22a19, limb1: 0x74b1ff048bb0cee38198e560, limb2: 0xf91b63c44856aa5995195c7a, - limb3: 0x57ae60555c4dfbb9f119dd0 + limb3: 0x57ae60555c4dfbb9f119dd0, }, w9: u384 { limb0: 0x391b35c3b492a2b733913137, limb1: 0x1b718fb7d4529435ea05e0ff, limb2: 0x7628c94eae8736f7066faa73, - limb3: 0x12482498758030e4cf058fa1 + limb3: 0x12482498758030e4cf058fa1, }, w10: u384 { limb0: 0x6fe096b1a72856d5ff144f61, limb1: 0xe7e8e20c91eb503e936201d3, limb2: 0xa873f6f582a8c5e528b7e017, - limb3: 0xac11b393a2ca9b81f52d7e2 + limb3: 0xac11b393a2ca9b81f52d7e2, }, w11: u384 { limb0: 0xbbcfbb7847f1fc7f5c887867, limb1: 0x8ca064238b30c902565c58f4, limb2: 0x3b342400e4bf64f5cfe303f8, - limb3: 0x141881c8cb4ac57fdd2421d0 - } + limb3: 0x141881c8cb4ac57fdd2421d0, + }, }, E12D { w0: u384 { limb0: 0x57c1e0a314f410d7c80f0d6c, limb1: 0x188efa3af0e9a15ae09a39a6, limb2: 0x8549ddd8cee9cc24a76927f5, - limb3: 0x828abb514c39b36af5e5e59 + limb3: 0x828abb514c39b36af5e5e59, }, w1: u384 { limb0: 0x86b5e60ab6d06ad115373349, limb1: 0x30ec5eab948a288e962221e0, limb2: 0xa5ece7da90052d41645094dc, - limb3: 0x292b0c29d2ca5076acaa1f7 + limb3: 0x292b0c29d2ca5076acaa1f7, }, w2: u384 { limb0: 0x53fa181062874a0e2952a6bd, limb1: 0x139aea9f3d57245a94f247b8, limb2: 0x13e918fdbed0933c9e1e4691, - limb3: 0x129ab8b6bedb190996697c6c + limb3: 0x129ab8b6bedb190996697c6c, }, w3: u384 { limb0: 0x8c94450ce70b11a241947381, limb1: 0xa6c255e7d67f8a5466c2d100, limb2: 0xa28b8d54a0eb9220bda7f20b, - limb3: 0x9645f3081882f29208bc4ca + limb3: 0x9645f3081882f29208bc4ca, }, w4: u384 { limb0: 0xdb6f564cc32943107d116638, limb1: 0xd9799a7f993d67fe769b8272, limb2: 0x861d137dc34f59e9b52ea65d, - limb3: 0x10da20caed9c13858e34bfd5 + limb3: 0x10da20caed9c13858e34bfd5, }, w5: u384 { limb0: 0x223bada77c016723d852006d, limb1: 0x95041b73eafb915659a2fff7, limb2: 0x36b777b400b7e9e299363ccd, - limb3: 0x17c8527995c3f0b83cbe83b + limb3: 0x17c8527995c3f0b83cbe83b, }, w6: u384 { limb0: 0x387c0822da34f6001fe9f474, limb1: 0x7ca208b866f7d21734a55544, limb2: 0x7415b9fff8e87b99635abfd3, - limb3: 0xcae06be69307d97643444a3 + limb3: 0xcae06be69307d97643444a3, }, w7: u384 { limb0: 0x7826924ebf635fa31599f2d8, limb1: 0x255b41d4dcc5e9df82f2bc5, limb2: 0x742046a3d48ba8fd2ded46fa, - limb3: 0x14e1a77687c2fafa04ad3cc5 + limb3: 0x14e1a77687c2fafa04ad3cc5, }, w8: u384 { limb0: 0xd1861303b32847e9dfa309b, limb1: 0x95643d858f4ab818e1429eb4, limb2: 0xf5f69835e9e3219e541e489a, - limb3: 0x106791b088d3043aec789d2 + limb3: 0x106791b088d3043aec789d2, }, w9: u384 { limb0: 0x3fbf8473656db45761cd4577, limb1: 0x95dfb9c6f2581b80ca9c6e0d, limb2: 0x19cdeb22dd3af66c09886e0, - limb3: 0x46d1856bcf6eb442eaa0dd1 + limb3: 0x46d1856bcf6eb442eaa0dd1, }, w10: u384 { limb0: 0xfc5db242d9eef89d6b2b0ead, limb1: 0xa441afa00af0ebf9e4a5566d, limb2: 0x737340b78921c31e7d6b998b, - limb3: 0x152c1e8a7645e37878c00117 + limb3: 0x152c1e8a7645e37878c00117, }, w11: u384 { limb0: 0x707b12110eb67f3f3e25082d, limb1: 0xadfe406a34710c9b1f1a67f9, limb2: 0xcf700552ca3b4a453710e271, - limb3: 0x1329ce5688848746b4cdb9c6 - } + limb3: 0x1329ce5688848746b4cdb9c6, + }, }, E12D { w0: u384 { limb0: 0x63ea02a83316ced86cff7bc3, limb1: 0xad3cc1665ec97ed103bf2a97, limb2: 0x66e914ba49a82240606bef39, - limb3: 0xbe1aae2e0755468744c9cf8 + limb3: 0xbe1aae2e0755468744c9cf8, }, w1: u384 { limb0: 0xdd0988f0f7381759cede6cf1, limb1: 0x8c668cf30f6b849f93e18738, limb2: 0x17677bd95c25553069f8d3bb, - limb3: 0x213b88bd1d59c856f22c57a + limb3: 0x213b88bd1d59c856f22c57a, }, w2: u384 { limb0: 0x468ebd74785e502a030b2d64, limb1: 0x99e6500a6eec17b7582c46de, limb2: 0xca602fa99428bb3096ed2234, - limb3: 0x221c7127baba56f36027a78 + limb3: 0x221c7127baba56f36027a78, }, w3: u384 { limb0: 0xecf5c97a4baeeec96686a951, limb1: 0x8a858ecbe3f7428c1e485263, limb2: 0x7a93d3d522c174fc7563ce8, - limb3: 0x6b458b1280095fbd58dced3 + limb3: 0x6b458b1280095fbd58dced3, }, w4: u384 { limb0: 0xf7235d01c69ea79eb8c3f3c8, limb1: 0x1e8d53af3b6a8c0d384dba87, limb2: 0x7219df5572fc6a5fb03c3640, - limb3: 0x4a28cd8ddddd35c4a2bc756 + limb3: 0x4a28cd8ddddd35c4a2bc756, }, w5: u384 { limb0: 0xea22308af0e9f3e49bc2073, limb1: 0xe16fb20226994cd501b48956, limb2: 0x8b5463f6a25ad49ef766f7c9, - limb3: 0x920549318b13fd2a55438e + limb3: 0x920549318b13fd2a55438e, }, w6: u384 { limb0: 0x72d478cbbd10de13e7840523, limb1: 0x61148bd13cf2cd5f974ef513, limb2: 0x14fc5faacaf5f306eca036dd, - limb3: 0xd5c18cfe88ef2a96785e79 + limb3: 0xd5c18cfe88ef2a96785e79, }, w7: u384 { limb0: 0xedaaa07fbc739502463ef449, limb1: 0x8756dc3df79501b08bcfd30a, limb2: 0x41db0294140d03ab93ac331a, - limb3: 0x2faf35b55c223051329f5f9 + limb3: 0x2faf35b55c223051329f5f9, }, w8: u384 { limb0: 0xf4ddf6770b28a0e39c42e1, limb1: 0x1bc579527a6d36ebcb9c1e43, limb2: 0xd8d3dda24eb2d5c51e94fbf7, - limb3: 0x1929169f16f2bb1805258a1f + limb3: 0x1929169f16f2bb1805258a1f, }, w9: u384 { limb0: 0xb7c17acd08c863c5de00ab8e, limb1: 0xd061e541ab904021cb7415f3, limb2: 0x4e4103b8a474b65ca3b96404, - limb3: 0x43f042bfe3512474ab82a6 + limb3: 0x43f042bfe3512474ab82a6, }, w10: u384 { limb0: 0xdf4f7f352c2231ba350a5e09, limb1: 0x436f7c965c9cba8884ee1f92, limb2: 0x8820c54c22fc9835d6d63889, - limb3: 0x137b29d6f48df1e1e6a859e3 + limb3: 0x137b29d6f48df1e1e6a859e3, }, w11: u384 { limb0: 0x213101a3e3c1d0de36762bb2, limb1: 0x2841a7df27a0c7cd8324b382, limb2: 0xf3aa170a745fb830cf57da1e, - limb3: 0x34d8b8302b0f58d9d5a85e4 - } + limb3: 0x34d8b8302b0f58d9d5a85e4, + }, }, E12D { w0: u384 { limb0: 0xc102bc3e2c1431657103a4a8, limb1: 0x3aba49ff88c4ee3806b04d0d, limb2: 0x985c1f9d4156682f0c5aef65, - limb3: 0xc0561c0e6c3d1cc794c57dd + limb3: 0xc0561c0e6c3d1cc794c57dd, }, w1: u384 { limb0: 0x9c02003f65c233b63f5d57df, limb1: 0x675a9896c5ebc6c86acfe082, limb2: 0xf10e29c84b756a49c862026e, - limb3: 0x397c60ac478f6f3d04dd211 + limb3: 0x397c60ac478f6f3d04dd211, }, w2: u384 { limb0: 0xde0ab514224b0a09d4470108, limb1: 0x30cffe24a16eef64a4e3f8d9, limb2: 0x250e573cf0cdc9d0474a96a5, - limb3: 0x320c97808c919b6bc77a6b9 + limb3: 0x320c97808c919b6bc77a6b9, }, w3: u384 { limb0: 0x22e1478aaa8dbef5b7eb5c75, limb1: 0xd73e5649b061e7dec320410, limb2: 0x9e5973e5c196af20a9522b87, - limb3: 0x888405f1b7e02f51d25e4cc + limb3: 0x888405f1b7e02f51d25e4cc, }, w4: u384 { limb0: 0x7d63d9cb91c7e6ecea27bd0f, limb1: 0xafd606d67aec5132495aea6e, limb2: 0x89d9cc366cd70849bf7a6c5a, - limb3: 0x6a1cdcfbb9094ed585438 + limb3: 0x6a1cdcfbb9094ed585438, }, w5: u384 { limb0: 0xc63d5979f095ce42b97ffe02, limb1: 0xf0b1958f676e488a85a463d3, limb2: 0x579f2806dc3a11e99b548e2c, - limb3: 0xd3efe9be9e8ed6f0311f48a + limb3: 0xd3efe9be9e8ed6f0311f48a, }, w6: u384 { limb0: 0x241c2c02a7a3ed68c8347454, limb1: 0x3c2e082d9d49bc403f20af15, limb2: 0xffb91438b7adbf0fd03b8452, - limb3: 0x9f4a8a1c2bd71edd80fc8fa + limb3: 0x9f4a8a1c2bd71edd80fc8fa, }, w7: u384 { limb0: 0x7a09864d807d30f8134e35af, limb1: 0x4909a61fde584e8a97843962, limb2: 0xb0ae7df0ca31783cdef766ec, - limb3: 0xab6c21fb130ff409a076e98 + limb3: 0xab6c21fb130ff409a076e98, }, w8: u384 { limb0: 0xa4cf4a4bfb9a8696346ae5f2, limb1: 0xf441ab330a1a48b023ea4b16, limb2: 0xccbedbb5d89afd778ebbe2c6, - limb3: 0xba098deb3929c27bad2d7cf + limb3: 0xba098deb3929c27bad2d7cf, }, w9: u384 { limb0: 0x15ecdee09158e723e156143a, limb1: 0x2d88661ce3e7ed32f1813f83, limb2: 0x9268f857661e69f43c1006e9, - limb3: 0x1baab7bc3df8b069e7921d3 + limb3: 0x1baab7bc3df8b069e7921d3, }, w10: u384 { limb0: 0x8851dedab1e371b332830bb3, limb1: 0xe53bc821c7dd0054d6f6f857, limb2: 0x46240f19ae951bc875a2c8d5, - limb3: 0xe7507265782567bc614a60b + limb3: 0xe7507265782567bc614a60b, }, w11: u384 { limb0: 0x9cace8682481da13c90f59c7, limb1: 0x79b9f6744c3fa34fa7ff5e2c, limb2: 0xa95279fc2041e30178a37645, - limb3: 0x1201d399c1c8c0f103f8acf8 - } + limb3: 0x1201d399c1c8c0f103f8acf8, + }, }, E12D { w0: u384 { limb0: 0xfe58f82f5a9a9486897fd7e1, limb1: 0x2f004eba229cefab93da839d, limb2: 0x3002f2bb83b58880f0d25efa, - limb3: 0x122600e61fb5e8a8f3a87752 + limb3: 0x122600e61fb5e8a8f3a87752, }, w1: u384 { limb0: 0xdcc4e4defac8110561f0b81f, limb1: 0xe4595573f7563e76b39ecf25, limb2: 0xe9a4f842ebb4b0f21e7e6904, - limb3: 0x1b7035165596268ab55405 + limb3: 0x1b7035165596268ab55405, }, w2: u384 { limb0: 0xe2a1e6ad130b5dec5a307b9c, limb1: 0xa0715f0bb37946dee0717185, limb2: 0x89926a4a4bd27b0dcb987e4, - limb3: 0xfa2213bf1fa84f02b4f4886 + limb3: 0xfa2213bf1fa84f02b4f4886, }, w3: u384 { limb0: 0xf7a4cd53187cf70d56c22d5b, limb1: 0xe27c4a45b50546e7d688b66b, limb2: 0xfffbb1435cd3e4d84e85fca7, - limb3: 0xeef721f1ff2d893b897c350 + limb3: 0xeef721f1ff2d893b897c350, }, w4: u384 { limb0: 0xf91449f591421e2ef6a486e7, limb1: 0xeeef2201ee263b14b45d18e4, limb2: 0xbd80060590e3e6b8ea5c51c9, - limb3: 0x265aec09b58dacbb7a04b17 + limb3: 0x265aec09b58dacbb7a04b17, }, w5: u384 { limb0: 0xa799249a4b8a0bf74c5885dc, limb1: 0xf3369cf6149d51d50c53050f, limb2: 0x94e0a1d05c1748dbf29dcddb, - limb3: 0x1025ab4a8aff8453c776f76 + limb3: 0x1025ab4a8aff8453c776f76, }, w6: u384 { limb0: 0xab0a9cbc3226d768b05be455, limb1: 0xda1ec9b71b4492481506fcd7, limb2: 0xdc657a6b18a8b49f20be7022, - limb3: 0x16501c8c3d498fdd182c68da + limb3: 0x16501c8c3d498fdd182c68da, }, w7: u384 { limb0: 0xda69756ffc4c2cc6785aea22, limb1: 0xf61431a0fb779cd2dcd9d576, limb2: 0x13bf99c01ad490a1b53665f8, - limb3: 0x18af034f82f45856ec965578 + limb3: 0x18af034f82f45856ec965578, }, w8: u384 { limb0: 0xd266c249f052d3f201c1b0d2, limb1: 0x13da63c60e3566cc4f009ccc, limb2: 0x3333fc6cdb72a6194cde21f6, - limb3: 0x1604d59edc49752480de7888 + limb3: 0x1604d59edc49752480de7888, }, w9: u384 { limb0: 0x440a479dbe693668b173c604, limb1: 0xe7aa2e5dcfda7aacf9e06a79, limb2: 0x659ba8b7e2702424fd322b71, - limb3: 0x15f91e27f1ea647ab5b891a2 + limb3: 0x15f91e27f1ea647ab5b891a2, }, w10: u384 { limb0: 0x7d84e72876d78a543b85f35, limb1: 0x41d7a06e4188086be325658c, limb2: 0x4a3001b914f7fb1079e14d4e, - limb3: 0x167fc4dc25373f64678594d7 + limb3: 0x167fc4dc25373f64678594d7, }, w11: u384 { limb0: 0x82563c053c16182776849317, limb1: 0x6700ae4d019967f052b9feec, limb2: 0x78546ed88fbe3f4cb7f7a30c, - limb3: 0x534411f7b6d38c591965d08 - } + limb3: 0x534411f7b6d38c591965d08, + }, }, E12D { w0: u384 { limb0: 0x43cfc7d230ced51564ac1d27, limb1: 0x3f27df63705e89b5887f6ef6, limb2: 0xed962f37b246373dbe286875, - limb3: 0x1153ae983b4bebeb96cee574 + limb3: 0x1153ae983b4bebeb96cee574, }, w1: u384 { limb0: 0x796edbbce52298f87a09de3c, limb1: 0x28594a3a94d2643da1f44c88, limb2: 0x1122679cf2a223c7641eba1, - limb3: 0xec358db63b010a5f0195832 + limb3: 0xec358db63b010a5f0195832, }, w2: u384 { limb0: 0x65114260981734bbd0c401dc, limb1: 0xaece96d8df427dc37661c427, limb2: 0xee18de1e045a8e8f278623ac, - limb3: 0x119fd094c25c6ad221e4b923 + limb3: 0x119fd094c25c6ad221e4b923, }, w3: u384 { limb0: 0x2260aed58c6f1839b18780e0, limb1: 0xff136cb3f7910868a9bd9f6b, limb2: 0xa8eac3560aa6f0b6e9ce27f9, - limb3: 0x147713d9a2ed668c5f769433 + limb3: 0x147713d9a2ed668c5f769433, }, w4: u384 { limb0: 0xbfa0b51b9f28c1f41615b31a, limb1: 0xafe3bdfe46e1df691c9e4a8b, limb2: 0x8ec87ae1766b9944f1d28933, - limb3: 0x173b1e22848118b6d362da12 + limb3: 0x173b1e22848118b6d362da12, }, w5: u384 { limb0: 0x3cb1473e40e34bac4f045ec0, limb1: 0xffe3bde303763828c46764b2, limb2: 0x2b156470816c102ef2910681, - limb3: 0xff3da5b54bbef112da2264a + limb3: 0xff3da5b54bbef112da2264a, }, w6: u384 { limb0: 0xe700fcac3096a1a6fd859886, limb1: 0x31262c27298b10b8d1a8355, limb2: 0x7a0c2177d76d700ef9d473a0, - limb3: 0xf68f4e6113a631c0da8e2fa + limb3: 0xf68f4e6113a631c0da8e2fa, }, w7: u384 { limb0: 0x74b654d838f7a245bee7f39f, limb1: 0x665df41d4d1641df03af8d97, limb2: 0xd3ddeee4890b0c01b82e54c5, - limb3: 0x12c5046f460d2c4e5b4384dc + limb3: 0x12c5046f460d2c4e5b4384dc, }, w8: u384 { limb0: 0xfccdc5d4095fc526da571897, limb1: 0x83b7338c59475d4d75e801d, limb2: 0x402d5fd5dae3ea66188e61c0, - limb3: 0xa4242530cd7992d10545d7f + limb3: 0xa4242530cd7992d10545d7f, }, w9: u384 { limb0: 0x8f330139a313def3b14a4191, limb1: 0xbbc6ef1fb35d0f418f9f78b5, limb2: 0xbb0532bb79ba32741aed8541, - limb3: 0xece0fdc026b4f6a1a0e84ea + limb3: 0xece0fdc026b4f6a1a0e84ea, }, w10: u384 { limb0: 0xcd423bcb1fbc2198f7bfc5bc, limb1: 0xb2829a2104116480290ac2de, limb2: 0xbab0876e094583ff5a08ffe5, - limb3: 0x9566104e8e04e6378963df0 + limb3: 0x9566104e8e04e6378963df0, }, w11: u384 { limb0: 0xcbcb4e81ebceca9d4be2280f, limb1: 0x46236f243dc5d2907d7cb0e6, limb2: 0x886438c7d5394b0df090d49c, - limb3: 0x1736df2c975b470c28a0dfb8 - } + limb3: 0x1736df2c975b470c28a0dfb8, + }, }, E12D { w0: u384 { limb0: 0x41aaffbd4ffbc921fa99dafc, limb1: 0xe10f7c7325899560c7dc1a15, limb2: 0xc24436ca6dd16b7441353e1a, - limb3: 0x768fbbaedb7eb6fa18ee62a + limb3: 0x768fbbaedb7eb6fa18ee62a, }, w1: u384 { limb0: 0xa237ae4d25932d4ea5316730, limb1: 0x2d696a5048a33ad2fe17b0fd, limb2: 0x2748a8d213d462a9afaf75d1, - limb3: 0x1537e87dbfb1af57898e5a44 + limb3: 0x1537e87dbfb1af57898e5a44, }, w2: u384 { limb0: 0x77e95072df611554c6efed5a, limb1: 0xb1a40cdb1e3fd9dc0c2f0268, limb2: 0xafa4361c57a92f48e272fd3c, - limb3: 0x19670062e69cf3c129c6037b + limb3: 0x19670062e69cf3c129c6037b, }, w3: u384 { limb0: 0x35569a07f433ce179f869383, limb1: 0x2da70c3d64dc95f2a35dc5da, limb2: 0x5b6e4b1ebc196d9275e65fcd, - limb3: 0xf527e45157446612739f8ea + limb3: 0xf527e45157446612739f8ea, }, w4: u384 { limb0: 0x52794dcb5d3a71e191ca9117, limb1: 0x1081a05756e17821c1a6b318, limb2: 0x7806bbf278080f55a756ac75, - limb3: 0xa02c71394733385a722a842 + limb3: 0xa02c71394733385a722a842, }, w5: u384 { limb0: 0x488205f5f0ed76726dc2e4a8, limb1: 0x2156776174a8c26fcb09988, limb2: 0x48ed81cc7d76f82b1770c797, - limb3: 0x581d27120bc189525f2a93d + limb3: 0x581d27120bc189525f2a93d, }, w6: u384 { limb0: 0x5bd47af3f999778815753987, limb1: 0xb6749ec4bc2deb56879c4187, limb2: 0x12f25e541c1a97a1a04db98a, - limb3: 0x29634e7d8dbbf051cac5686 + limb3: 0x29634e7d8dbbf051cac5686, }, w7: u384 { limb0: 0xb63879d6fdc4ddd1f14e0d7e, limb1: 0x5502d042b5ca2ca1fd1c87d, limb2: 0xde0a342fb21dec963cb42765, - limb3: 0x9e6bd948d174830a6c0bdb5 + limb3: 0x9e6bd948d174830a6c0bdb5, }, w8: u384 { limb0: 0xbab8115cffcdaa9e9ffdd880, limb1: 0x507a287e0529113ee7c9872a, limb2: 0x8c9a7d3cd5caf1cbf71ea4f, - limb3: 0x171c19b44ea2abed89e0eee7 + limb3: 0x171c19b44ea2abed89e0eee7, }, w9: u384 { limb0: 0x3bdbf8f85ceba757f787a73f, limb1: 0x55e0e28688c74db104715a2d, limb2: 0x1d8c0545ec4eb386da5973c, - limb3: 0xc12462e516c1d11b83d70c0 + limb3: 0xc12462e516c1d11b83d70c0, }, w10: u384 { limb0: 0x589e9e0e262699811b884e88, limb1: 0x849f9b1f3bfbecd0815d022, limb2: 0x72e87be328e66292abc0bfa0, - limb3: 0xc20248f3856e6b79db43f4f + limb3: 0xc20248f3856e6b79db43f4f, }, w11: u384 { limb0: 0xa0d3c01dc5b590235ed2b4a8, limb1: 0x36a65d97aa5e2789abe72557, limb2: 0x4dc3c2f633d2e2bf574872ac, - limb3: 0x9b01ee1082798777c0ba5ce - } + limb3: 0x9b01ee1082798777c0ba5ce, + }, }, E12D { w0: u384 { limb0: 0x3f8f38e60deac05c2621e24f, limb1: 0xd09553fa481657f8340e5069, limb2: 0xc4822e62b67cb0f3512ed972, - limb3: 0x8fdd89171a3d99d824644e3 + limb3: 0x8fdd89171a3d99d824644e3, }, w1: u384 { limb0: 0x9f974bcce04ca7c552cefc61, limb1: 0x7d1e97af057c4e8bd1237e3a, limb2: 0xf6c412a8f240fdb471a4e6e8, - limb3: 0x12798c3ef22db33c453af285 + limb3: 0x12798c3ef22db33c453af285, }, w2: u384 { limb0: 0x351067948f68705deef729f0, limb1: 0xdac1ded2ce3421f0f1c2a824, limb2: 0x8d9e3cebc0f199ce2dba4472, - limb3: 0x37aca41f4d506c7b78e5a97 + limb3: 0x37aca41f4d506c7b78e5a97, }, w3: u384 { limb0: 0xb7ff11075c5dfb0889eb8cf9, limb1: 0xdd6620d6caebf6d2c4bc9fe4, limb2: 0x78ebf44c90eb026aef8a4723, - limb3: 0x11df205507286f5912bb28f9 + limb3: 0x11df205507286f5912bb28f9, }, w4: u384 { limb0: 0x2184c9e357e8fc5938e9f91e, limb1: 0xf6b93e6931861792051e41e8, limb2: 0xfa6774f07bec91d5b9056ac0, - limb3: 0x5fd1e8fcb66b2024f4770cb + limb3: 0x5fd1e8fcb66b2024f4770cb, }, w5: u384 { limb0: 0xd34e1ed35b4acef37cdfcfcf, limb1: 0x3a3af4aade2ca0b690f8b745, limb2: 0xf18dd5095a8e61ebe9ec15c0, - limb3: 0x14ac25a5dd1932d42434e64f + limb3: 0x14ac25a5dd1932d42434e64f, }, w6: u384 { limb0: 0x8deb2453cc29535af302a32a, limb1: 0x47377a569ca788bd447d51a, limb2: 0x7473f95b420a7a96033055b2, - limb3: 0x1368da24ff42c9dbaddd1fd9 + limb3: 0x1368da24ff42c9dbaddd1fd9, }, w7: u384 { limb0: 0x8a006d92f0f659b5879128c, limb1: 0x91a706c5249b0611411ef8, limb2: 0x476806b8ff9f387448c2283f, - limb3: 0x86486211f2b7a69d85e6cc + limb3: 0x86486211f2b7a69d85e6cc, }, w8: u384 { limb0: 0x359fb6053a482fd881477b73, limb1: 0x2e56ddae282b251bd26dc277, limb2: 0x9cc9414eb0de5930e18c2aef, - limb3: 0xba5c3dae029b3461c4d83e3 + limb3: 0xba5c3dae029b3461c4d83e3, }, w9: u384 { limb0: 0xd0329a1bee072189c5ee820d, limb1: 0x606c86092ed3d4c42466d4ed, limb2: 0xf05b66e3549519f50780d211, - limb3: 0x9a4267bb540004634129449 + limb3: 0x9a4267bb540004634129449, }, w10: u384 { limb0: 0x7aac5888cca570c157bf526f, limb1: 0x37f49ebc8a648980697e0e77, limb2: 0xf97e721d54c47e0de9076619, - limb3: 0x142cb1de4579b0555e3da41c + limb3: 0x142cb1de4579b0555e3da41c, }, w11: u384 { limb0: 0x1ed3e34a9c2bf2a76e006e02, limb1: 0x295f1656ab393d271edff1c6, limb2: 0x5420889deecb1a07595e00d9, - limb3: 0x4283e729218065b6577b5e2 - } + limb3: 0x4283e729218065b6577b5e2, + }, }, E12D { w0: u384 { limb0: 0x5075209593337486e18df46d, limb1: 0xf0356df4c7181711fc91a827, limb2: 0xd97a31f91df154f5bb5851cc, - limb3: 0x171ad2856e94d72ca9a24f15 + limb3: 0x171ad2856e94d72ca9a24f15, }, w1: u384 { limb0: 0xff1d933543c728b07bca89f9, limb1: 0xccef75c4f943b25f9239cb2d, limb2: 0x5c4ebc877307706d280a3dbb, - limb3: 0x1eb968438d74e489e2b3144 + limb3: 0x1eb968438d74e489e2b3144, }, w2: u384 { limb0: 0x8cc0fc5028083749c6f1aba5, limb1: 0xf1a9d3c2e0265d84355ba0f4, limb2: 0x335a9d47fd282d5dce169790, - limb3: 0x10f93b957c6f10e331c414bc + limb3: 0x10f93b957c6f10e331c414bc, }, w3: u384 { limb0: 0x46ec651152db5023c9f201ed, limb1: 0xfb6d11467392f49bb22c65c9, limb2: 0xa591f73affc1eab979a3e88b, - limb3: 0x826052b7ce51942a2ef191e + limb3: 0x826052b7ce51942a2ef191e, }, w4: u384 { limb0: 0x33ba6d3afeb674e23e5875d0, limb1: 0x59f23b1c3550f6e384c0f685, limb2: 0xda5c8ec47b003492848f9ced, - limb3: 0x1693006cebfdda8888546ed4 + limb3: 0x1693006cebfdda8888546ed4, }, w5: u384 { limb0: 0xd6d0c83bf1cad49129736afe, limb1: 0x9649be7e294be8399af5d37f, limb2: 0x4aa71b90ad07b5b8a36e6c12, - limb3: 0x35aec40aaf79e7d69ccbee7 + limb3: 0x35aec40aaf79e7d69ccbee7, }, w6: u384 { limb0: 0xdb5a92f23380dee1624ece55, limb1: 0x5134a328c29fbe8f507b8e9, limb2: 0xc945ce072ddf331a76668f54, - limb3: 0x16394a30abe069b9227e1c33 + limb3: 0x16394a30abe069b9227e1c33, }, w7: u384 { limb0: 0xa23da0b9f52799a68dc93f24, limb1: 0x87cdda8d4a6217959ec51377, limb2: 0x57249de4c45419d6599ad204, - limb3: 0x42312785159ea4b25189b90 + limb3: 0x42312785159ea4b25189b90, }, w8: u384 { limb0: 0xbf4121cb4d006fe76a80ea73, limb1: 0x7572811c50bd43f4651663cc, limb2: 0xe1efd672ed967d2245b943d8, - limb3: 0x1787f0a67f549962e9c14900 + limb3: 0x1787f0a67f549962e9c14900, }, w9: u384 { limb0: 0x46eeec468b79d350dd499738, limb1: 0x2ea49c3b0d31b16e48774d10, limb2: 0x310dc8b2a2ce05fee1740e93, - limb3: 0xc87d0f3e5646d57ba0f3aa3 + limb3: 0xc87d0f3e5646d57ba0f3aa3, }, w10: u384 { limb0: 0x342ee816cba104cc57c6c72f, limb1: 0x786438adbb7043c5ca348854, limb2: 0x493f49c69d99c3d0ab1ba333, - limb3: 0x14f90bf3e332bc9472da656d + limb3: 0x14f90bf3e332bc9472da656d, }, w11: u384 { limb0: 0xc34c780a191b063eee244f53, limb1: 0x4e65b486457bf36ded6b97be, limb2: 0xbfc811de2f4a72e871385095, - limb3: 0x8e6f83135818adcffa10fb9 - } + limb3: 0x8e6f83135818adcffa10fb9, + }, }, E12D { w0: u384 { limb0: 0xb672236717111ed916845c5d, limb1: 0xe05ed5f5b63130ce5ed7ce8d, limb2: 0xeb31d1721af0fc01c6a57a35, - limb3: 0x39032c279eab78dcba6e6ed + limb3: 0x39032c279eab78dcba6e6ed, }, w1: u384 { limb0: 0xb5fd928b359354dc3322587b, limb1: 0xe23b26cd9dcb026a63d7bd14, limb2: 0xe0c70e5315487d5185137fc0, - limb3: 0x350b47980276bd086fb0081 + limb3: 0x350b47980276bd086fb0081, }, w2: u384 { limb0: 0x35f10b2645a702ea20eb8a58, limb1: 0x8daf440feacc4167bd29f29f, limb2: 0x8aa066da8142908fd9dd00b9, - limb3: 0xd808b595dfc641171a4589a + limb3: 0xd808b595dfc641171a4589a, }, w3: u384 { limb0: 0x1a92f884e524af5ef9c51b4f, limb1: 0xa420b70bacb14c6241ffde9b, limb2: 0x5f3bbe9b0ed979e4a113a09f, - limb3: 0x9362ed73e972e33f186b81e + limb3: 0x9362ed73e972e33f186b81e, }, w4: u384 { limb0: 0xc38fa3335d37ad7b433afc9a, limb1: 0x233c0caa5edcf5a96d0e9df4, limb2: 0x1bd45454abb2f3b001e563ff, - limb3: 0x12ccd66a1baf7b9f617dc713 + limb3: 0x12ccd66a1baf7b9f617dc713, }, w5: u384 { limb0: 0x113ef84207dd50c3add3fb08, limb1: 0x803162a58c79355e6436964e, limb2: 0x27dbde708a2b5bcd71d8a803, - limb3: 0x111e309aec4985bdbc80882c + limb3: 0x111e309aec4985bdbc80882c, }, w6: u384 { limb0: 0xbd293026b3eb9df6867cb268, limb1: 0xe20ee1bf24af986d5cd083f7, limb2: 0x5ef64ec24565ce144c3829bf, - limb3: 0x11dd5ad08abb5b561a3f55a9 + limb3: 0x11dd5ad08abb5b561a3f55a9, }, w7: u384 { limb0: 0xfbabf0ed3f8a0d795e246760, limb1: 0xe9f3f24bc74110c7a273f445, limb2: 0x55201b84cd4c2ed4db4b827c, - limb3: 0x7581bdc02eb21512e4e5199 + limb3: 0x7581bdc02eb21512e4e5199, }, w8: u384 { limb0: 0x50990b07d3ad07f5cda1df83, limb1: 0x632286f3bbfcad27346d18bc, limb2: 0x57ddc3d0b6196616acbbf690, - limb3: 0x12cb2e180657e981fd9f6793 + limb3: 0x12cb2e180657e981fd9f6793, }, w9: u384 { limb0: 0xb4a25977ccb83376385bcc3f, limb1: 0x409e0fc5843535e7b6ed163e, limb2: 0x7ee8e7148fce7871fc278d1e, - limb3: 0x10956002d20d7414b33e971d + limb3: 0x10956002d20d7414b33e971d, }, w10: u384 { limb0: 0xd2cad3667d7c91db4583301f, limb1: 0xce857381a82611c73427cf30, limb2: 0xd7519dec35afa6c62fdf1a93, - limb3: 0x457e7d9af1ed868a22feb53 + limb3: 0x457e7d9af1ed868a22feb53, }, w11: u384 { limb0: 0xc5f0ce046d88cc73490b1ba2, limb1: 0xfa220bea70edb53dc7864606, limb2: 0x2918cf7c1e8cc362d0e91f41, - limb3: 0x12c017f62533b0ecd49a3ec7 - } + limb3: 0x12c017f62533b0ecd49a3ec7, + }, }, E12D { w0: u384 { limb0: 0x4518aac78144e2db1d690fe4, limb1: 0x8ee22fb09c4090a1c02db65, limb2: 0x8a5c9ae4cbcaac8abb408bf2, - limb3: 0x9651c5934720322443f5a11 + limb3: 0x9651c5934720322443f5a11, }, w1: u384 { limb0: 0x6494b375c23dfcce21c4995e, limb1: 0x41ecb011428f2cb8862ef588, limb2: 0xf99f42bcd9191bca26998f29, - limb3: 0xaa56757b8a17fc161800337 + limb3: 0xaa56757b8a17fc161800337, }, w2: u384 { limb0: 0x49ed4b52c0e1957338585f16, limb1: 0xec9df95dec8748f334e0f2e1, limb2: 0x7de0ae19ffdac0ccb39246a2, - limb3: 0xfb3acdb8486b68439e30548 + limb3: 0xfb3acdb8486b68439e30548, }, w3: u384 { limb0: 0xfef29938a4d46b29fc1ab8ec, limb1: 0xb4893ab6f86df3d65f57ba5c, limb2: 0xd0404e3bd8ec3026aa989c65, - limb3: 0x271d6ebc660acd8d80a0656 + limb3: 0x271d6ebc660acd8d80a0656, }, w4: u384 { limb0: 0x61ae001710978b805f2424d7, limb1: 0x641045bf7c449640c468a29e, limb2: 0x36471cc643cd1ac29df0fecb, - limb3: 0x133f2d50d17aae7195255662 + limb3: 0x133f2d50d17aae7195255662, }, w5: u384 { limb0: 0x9ce3fa0f813dfdc1e58f1ba3, limb1: 0xda6067cb476596387621fd0c, limb2: 0xc4e9614cae2d4dbdedf3b5c9, - limb3: 0x85036d8b38d3ec0fcf70a7c + limb3: 0x85036d8b38d3ec0fcf70a7c, }, w6: u384 { limb0: 0xfd1f35878f06df50b774ff5c, limb1: 0x50feeff3c2321474b6452db4, limb2: 0x9f7493a63e0d85a47fd3e297, - limb3: 0x62dc9eb788448f8540cd8dc + limb3: 0x62dc9eb788448f8540cd8dc, }, w7: u384 { limb0: 0xc4a0867d87c7ad51322cb810, limb1: 0xd8ef0e23b67744060ef9dfb7, limb2: 0x40fd187e3a88eb2b97cfbeb2, - limb3: 0xaa2506dbbb4b40e1160280f + limb3: 0xaa2506dbbb4b40e1160280f, }, w8: u384 { limb0: 0xc1dcb7d5d062a5a166387c7c, limb1: 0x6562c45c946f18353a39c690, limb2: 0xf6e93d09b449f23d816feb2c, - limb3: 0x11fcfa1ad45d21f75f769cea + limb3: 0x11fcfa1ad45d21f75f769cea, }, w9: u384 { limb0: 0xc01a508042b05e97a5f4713b, limb1: 0x34d0b623b7a887b7b8cd2b48, limb2: 0x3bdf0590b650cf2abd0cb69e, - limb3: 0xd40ad6f197e440c5d882cfb + limb3: 0xd40ad6f197e440c5d882cfb, }, w10: u384 { limb0: 0xda450f4ec50e45a1aa05c7df, limb1: 0x8ed297199f1e04707e165a6f, limb2: 0x9953fd6d893f944489b6f265, - limb3: 0x151f722a9d71cdbbc3f64572 + limb3: 0x151f722a9d71cdbbc3f64572, }, w11: u384 { limb0: 0xab94a633f81012d0aa0a1123, limb1: 0x1fee996f53b99d7f880cd81f, limb2: 0x2eba0e596f0cb217540a9f6f, - limb3: 0x6a3beb6e5c4d83dac52cd9c - } + limb3: 0x6a3beb6e5c4d83dac52cd9c, + }, }, E12D { w0: u384 { limb0: 0xe0bce0d55a595944dab6dbfa, limb1: 0x6a8646a7ccf054a613ef1054, limb2: 0xba8e1f16cf4e8c395896994c, - limb3: 0x162d381237a930f8b29e736a + limb3: 0x162d381237a930f8b29e736a, }, w1: u384 { limb0: 0xf1f266735451b2d2d7f1d30a, limb1: 0xa7218efef53e9dffab65229c, limb2: 0xb7c5e4dc5293bd7f9783effc, - limb3: 0x11b0811580e449f355565e71 + limb3: 0x11b0811580e449f355565e71, }, w2: u384 { limb0: 0x80d5d222072028933b28d7b2, limb1: 0xee7584721937fe2ab48078cb, limb2: 0x4df768bf695ffd52b0fd1c32, - limb3: 0x1855a6b25e83bf66d4356b58 + limb3: 0x1855a6b25e83bf66d4356b58, }, w3: u384 { limb0: 0x3a3df0e6083bf4bbe71e8c4f, limb1: 0x4fb213df213dbee762ab39c7, limb2: 0xca84e456f84ba4f61d280ed2, - limb3: 0xcfc546b353f4c6f5d27dbe7 + limb3: 0xcfc546b353f4c6f5d27dbe7, }, w4: u384 { limb0: 0x9cfab6d9fafadbd0e1c42893, limb1: 0xb5fb4e768002cba4b920caed, limb2: 0x506afea26fc4c7c654f4e050, - limb3: 0x1583e33fd9048512c2a5c9fe + limb3: 0x1583e33fd9048512c2a5c9fe, }, w5: u384 { limb0: 0xb3811bd3567d02c9c8ffb739, limb1: 0xcd49c3a01653b401503ab6c0, limb2: 0x56c65a37847a8f7251aa3148, - limb3: 0x900ced571b08ea59f466697 + limb3: 0x900ced571b08ea59f466697, }, w6: u384 { limb0: 0x3db7e62a39526ebeabbc5d95, limb1: 0x2a409338985dd19e8c1439bf, limb2: 0xce7718a40c9c26112265bf75, - limb3: 0x105d6bb94f794d207e8dccf2 + limb3: 0x105d6bb94f794d207e8dccf2, }, w7: u384 { limb0: 0x4a9921138c1b9724c664dad0, limb1: 0xe16e3e800231777a1b18f5e0, limb2: 0x406d5a7ed31a84b8c7e805b, - limb3: 0x119e145f07bc6e23006475a8 + limb3: 0x119e145f07bc6e23006475a8, }, w8: u384 { limb0: 0x91390ea551d00747d4835f37, limb1: 0xe8dded89909fe1429974f19, limb2: 0x36fc694a2d1a3d77ceb70cfa, - limb3: 0x19f915fd54dfc09d92f03acf + limb3: 0x19f915fd54dfc09d92f03acf, }, w9: u384 { limb0: 0xb10a5bb15622ec5835700d8, limb1: 0x989765daca6c7f7b3a9cee46, limb2: 0xeb8d07dda116e084c5d9987f, - limb3: 0x4b16db66ec480015be50763 + limb3: 0x4b16db66ec480015be50763, }, w10: u384 { limb0: 0x1a0cb2b253062c1b6714614c, limb1: 0x1346a04f437bbb3430c7afbc, limb2: 0x9ee70f56486f1312034e6782, - limb3: 0x8c8bfb66fadd2f5708f4ac0 + limb3: 0x8c8bfb66fadd2f5708f4ac0, }, w11: u384 { limb0: 0x8e4fa36170fcf1446bb898c0, limb1: 0x4b7035e4e8270f856e5671ed, limb2: 0x8cacdde4a419ed5e07bccd6f, - limb3: 0xe892aa8d03b1e9dec74558a - } + limb3: 0xe892aa8d03b1e9dec74558a, + }, }, E12D { w0: u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, @@ -20667,7 +20667,7 @@ mod pairing_tests { w8: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, w9: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, w10: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - w11: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + w11: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, ] .span(), @@ -20676,488 +20676,488 @@ mod pairing_tests { limb0: 0x85fe175b70cdfa93e0b8bf0c, limb1: 0x1119b398df476521bfd82f55, limb2: 0x6896d39a0274089def08467a, - limb3: 0x74d894f8e60c9fa5e2000d9 + limb3: 0x74d894f8e60c9fa5e2000d9, }, u384 { limb0: 0x79e6f75f60cff2fab42360a8, limb1: 0xb0a08ae9f2719c55cdaeb21a, limb2: 0xa3486154e3a9205d46dbeff0, - limb3: 0x1924bc70ecdf6af85e01263e + limb3: 0x1924bc70ecdf6af85e01263e, }, u384 { limb0: 0xbc90aeaa19cd71c55f9877bc, limb1: 0x4ed5b197a4bd8bddbbf8c335, limb2: 0x9e0ee635fc029c579545fef8, - limb3: 0xe1ca28f48f5282e0cd452fb + limb3: 0xe1ca28f48f5282e0cd452fb, }, u384 { limb0: 0x654a9c78d22131fdc8ad5c84, limb1: 0xf571d3e3fe2617a46e0e1d8a, limb2: 0x9e8b1abc5c2e7c2924f7fece, - limb3: 0xce79ec536ddeae0cd4b626c + limb3: 0xce79ec536ddeae0cd4b626c, }, u384 { limb0: 0x7c908ac4fd93870c618495b8, limb1: 0x8297762a19ed3edc40284694, limb2: 0xed98b1b1a4cdafe98f81d3e5, - limb3: 0x1398c0a5451a69c432c53bb3 + limb3: 0x1398c0a5451a69c432c53bb3, }, u384 { limb0: 0xb780cea72499a8a29dd73b8d, limb1: 0x92f2db09c1784aec54f428b, limb2: 0x2f0c392ecb7151f4912e288c, - limb3: 0x867d0f7460edba5c090c090 + limb3: 0x867d0f7460edba5c090c090, }, u384 { limb0: 0x81d7fa51819fa89fdb593e88, limb1: 0xa7635a4fd0b9c1f79ab36743, limb2: 0xe0bbd916e1f81dadce591dfa, - limb3: 0x8033686bb4e1ef6e9b612ff + limb3: 0x8033686bb4e1ef6e9b612ff, }, u384 { limb0: 0x7a7ad0c52c28657c4a769c06, limb1: 0x775216ce123f05a76524b93, limb2: 0xe26a835655f015f1fd373625, - limb3: 0x3f3d649142a06cc083b490 + limb3: 0x3f3d649142a06cc083b490, }, u384 { limb0: 0x4803682fdc59cfd11539eeb0, limb1: 0x7730a5cbd5709e3bb52381d2, limb2: 0x409f3dc759375ea238a1eaae, - limb3: 0x183891ab932a0077e46a2be9 + limb3: 0x183891ab932a0077e46a2be9, }, u384 { limb0: 0x5da16dae83be184d7750c088, limb1: 0xabf88e3ae7e83cdf23bee171, limb2: 0x86b975949989dd92f5218265, - limb3: 0x40301ace7ef8a2075aba3a1 + limb3: 0x40301ace7ef8a2075aba3a1, }, u384 { limb0: 0x3563e365e61ea62ad9eba52c, limb1: 0x29d44ae24a003c2a0a0bfc1a, limb2: 0xc71216fa38b44c957208b7b8, - limb3: 0x18cb263293bcbad820256f82 + limb3: 0x18cb263293bcbad820256f82, }, u384 { limb0: 0x1a9e7d572e54c2b852270030, limb1: 0x6e5cd8f98a31ace51eb6e949, limb2: 0x955c6279356833b9cc76b80d, - limb3: 0x712465c55cca3274b3b0e07 + limb3: 0x712465c55cca3274b3b0e07, }, u384 { limb0: 0x100503b515d714cbb8a27f0, limb1: 0xef8fbce85ca02a25919c0089, limb2: 0x13257ae53ef1f1e1a5c95bac, - limb3: 0x17147e47625dcf3ad0144c9a + limb3: 0x17147e47625dcf3ad0144c9a, }, u384 { limb0: 0x69fe6d7eee2f579b8b6f832c, limb1: 0x736f42f5f05fe32ccb187bdd, limb2: 0xd5936e93ab65eb54484849ae, - limb3: 0xec49cc29a3edb5120356bac + limb3: 0xec49cc29a3edb5120356bac, }, u384 { limb0: 0xb8e985b1653006100b12d8f0, limb1: 0x9acd04374a7b07a9590a5fb5, limb2: 0x5d68a49ba0d4b313bf50eb21, - limb3: 0x39bb2af9b19937ee51ed93d + limb3: 0x39bb2af9b19937ee51ed93d, }, u384 { limb0: 0x5fd9edeb038755515eef0b5a, limb1: 0x3284002ba9cbfae9e3683a67, limb2: 0x12a96acd22c1aea86a6ca1bc, - limb3: 0x18d01fba4c9fc112faea52b5 + limb3: 0x18d01fba4c9fc112faea52b5, }, u384 { limb0: 0x570d2e9f1f0d307ec83518e2, limb1: 0xb10f4c12a0342a319b2e3e41, limb2: 0x66a39b508ea70a047567005, - limb3: 0x68690c93794746b687032ed + limb3: 0x68690c93794746b687032ed, }, u384 { limb0: 0x50816dcb426bdded508f8ca4, limb1: 0xe31e178d240f00eb63d17623, limb2: 0x92f419231391e80501860a2c, - limb3: 0x92d82a6077a0ef567421c66 + limb3: 0x92d82a6077a0ef567421c66, }, u384 { limb0: 0x43488db5bf6018a3037f23e7, limb1: 0x7ee87faf89f427b4225bb47a, limb2: 0xf5d91b1c2bfcfcb8487a09e6, - limb3: 0x13ef34edb7559d9663d1e2b5 + limb3: 0x13ef34edb7559d9663d1e2b5, }, u384 { limb0: 0xe424cde862bc7c8e63645522, limb1: 0x62718d1f13941c655435c1d0, limb2: 0x2864cee6c6d326f0243240c2, - limb3: 0x1d0972378f31659e2bfdaa6 + limb3: 0x1d0972378f31659e2bfdaa6, }, u384 { limb0: 0x1673b47b4395777c0871c675, limb1: 0x6b3c2f56cd3900299d4de04, limb2: 0x42ab9695fde441524b02331e, - limb3: 0x85a57aa9377b0cc46e6ea42 + limb3: 0x85a57aa9377b0cc46e6ea42, }, u384 { limb0: 0x7721fccf14204362f72c2430, limb1: 0x2f5a62d522f6650ff92a780c, limb2: 0xeee5b141fdadd172eb7e3cf3, - limb3: 0x191f8934bbdbc4c5188a94e4 + limb3: 0x191f8934bbdbc4c5188a94e4, }, u384 { limb0: 0x90b062328276a182840ee6ef, limb1: 0xec54f8fb1dd8c6143a7fa826, limb2: 0xaf2b6ff1e2eedaae029e34db, - limb3: 0xd4abebce288d8082ca92f87 + limb3: 0xd4abebce288d8082ca92f87, }, u384 { limb0: 0xa3276c96e7d01c5de86a4d70, limb1: 0xd9b9cdb6351837b08075bf44, limb2: 0x9fc4ea8f8907459988de5503, - limb3: 0x68cbb39de6ae9578ec5fa6f + limb3: 0x68cbb39de6ae9578ec5fa6f, }, u384 { limb0: 0xd15388b7143ab34496ef535c, limb1: 0xdb9668a6cce6c3c543266070, limb2: 0x49a2c75c7a54e55f3ef95f03, - limb3: 0xd65167b4236c52d05721780 + limb3: 0xd65167b4236c52d05721780, }, u384 { limb0: 0x85b58bab48463e834966ab11, limb1: 0xb02cb869b64812b9e3753ca1, limb2: 0x7fda263602253914fff242d0, - limb3: 0xbca8435044b1b16e2dbbd6b + limb3: 0xbca8435044b1b16e2dbbd6b, }, u384 { limb0: 0xd1c5d8213e25755776a386b8, limb1: 0x80b7a26ed8b87256a55a1cf8, limb2: 0x2bd50612913cd86835eb491e, - limb3: 0x80f5ccc34e24d363cc1c05 + limb3: 0x80f5ccc34e24d363cc1c05, }, u384 { limb0: 0xfd7c47bef64373d118bce56e, limb1: 0x5979a45b89f5392da68f09d0, limb2: 0x7e2421e538eda77acb96caf5, - limb3: 0x23870facd16d3f24785b35e + limb3: 0x23870facd16d3f24785b35e, }, u384 { limb0: 0x38f1202ec552276e8974fc17, limb1: 0x1105732d5d525711f459ad96, limb2: 0x399ffaf386ac7239aff30604, - limb3: 0x318342839a2fe1247fba92f + limb3: 0x318342839a2fe1247fba92f, }, u384 { limb0: 0x685d71996bf66c417510106b, limb1: 0x4274638d28f187dfe35a73b8, limb2: 0x441ab8e301279893463b3d52, - limb3: 0xbc0e6f9c3dd4c5c3d4741b3 + limb3: 0xbc0e6f9c3dd4c5c3d4741b3, }, u384 { limb0: 0x23796fc4dc3899e605cf7c9a, limb1: 0x999d820870721a8a4b20aaa2, limb2: 0xbb79a3d7a4672ec87074688d, - limb3: 0xf2aa54d36b070bdd2666946 + limb3: 0xf2aa54d36b070bdd2666946, }, u384 { limb0: 0x36da42cb42d6ae3e3b5b5a21, limb1: 0x131481bf4dc0eb3034dc1c88, limb2: 0xb760d0c94cee3329a23899ef, - limb3: 0xd6e292cfbbe0789a9f9d83c + limb3: 0xd6e292cfbbe0789a9f9d83c, }, u384 { limb0: 0xb1d88e92d2cf671b58ad3ff2, limb1: 0xd6c0b1512056b61fdb32d4f3, limb2: 0x2d0c4dd3a0249df24cacb163, - limb3: 0x99ff9205aeef48e8230b159 + limb3: 0x99ff9205aeef48e8230b159, }, u384 { limb0: 0x279f0c29809597d987bc1b15, limb1: 0x427af9a3d1b7afcc961ceca6, limb2: 0x18451c82916bc100d4c44fb7, - limb3: 0x55ac43a6df50da54a93b580 + limb3: 0x55ac43a6df50da54a93b580, }, u384 { limb0: 0x1cce2decdf2f6d50142e47cd, limb1: 0xcaffb5c1f2647ac7cd2c2d2d, limb2: 0x4790b961e45c8f95a379dc28, - limb3: 0x542c950fafaf19bc46ac1b + limb3: 0x542c950fafaf19bc46ac1b, }, u384 { limb0: 0x4910a421767c65cb1d45ad6e, limb1: 0x2a9c5f6572ce0739041880f0, limb2: 0xe23c42e73aa2c2138e5fa7de, - limb3: 0x11a1a925a870d21efb8c5241 + limb3: 0x11a1a925a870d21efb8c5241, }, u384 { limb0: 0xe8393f4b0a8b853db35b7024, limb1: 0x226f7f2707269053c268cddc, limb2: 0x50f271ba12375855136ea517, - limb3: 0x135a93b59aad7a1aa75cc5fd + limb3: 0x135a93b59aad7a1aa75cc5fd, }, u384 { limb0: 0xfde19d5a44cd7a193d4d48f4, limb1: 0xce7bbc0b87e4c3566ca8dbe2, limb2: 0x1c291e132f8e5b31e865495c, - limb3: 0xd93cc546754da462ceb51a9 + limb3: 0xd93cc546754da462ceb51a9, }, u384 { limb0: 0xc3f0e02daaa8c32870dcb43c, limb1: 0xb6e4f994a05998260dbd2733, limb2: 0x63653eecb877d2d2a89bcff, - limb3: 0x1299f136d645b1ab595d47d1 + limb3: 0x1299f136d645b1ab595d47d1, }, u384 { limb0: 0xc84f24a00988aa9cef9e5881, limb1: 0xf8eed8bf4e6289d6420534d0, limb2: 0x3405d08b4a0e8fd13c908bb8, - limb3: 0x106a5a977a7bf9d560a61f6f + limb3: 0x106a5a977a7bf9d560a61f6f, }, u384 { limb0: 0x8aee2fe29d30cbd04fb88710, limb1: 0x24724865ca69d673b6e4914d, limb2: 0xeb74c7ab973ff8d65f1b22a4, - limb3: 0x190deb02c8cca0669345b096 + limb3: 0x190deb02c8cca0669345b096, }, u384 { limb0: 0x57442e749c13271c80e941bb, limb1: 0x804c1f1da5fd5c1aa653714f, limb2: 0x414e15950d5ba33f6d0f7926, - limb3: 0x17a7ff7648bb9f8968bf2231 + limb3: 0x17a7ff7648bb9f8968bf2231, }, u384 { limb0: 0xf4fabe84ca0d54ae7ee5b48a, limb1: 0x482f2ecd648735cae602724c, limb2: 0x5d835919deaf84e31c84b777, - limb3: 0x906e0ae5db5a21ff45fda43 + limb3: 0x906e0ae5db5a21ff45fda43, }, u384 { limb0: 0x84d49fcb668a6de03c21f98f, limb1: 0x182fb955942c0cc1674aef69, limb2: 0xb5b7349d1467cc475af99e5c, - limb3: 0x15ee5f0e198e37e73e92fd8c + limb3: 0x15ee5f0e198e37e73e92fd8c, }, u384 { limb0: 0x45f3cd62bd31e8b68ae86207, limb1: 0xef561a5f67957d1e13310d3c, limb2: 0xc2c4d2c9c403c537b59edbf6, - limb3: 0x1060d986d088f87b3a7da253 + limb3: 0x1060d986d088f87b3a7da253, }, u384 { limb0: 0x78248f5285f9a50157420370, limb1: 0xd13aa63bbad6cf31c9472873, limb2: 0xe4432926ed4ea8c4fd34a98b, - limb3: 0x18cc5a6583b174758773963 + limb3: 0x18cc5a6583b174758773963, }, u384 { limb0: 0x9ad3a24d5a2432b11187247, limb1: 0x2d70f3667b14937366448db7, limb2: 0xcbd20b6abd79da6f819594b3, - limb3: 0x1625c957cb3997f413223dd + limb3: 0x1625c957cb3997f413223dd, }, u384 { limb0: 0x3f4a789bf78e85b4b8131eeb, limb1: 0x46e7b3a921517e3db6d3e534, limb2: 0x333b6d997777507c60238b5e, - limb3: 0xb267c745cd568bec5a3dfe3 + limb3: 0xb267c745cd568bec5a3dfe3, }, u384 { limb0: 0x684a96fd5bdf98d363454990, limb1: 0x692aed968c391756f0887ced, limb2: 0x974b0555fc428f554e0ba2f, - limb3: 0x125b59855274666facd060f2 + limb3: 0x125b59855274666facd060f2, }, u384 { limb0: 0xa72f1654521f3d46e29874e1, limb1: 0x31dfe63bc3643f5e09e73385, limb2: 0x7c4403438f8a353edd9f3e0e, - limb3: 0x6629f10aed15fe47accb967 + limb3: 0x6629f10aed15fe47accb967, }, u384 { limb0: 0xffb40c8bb79ada37ca221755, limb1: 0x8ae98489eeabce2b618c7a4e, limb2: 0xda2617d78bd1a4f4cc4a314d, - limb3: 0x8405f95230a018850f09de + limb3: 0x8405f95230a018850f09de, }, u384 { limb0: 0xad8f916bdfac99d0f0d1c42a, limb1: 0x8bcb08eb2890930597ee48f7, limb2: 0x3e0ef41249599ecdedb9730d, - limb3: 0x66c8c4d72a8c1e3befc0b72 + limb3: 0x66c8c4d72a8c1e3befc0b72, }, u384 { limb0: 0xc04398e3a4a99b96124819b5, limb1: 0x3e399d72c8f62a8654a4b852, limb2: 0x6fbaa9a69ea96e66933939c, - limb3: 0x14a0bee4e98917bb823f296c + limb3: 0x14a0bee4e98917bb823f296c, }, u384 { limb0: 0xd2eff08b9f773a8f5c267e0d, limb1: 0x272a2ce823e52a8836d154f6, limb2: 0xd93075e54fb80bcb390bd3e1, - limb3: 0xa4bffcc591c6071c0665187 + limb3: 0xa4bffcc591c6071c0665187, }, u384 { limb0: 0x8a91a44bcb2d6806c2220cfd, limb1: 0xf8ee653d31c3a202f347b088, limb2: 0xd4910bbdd91980375d532406, - limb3: 0x26f85d37730b8d22286fda8 + limb3: 0x26f85d37730b8d22286fda8, }, u384 { limb0: 0x147a4575e2e3d94ca278dc64, limb1: 0xeaaa6dd881c58832ba62e7d9, limb2: 0xf1cea42648f83de9a4a151cd, - limb3: 0x99ea7cd5bf6ef73b4bef61c + limb3: 0x99ea7cd5bf6ef73b4bef61c, }, u384 { limb0: 0xba514ad49e88c9dc75116d6a, limb1: 0x6b533ea5dd250dc58d67af2f, limb2: 0xd1bf4d0188cc11edbed41cad, - limb3: 0x11bd800dcd3054105eaaa46a + limb3: 0x11bd800dcd3054105eaaa46a, }, u384 { limb0: 0xf9e08c7a7a9e8a0819eb9b9, limb1: 0x4f810d0383da4d13464c0e97, limb2: 0xb7683484f0c5fe9e049ce136, - limb3: 0x146daaf6ace059efeb1886f6 + limb3: 0x146daaf6ace059efeb1886f6, }, u384 { limb0: 0x1d3bf9902ef608afd0a2a3a0, limb1: 0x7def37d217fe1a0de626f9d1, limb2: 0x54635f63d12d8550bbcd3a38, - limb3: 0x10edb0b7e485fc427f9e1cc0 + limb3: 0x10edb0b7e485fc427f9e1cc0, }, u384 { limb0: 0x510565dac1be0c0a9f617781, limb1: 0x95810a4706775fc16f64b2d7, limb2: 0x650adb63270ce07d6c21a2e7, - limb3: 0x8e932066197d8862fed89a2 + limb3: 0x8e932066197d8862fed89a2, }, u384 { limb0: 0xb113cf291245622973e35fb3, limb1: 0x98c52f8c5f673568c43af190, limb2: 0xf4023002730ff38f32f50b69, - limb3: 0x721d55903691fe2970d17a0 + limb3: 0x721d55903691fe2970d17a0, }, u384 { limb0: 0xc481b992d75470433f38997, limb1: 0xebd9e46518846d227890e19b, limb2: 0x1018fdeb0f44589bee778a70, - limb3: 0x1346e58ba38615175807727a + limb3: 0x1346e58ba38615175807727a, }, u384 { limb0: 0x5d6dd5c6a06adbb29ff7dd31, limb1: 0x6bb5b37545ed68830def9191, limb2: 0xdc658b849ce4592f104b1816, - limb3: 0x18e80b92392caae301180e65 + limb3: 0x18e80b92392caae301180e65, }, u384 { limb0: 0x915cd725ebfad97989db1bdf, limb1: 0xcdeb6a465ba527e4f81f9524, limb2: 0xa9f7ed2fe29efa01cf6795d7, - limb3: 0x539198572186c76d0bb835a + limb3: 0x539198572186c76d0bb835a, }, u384 { limb0: 0x1e7444b99a4e42d572233c9b, limb1: 0xc28ab58494267d5bd8d3f95, limb2: 0x3adb08c99aa27abcd0f298ba, - limb3: 0xac5d08bba94db8f0ac9fa51 + limb3: 0xac5d08bba94db8f0ac9fa51, }, u384 { limb0: 0x6308062e9b037bf1bbd51ef2, limb1: 0xd3ad7b0cc77a4993cec70094, limb2: 0x1a5176a03c375e449bb637b4, - limb3: 0x147f075315e9aaee36cef68d + limb3: 0x147f075315e9aaee36cef68d, }, u384 { limb0: 0x1f56d89db6c0d1847e5c3eef, limb1: 0xb7335ad56a86fb5e884a36d7, limb2: 0x3eb899bbcb1080a5ad599ad1, - limb3: 0x49e1afdff4d01c72d008012 + limb3: 0x49e1afdff4d01c72d008012, }, u384 { limb0: 0x4b694a7b4ed9e8df6598ff3e, limb1: 0xf9b4b51c07a2f5edcc2afc70, limb2: 0xfa37832f0bb1798b282e8f3d, - limb3: 0xbe3e3688dfce83893b6e4d2 + limb3: 0xbe3e3688dfce83893b6e4d2, }, u384 { limb0: 0xf7ce0b4425f19f7c4af347ba, limb1: 0x7bf7ac01f97e2689385d728a, limb2: 0x768b63f039e6dc70a8e64d85, - limb3: 0x17b9367aee26aabc905877fa + limb3: 0x17b9367aee26aabc905877fa, }, u384 { limb0: 0xb05ebf596bc5a1292b86b1c7, limb1: 0x37604c968c8126bdc5dd938a, limb2: 0x11e3a434e713a59cc71ab17c, - limb3: 0x116c9b1785c7e8a8c241d829 + limb3: 0x116c9b1785c7e8a8c241d829, }, u384 { limb0: 0xc8078257ae47d0c86d52b518, limb1: 0x200eb8175a1c54c1174c0832, limb2: 0xb49456b967656354020295b8, - limb3: 0x5f0e3f743069bbea387842a + limb3: 0x5f0e3f743069bbea387842a, }, u384 { limb0: 0xe975c76271b80c9c2ec1bd08, limb1: 0x682582aa8d4443860b213411, limb2: 0xffbce7d3739fd2c63b0ebc51, - limb3: 0x1547bf2d19d6381e0ac68164 + limb3: 0x1547bf2d19d6381e0ac68164, }, u384 { limb0: 0xb201c995619119389220ced1, limb1: 0x39f5f4f89935e4f1a997da83, limb2: 0x88d1869f7c6426bc8b091b58, - limb3: 0x76a41b21ec5c8132df809a0 + limb3: 0x76a41b21ec5c8132df809a0, }, u384 { limb0: 0xf13f56d89c2af364c4a5b285, limb1: 0x951d39a59e9621ac9aab635b, limb2: 0x19cd0face66dfa5799d09c05, - limb3: 0x15a37974bdf33247dccdf43c + limb3: 0x15a37974bdf33247dccdf43c, }, u384 { limb0: 0xa3a7f28cf4bf358ee8be13f9, limb1: 0x3a58c0b98731bed0dc5483b5, limb2: 0x6a3ab1e2b743c9d43444b7f9, - limb3: 0x19ce8466aeebb7e2bdbdfc93 + limb3: 0x19ce8466aeebb7e2bdbdfc93, }, u384 { limb0: 0x9587fc85a5569d7ab78a9d95, limb1: 0xaa8bb71b49177ef88b2ad10b, limb2: 0x92c51b983a90887935189fa9, - limb3: 0x77e424bb7dcbb82a1045a17 + limb3: 0x77e424bb7dcbb82a1045a17, }, u384 { limb0: 0xae715d71cb96099a0055ad2e, limb1: 0xfc066d3b0a0568fb683d2071, limb2: 0x52d087b39c91ce3075b670cd, - limb3: 0x1808171ac84fd5f01bd71df8 + limb3: 0x1808171ac84fd5f01bd71df8, }, u384 { limb0: 0xf48898c2234389437360978b, limb1: 0xaf978b90c0f15a8da250734e, limb2: 0x934cb49968f66d57bd36979a, - limb3: 0x18b4d25d7a532dba9ad5947a + limb3: 0x18b4d25d7a532dba9ad5947a, }, u384 { limb0: 0xc928e16fa139c3d8dc905ac, limb1: 0x63c08a003816c916151b6dd7, limb2: 0x88627ef3578a6184d6ead4e3, - limb3: 0xc3c06389f2bc3cac06175c9 + limb3: 0xc3c06389f2bc3cac06175c9, }, u384 { limb0: 0x4c3a2faf1efce6bab793d7bf, limb1: 0x74818405ca5fb239bfb3e084, limb2: 0x6f847cfbf7f739ff966aeb42, - limb3: 0x168af83f5a4e9b88431d641e + limb3: 0x168af83f5a4e9b88431d641e, }, u384 { limb0: 0x948c6bdce040acb1d2a2ee1b, limb1: 0x13fb35cfc043c7afd6dcd21a, limb2: 0xdac9a41013d7609ec3ac7d4f, - limb3: 0x4d140c79a879c6e48e78944 - } + limb3: 0x4d140c79a879c6e48e78944, + }, ], }; let res = multi_pairing_check_bls12_381_2P_2F(pair0, pair1, lines, hint); @@ -21173,41 +21173,41 @@ mod pairing_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, q: G2Point { x0: u384 { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, + }, }; let pair1: G1G2Pair = G1G2Pair { p: G1Point { @@ -21215,41 +21215,41 @@ mod pairing_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, q: G2Point { x0: u384 { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, + }, }; let pair2: G1G2Pair = G1G2Pair { p: G1Point { @@ -21257,115 +21257,115 @@ mod pairing_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }, q: G2Point { x0: u384 { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, + }, }; let precomputed_miller_loop_result = E12D { w0: u384 { limb0: 0xb911c83d732e7d278eca2b2, limb1: 0x371bde647281b4f0753c7b54, limb2: 0x32f3136b6412048dad82afcf, - limb3: 0x276d8a09b1ef471d61e1fe9 + limb3: 0x276d8a09b1ef471d61e1fe9, }, w1: u384 { limb0: 0x2d08819331e98c628ad7e6a4, limb1: 0xf78975823557a6eaed403568, limb2: 0xd357bcaa08f3bcf837b69302, - limb3: 0x84dc8eb534426c70fdeb97a + limb3: 0x84dc8eb534426c70fdeb97a, }, w2: u384 { limb0: 0xd8ab7356837a3539e775e8a4, limb1: 0xeac85ffce2bc7b2518fb953c, limb2: 0xdb2e7f9897c5d9aac15601e7, - limb3: 0xad1ecf602d65fe881eaa6e0 + limb3: 0xad1ecf602d65fe881eaa6e0, }, w3: u384 { limb0: 0xb4bbd298bab0e4881a5ebb34, limb1: 0x14d8b2b539c52b38e862bb30, limb2: 0xc1ba1386389c858a2803bf51, - limb3: 0xc44713fa939be012d57473a + limb3: 0xc44713fa939be012d57473a, }, w4: u384 { limb0: 0x8c8a60ac405578242750266c, limb1: 0x1f6ed0fc4768c4d33ae5bde9, limb2: 0x74356664cf5f284c5d9047dd, - limb3: 0x17d27924032bad1b96b038a7 + limb3: 0x17d27924032bad1b96b038a7, }, w5: u384 { limb0: 0xdca890b5c14238be57f05981, limb1: 0x5d5411099e394511d4bf5f21, limb2: 0x529d5c8a74ead9d439593056, - limb3: 0x252d46d43966352b46ef871 + limb3: 0x252d46d43966352b46ef871, }, w6: u384 { limb0: 0x1e65e90c6094915aaef973cd, limb1: 0x606ac452167328657347b203, limb2: 0x6198bb2924ef03ae600f7222, - limb3: 0xdb2280eeda7144c402dfe7f + limb3: 0xdb2280eeda7144c402dfe7f, }, w7: u384 { limb0: 0x71c5034bc18b6d1c45a03c30, limb1: 0x31f94b4bb159c235c039f752, limb2: 0xdf1e1ed1387d8c002c5f3a20, - limb3: 0x190ab4a19e1f1b981b892bae + limb3: 0x190ab4a19e1f1b981b892bae, }, w8: u384 { limb0: 0xf00e883b8262021a004b9fc8, limb1: 0x369f48c0083f000e7eeec362, limb2: 0x9170f7ea386763607860320a, - limb3: 0x16e03a19b04611cdff78c5fd + limb3: 0x16e03a19b04611cdff78c5fd, }, w9: u384 { limb0: 0xf3b76b5dfdcf84760b96fa0c, limb1: 0x4ba7b263cc869557904c59cf, limb2: 0xbed73f63ea723c5eca33d491, - limb3: 0x128d8d88c3c8616ff326a554 + limb3: 0x128d8d88c3c8616ff326a554, }, w10: u384 { limb0: 0x4380616825a3a723a4dc2b5c, limb1: 0x712262fd5e7ddfa653a4708e, limb2: 0x303031f5c1bf5e2f73d4750a, - limb3: 0x36d2ef1d9b923357234e298 + limb3: 0x36d2ef1d9b923357234e298, }, w11: u384 { limb0: 0xbe53e886831d35b55f343069, limb1: 0x34b2a5b11f48e46a872245a2, limb2: 0x6afab08a2bc52479f09c105f, - limb3: 0x329f18e7852fa05613e9204 - } + limb3: 0x329f18e7852fa05613e9204, + }, }; let lines = array![ G2Line { @@ -21373,3536 +21373,3536 @@ mod pairing_tests { limb0: 0xa5165654d48ad38da89955b2, limb1: 0x36388a52d2379c53735285c1, limb2: 0xb1cba90b5a7d592a905913f6, - limb3: 0xf04eef4de6a895d29865a33 + limb3: 0xf04eef4de6a895d29865a33, }, r0a1: u384 { limb0: 0x11170525e014139da401da13, limb1: 0xdfc4d38dc6621f61b8834990, limb2: 0xb86906ab9966ab43169ba396, - limb3: 0x104b8a575e67290a4d8e5d0 + limb3: 0x104b8a575e67290a4d8e5d0, }, r1a0: u384 { limb0: 0x2fddaa92e366f11a886242bb, limb1: 0xf7255a5c3e06de681d21207f, limb2: 0x544afd5f8c149ed0980ad33f, - limb3: 0x18ff3a5ad5398470eec050cd + limb3: 0x18ff3a5ad5398470eec050cd, }, r1a1: u384 { limb0: 0x5ebc8ff3cef71a1b2b0ce5d9, limb1: 0xf4093ee74d1a5714b4562355, limb2: 0xe6d400f1614d23e5b0b3831f, - limb3: 0x4e3cba1ec100020f137797e - } + limb3: 0x4e3cba1ec100020f137797e, + }, }, G2Line { r0a0: u384 { limb0: 0xcf94aa0961ba244fb7b34f8, limb1: 0x9eedbbaadfb34c820b7b9046, limb2: 0xdfdb0674b62b2c9622a321e9, - limb3: 0x18745455fc3b957175dbaaab + limb3: 0x18745455fc3b957175dbaaab, }, r0a1: u384 { limb0: 0xb18b9b496c7e76d19d0476a3, limb1: 0x532e40e737e71a727e36699d, limb2: 0x1173a4db0c906464c9c6dfe5, - limb3: 0x14436970af87927ca25ab397 + limb3: 0x14436970af87927ca25ab397, }, r1a0: u384 { limb0: 0x2b8bedf7ace9601914137555, limb1: 0x8e5a6616ba6b5a7c0a4b60cc, limb2: 0xeed2fb7a6b6951d08720afd2, - limb3: 0x6e20b841803b78a54cb51f0 + limb3: 0x6e20b841803b78a54cb51f0, }, r1a1: u384 { limb0: 0xe2f3cc1d38637307df479c33, limb1: 0x553fbfecff64b0f8513ea53, limb2: 0xc35e934c2f0dd0dfc36fb764, - limb3: 0xfe253f73265563f5da37bf0 - } + limb3: 0xfe253f73265563f5da37bf0, + }, }, G2Line { r0a0: u384 { limb0: 0xa5165654d48ad38da89955b2, limb1: 0x36388a52d2379c53735285c1, limb2: 0xb1cba90b5a7d592a905913f6, - limb3: 0xf04eef4de6a895d29865a33 + limb3: 0xf04eef4de6a895d29865a33, }, r0a1: u384 { limb0: 0x11170525e014139da401da13, limb1: 0xdfc4d38dc6621f61b8834990, limb2: 0xb86906ab9966ab43169ba396, - limb3: 0x104b8a575e67290a4d8e5d0 + limb3: 0x104b8a575e67290a4d8e5d0, }, r1a0: u384 { limb0: 0x2fddaa92e366f11a886242bb, limb1: 0xf7255a5c3e06de681d21207f, limb2: 0x544afd5f8c149ed0980ad33f, - limb3: 0x18ff3a5ad5398470eec050cd + limb3: 0x18ff3a5ad5398470eec050cd, }, r1a1: u384 { limb0: 0x5ebc8ff3cef71a1b2b0ce5d9, limb1: 0xf4093ee74d1a5714b4562355, limb2: 0xe6d400f1614d23e5b0b3831f, - limb3: 0x4e3cba1ec100020f137797e - } + limb3: 0x4e3cba1ec100020f137797e, + }, }, G2Line { r0a0: u384 { limb0: 0xcf94aa0961ba244fb7b34f8, limb1: 0x9eedbbaadfb34c820b7b9046, limb2: 0xdfdb0674b62b2c9622a321e9, - limb3: 0x18745455fc3b957175dbaaab + limb3: 0x18745455fc3b957175dbaaab, }, r0a1: u384 { limb0: 0xb18b9b496c7e76d19d0476a3, limb1: 0x532e40e737e71a727e36699d, limb2: 0x1173a4db0c906464c9c6dfe5, - limb3: 0x14436970af87927ca25ab397 + limb3: 0x14436970af87927ca25ab397, }, r1a0: u384 { limb0: 0x2b8bedf7ace9601914137555, limb1: 0x8e5a6616ba6b5a7c0a4b60cc, limb2: 0xeed2fb7a6b6951d08720afd2, - limb3: 0x6e20b841803b78a54cb51f0 + limb3: 0x6e20b841803b78a54cb51f0, }, r1a1: u384 { limb0: 0xe2f3cc1d38637307df479c33, limb1: 0x553fbfecff64b0f8513ea53, limb2: 0xc35e934c2f0dd0dfc36fb764, - limb3: 0xfe253f73265563f5da37bf0 - } + limb3: 0xfe253f73265563f5da37bf0, + }, }, G2Line { r0a0: u384 { limb0: 0xf63d5adf98504eb919404838, limb1: 0x322c7fec39e0dbb7e3fab671, limb2: 0x66a7d9554b938f680e363589, - limb3: 0x168b865e60bf25b5f80efdba + limb3: 0x168b865e60bf25b5f80efdba, }, r0a1: u384 { limb0: 0xa19475051f484344fbfcb94, limb1: 0xecab432b31e20fd481ef1641, limb2: 0x9aef0e4871833b8e86498442, - limb3: 0xbfbebd5fe20e6b34cd10d52 + limb3: 0xbfbebd5fe20e6b34cd10d52, }, r1a0: u384 { limb0: 0x3034c4ead4a9ecca97ef227f, limb1: 0x3ff722abdd9b1b4fb2ed76a2, limb2: 0x89478f4e3e947df714a9fb5e, - limb3: 0xf7d15d762bc99988f9d789d + limb3: 0xf7d15d762bc99988f9d789d, }, r1a1: u384 { limb0: 0xe7309c91453760cefb576bc9, limb1: 0xc04e0c62e92a4efd0f9d9c3b, limb2: 0xada0f0a505209353f4b17f24, - limb3: 0x185b2e9615659da43b50282e - } + limb3: 0x185b2e9615659da43b50282e, + }, }, G2Line { r0a0: u384 { limb0: 0xf63d5adf98504eb919404838, limb1: 0x322c7fec39e0dbb7e3fab671, limb2: 0x66a7d9554b938f680e363589, - limb3: 0x168b865e60bf25b5f80efdba + limb3: 0x168b865e60bf25b5f80efdba, }, r0a1: u384 { limb0: 0xa19475051f484344fbfcb94, limb1: 0xecab432b31e20fd481ef1641, limb2: 0x9aef0e4871833b8e86498442, - limb3: 0xbfbebd5fe20e6b34cd10d52 + limb3: 0xbfbebd5fe20e6b34cd10d52, }, r1a0: u384 { limb0: 0x3034c4ead4a9ecca97ef227f, limb1: 0x3ff722abdd9b1b4fb2ed76a2, limb2: 0x89478f4e3e947df714a9fb5e, - limb3: 0xf7d15d762bc99988f9d789d + limb3: 0xf7d15d762bc99988f9d789d, }, r1a1: u384 { limb0: 0xe7309c91453760cefb576bc9, limb1: 0xc04e0c62e92a4efd0f9d9c3b, limb2: 0xada0f0a505209353f4b17f24, - limb3: 0x185b2e9615659da43b50282e - } + limb3: 0x185b2e9615659da43b50282e, + }, }, G2Line { r0a0: u384 { limb0: 0xacd0c846fbba57a06a86174d, limb1: 0xb3559bb08ff796c300ff2163, limb2: 0xb7ebbcfa41b1f30d02874a61, - limb3: 0x7a87f7612c63af0969932c + limb3: 0x7a87f7612c63af0969932c, }, r0a1: u384 { limb0: 0xd4f55c22c625dddb92b73bd7, limb1: 0x681facc4bfa2b130fcf3dacd, limb2: 0x3bd92d164662bbb7f99c1b5a, - limb3: 0x12ac7263968961adecde567f + limb3: 0x12ac7263968961adecde567f, }, r1a0: u384 { limb0: 0x81f5ef562d3dfd1fe4780fbf, limb1: 0xcb396419628f7f02f0f0e2f8, limb2: 0x3012e01dd8fc025163ad5e2a, - limb3: 0x1c053f246178e26fa6d3dea + limb3: 0x1c053f246178e26fa6d3dea, }, r1a1: u384 { limb0: 0xc81f62215d8116e0b580ac54, limb1: 0xef2e48f58ffbbafac5b2b827, limb2: 0xe22598ad9700d53d0ab24440, - limb3: 0xeec459ce4be55ed92aa3f08 - } + limb3: 0xeec459ce4be55ed92aa3f08, + }, }, G2Line { r0a0: u384 { limb0: 0x628192ce61515a10db139388, limb1: 0xdf2fbc87bd9658e30ab5ca96, limb2: 0x81420786279bf4a2c17ecbee, - limb3: 0x7cd8317980fac457217aa73 + limb3: 0x7cd8317980fac457217aa73, }, r0a1: u384 { limb0: 0xad2f18fc2c832eedc6828d6a, limb1: 0x2c62b1d26ffe93fb41fbf6a6, limb2: 0x54a6928b6b6cb48d95627389, - limb3: 0x155b45f029858968773bd77a + limb3: 0x155b45f029858968773bd77a, }, r1a0: u384 { limb0: 0x3a4649b4ea519194273b8413, limb1: 0x39ed13d914c220a2a8621253, limb2: 0xb2c2fe85ccf72ab37ef6d3e8, - limb3: 0x2f73caef28adb638d772f51 + limb3: 0x2f73caef28adb638d772f51, }, r1a1: u384 { limb0: 0x9a5228bb86ec7a83fc86d719, limb1: 0x7b209838f6c5a27f3b13850e, limb2: 0x2f682efc7c8f9d868bb155a0, - limb3: 0x14e1ffb93bd477d5824891f6 - } + limb3: 0x14e1ffb93bd477d5824891f6, + }, }, G2Line { r0a0: u384 { limb0: 0xacd0c846fbba57a06a86174d, limb1: 0xb3559bb08ff796c300ff2163, limb2: 0xb7ebbcfa41b1f30d02874a61, - limb3: 0x7a87f7612c63af0969932c + limb3: 0x7a87f7612c63af0969932c, }, r0a1: u384 { limb0: 0xd4f55c22c625dddb92b73bd7, limb1: 0x681facc4bfa2b130fcf3dacd, limb2: 0x3bd92d164662bbb7f99c1b5a, - limb3: 0x12ac7263968961adecde567f + limb3: 0x12ac7263968961adecde567f, }, r1a0: u384 { limb0: 0x81f5ef562d3dfd1fe4780fbf, limb1: 0xcb396419628f7f02f0f0e2f8, limb2: 0x3012e01dd8fc025163ad5e2a, - limb3: 0x1c053f246178e26fa6d3dea + limb3: 0x1c053f246178e26fa6d3dea, }, r1a1: u384 { limb0: 0xc81f62215d8116e0b580ac54, limb1: 0xef2e48f58ffbbafac5b2b827, limb2: 0xe22598ad9700d53d0ab24440, - limb3: 0xeec459ce4be55ed92aa3f08 - } + limb3: 0xeec459ce4be55ed92aa3f08, + }, }, G2Line { r0a0: u384 { limb0: 0x628192ce61515a10db139388, limb1: 0xdf2fbc87bd9658e30ab5ca96, limb2: 0x81420786279bf4a2c17ecbee, - limb3: 0x7cd8317980fac457217aa73 + limb3: 0x7cd8317980fac457217aa73, }, r0a1: u384 { limb0: 0xad2f18fc2c832eedc6828d6a, limb1: 0x2c62b1d26ffe93fb41fbf6a6, limb2: 0x54a6928b6b6cb48d95627389, - limb3: 0x155b45f029858968773bd77a + limb3: 0x155b45f029858968773bd77a, }, r1a0: u384 { limb0: 0x3a4649b4ea519194273b8413, limb1: 0x39ed13d914c220a2a8621253, limb2: 0xb2c2fe85ccf72ab37ef6d3e8, - limb3: 0x2f73caef28adb638d772f51 + limb3: 0x2f73caef28adb638d772f51, }, r1a1: u384 { limb0: 0x9a5228bb86ec7a83fc86d719, limb1: 0x7b209838f6c5a27f3b13850e, limb2: 0x2f682efc7c8f9d868bb155a0, - limb3: 0x14e1ffb93bd477d5824891f6 - } + limb3: 0x14e1ffb93bd477d5824891f6, + }, }, G2Line { r0a0: u384 { limb0: 0x1aade009b16b47d1f727828e, limb1: 0xc03ad66ffa3eb3facb3162dd, limb2: 0x89fc57933c577fcb302abd31, - limb3: 0x14a7ae423327b8eb4258ddc7 + limb3: 0x14a7ae423327b8eb4258ddc7, }, r0a1: u384 { limb0: 0xb11c5c536b7a01248a05036e, limb1: 0x4b63f65385cbfd77dd0c6b99, limb2: 0xfc1bd30c87ae38746b0ea7ed, - limb3: 0xb343c5f6d66a234c16e751f + limb3: 0xb343c5f6d66a234c16e751f, }, r1a0: u384 { limb0: 0xbfc9b6d848bfcfc1500c9e92, limb1: 0xe6aca7c5d29a818829b8fcd6, limb2: 0xf14399d2c3b586fa7369ef82, - limb3: 0x16fe63f10adc6d94ef6ac666 + limb3: 0x16fe63f10adc6d94ef6ac666, }, r1a1: u384 { limb0: 0x788c4a6c2cc0d6d1431f8fe0, limb1: 0x6fbb017725bc437f59472864, limb2: 0x7af112586422e8b451fff86f, - limb3: 0x8f33c7c0369d6bf05923ec6 - } + limb3: 0x8f33c7c0369d6bf05923ec6, + }, }, G2Line { r0a0: u384 { limb0: 0x1aade009b16b47d1f727828e, limb1: 0xc03ad66ffa3eb3facb3162dd, limb2: 0x89fc57933c577fcb302abd31, - limb3: 0x14a7ae423327b8eb4258ddc7 + limb3: 0x14a7ae423327b8eb4258ddc7, }, r0a1: u384 { limb0: 0xb11c5c536b7a01248a05036e, limb1: 0x4b63f65385cbfd77dd0c6b99, limb2: 0xfc1bd30c87ae38746b0ea7ed, - limb3: 0xb343c5f6d66a234c16e751f + limb3: 0xb343c5f6d66a234c16e751f, }, r1a0: u384 { limb0: 0xbfc9b6d848bfcfc1500c9e92, limb1: 0xe6aca7c5d29a818829b8fcd6, limb2: 0xf14399d2c3b586fa7369ef82, - limb3: 0x16fe63f10adc6d94ef6ac666 + limb3: 0x16fe63f10adc6d94ef6ac666, }, r1a1: u384 { limb0: 0x788c4a6c2cc0d6d1431f8fe0, limb1: 0x6fbb017725bc437f59472864, limb2: 0x7af112586422e8b451fff86f, - limb3: 0x8f33c7c0369d6bf05923ec6 - } + limb3: 0x8f33c7c0369d6bf05923ec6, + }, }, G2Line { r0a0: u384 { limb0: 0xc8e72714e847363877b7a8f7, limb1: 0xe3e3fa798cae86df2a30d4aa, limb2: 0x7459f8d7d611e2cb2ec54a0e, - limb3: 0x152cd68e17604069ec445769 + limb3: 0x152cd68e17604069ec445769, }, r0a1: u384 { limb0: 0x8314b69d7f735267593148b, limb1: 0xee63002a2560cba68706d4d8, limb2: 0xfaa3112fa6d55883c688d4cb, - limb3: 0x14bb5f09c9b3530802a1e99f + limb3: 0x14bb5f09c9b3530802a1e99f, }, r1a0: u384 { limb0: 0x5f0624eb82fb7ea0161d7d4f, limb1: 0xd71eb5753a71df931abdea02, limb2: 0x7e9d29717cc3a362d2351d9a, - limb3: 0x10bb67b2ea7e11fa4f644370 + limb3: 0x10bb67b2ea7e11fa4f644370, }, r1a1: u384 { limb0: 0xca7b1c09d30828e75c7c7281, limb1: 0x5c8c1483d8402202dd0de198, limb2: 0x2228fda9f92014d9870c7f11, - limb3: 0x6e2f5953b1cc17a41a0cf1b - } + limb3: 0x6e2f5953b1cc17a41a0cf1b, + }, }, G2Line { r0a0: u384 { limb0: 0xc8e72714e847363877b7a8f7, limb1: 0xe3e3fa798cae86df2a30d4aa, limb2: 0x7459f8d7d611e2cb2ec54a0e, - limb3: 0x152cd68e17604069ec445769 + limb3: 0x152cd68e17604069ec445769, }, r0a1: u384 { limb0: 0x8314b69d7f735267593148b, limb1: 0xee63002a2560cba68706d4d8, limb2: 0xfaa3112fa6d55883c688d4cb, - limb3: 0x14bb5f09c9b3530802a1e99f + limb3: 0x14bb5f09c9b3530802a1e99f, }, r1a0: u384 { limb0: 0x5f0624eb82fb7ea0161d7d4f, limb1: 0xd71eb5753a71df931abdea02, limb2: 0x7e9d29717cc3a362d2351d9a, - limb3: 0x10bb67b2ea7e11fa4f644370 + limb3: 0x10bb67b2ea7e11fa4f644370, }, r1a1: u384 { limb0: 0xca7b1c09d30828e75c7c7281, limb1: 0x5c8c1483d8402202dd0de198, limb2: 0x2228fda9f92014d9870c7f11, - limb3: 0x6e2f5953b1cc17a41a0cf1b - } + limb3: 0x6e2f5953b1cc17a41a0cf1b, + }, }, G2Line { r0a0: u384 { limb0: 0xc9b70b573ab2dbee53352a96, limb1: 0xcc8c7eca86c99d50d3e90936, limb2: 0x7d70aa72c271b1f8c15ad43e, - limb3: 0xe499ea04ed9644c9f31ff2c + limb3: 0xe499ea04ed9644c9f31ff2c, }, r0a1: u384 { limb0: 0xa0f9073cb60f9d948336700a, limb1: 0xbcba195f8a338d4cfe326b7d, limb2: 0x830451f120569c1ba8a262fc, - limb3: 0x7d35ad7c0095f289f76c6bd + limb3: 0x7d35ad7c0095f289f76c6bd, }, r1a0: u384 { limb0: 0x6ef4a7e1adac7589cf5b1154, limb1: 0xaca7ecc39f53183948238de2, limb2: 0x7b65183abb9d2d0be2a6d539, - limb3: 0x63e7285b3dc806c2788d0e8 + limb3: 0x63e7285b3dc806c2788d0e8, }, r1a1: u384 { limb0: 0x263affe0370ee6f1853c2fb0, limb1: 0xc73621e485f5fef86ded3d9, limb2: 0x4a9c22bbb63a9b67c98dc2df, - limb3: 0x10a59819d699abac0f845268 - } + limb3: 0x10a59819d699abac0f845268, + }, }, G2Line { r0a0: u384 { limb0: 0x842113d6568cc4a0ff417952, limb1: 0xbf9bf6040bcf98685b071730, limb2: 0xc764bd69e11c73f3ecaf8d07, - limb3: 0xd587218a1496f9351f01e73 + limb3: 0xd587218a1496f9351f01e73, }, r0a1: u384 { limb0: 0xbc9127de7d6cf406424d7f15, limb1: 0x8168235c896874ad54d9512, limb2: 0xdcf79d8a1a168ae1c6dfa2e4, - limb3: 0xf95426d8e89954dee065f67 + limb3: 0xf95426d8e89954dee065f67, }, r1a0: u384 { limb0: 0x229ab89c13125cc2bf25a72d, limb1: 0xd5a7df3aaaa0c0353dcac5a7, limb2: 0x7c94527fabc77777ff2464ab, - limb3: 0x110918e757ed869ea437e672 + limb3: 0x110918e757ed869ea437e672, }, r1a1: u384 { limb0: 0xe982d22571f2f17aa68f712c, limb1: 0xa48a9b75c7c89bfab5f5d1eb, limb2: 0x1b89a01e72668b0a30e747fb, - limb3: 0xaa126ea871c3e3ca7d0b445 - } + limb3: 0xaa126ea871c3e3ca7d0b445, + }, }, G2Line { r0a0: u384 { limb0: 0xc9b70b573ab2dbee53352a96, limb1: 0xcc8c7eca86c99d50d3e90936, limb2: 0x7d70aa72c271b1f8c15ad43e, - limb3: 0xe499ea04ed9644c9f31ff2c + limb3: 0xe499ea04ed9644c9f31ff2c, }, r0a1: u384 { limb0: 0xa0f9073cb60f9d948336700a, limb1: 0xbcba195f8a338d4cfe326b7d, limb2: 0x830451f120569c1ba8a262fc, - limb3: 0x7d35ad7c0095f289f76c6bd + limb3: 0x7d35ad7c0095f289f76c6bd, }, r1a0: u384 { limb0: 0x6ef4a7e1adac7589cf5b1154, limb1: 0xaca7ecc39f53183948238de2, limb2: 0x7b65183abb9d2d0be2a6d539, - limb3: 0x63e7285b3dc806c2788d0e8 + limb3: 0x63e7285b3dc806c2788d0e8, }, r1a1: u384 { limb0: 0x263affe0370ee6f1853c2fb0, limb1: 0xc73621e485f5fef86ded3d9, limb2: 0x4a9c22bbb63a9b67c98dc2df, - limb3: 0x10a59819d699abac0f845268 - } + limb3: 0x10a59819d699abac0f845268, + }, }, G2Line { r0a0: u384 { limb0: 0x842113d6568cc4a0ff417952, limb1: 0xbf9bf6040bcf98685b071730, limb2: 0xc764bd69e11c73f3ecaf8d07, - limb3: 0xd587218a1496f9351f01e73 + limb3: 0xd587218a1496f9351f01e73, }, r0a1: u384 { limb0: 0xbc9127de7d6cf406424d7f15, limb1: 0x8168235c896874ad54d9512, limb2: 0xdcf79d8a1a168ae1c6dfa2e4, - limb3: 0xf95426d8e89954dee065f67 + limb3: 0xf95426d8e89954dee065f67, }, r1a0: u384 { limb0: 0x229ab89c13125cc2bf25a72d, limb1: 0xd5a7df3aaaa0c0353dcac5a7, limb2: 0x7c94527fabc77777ff2464ab, - limb3: 0x110918e757ed869ea437e672 + limb3: 0x110918e757ed869ea437e672, }, r1a1: u384 { limb0: 0xe982d22571f2f17aa68f712c, limb1: 0xa48a9b75c7c89bfab5f5d1eb, limb2: 0x1b89a01e72668b0a30e747fb, - limb3: 0xaa126ea871c3e3ca7d0b445 - } + limb3: 0xaa126ea871c3e3ca7d0b445, + }, }, G2Line { r0a0: u384 { limb0: 0x8856fcd611eaccb5398098b3, limb1: 0xf99e4037ab06eee76202c0a7, limb2: 0x661b47fbe6e707a1da016abb, - limb3: 0x14d41350bc68e30131fda152 + limb3: 0x14d41350bc68e30131fda152, }, r0a1: u384 { limb0: 0xa330e089de7e62d03d0d8381, limb1: 0xb89bc0fa83c738dbed74992b, limb2: 0x76e01692ebe0ab4a7bbc1cdf, - limb3: 0x119ff3df49b55e97212b9137 + limb3: 0x119ff3df49b55e97212b9137, }, r1a0: u384 { limb0: 0x17f35432949ee63be1b62fb4, limb1: 0x558e84d6438f3f13cb52798, limb2: 0x49ae9bb91dbd154524d0b491, - limb3: 0xa4ecb322f18755a2d7de6cb + limb3: 0xa4ecb322f18755a2d7de6cb, }, r1a1: u384 { limb0: 0x16493c6765e497627871029a, limb1: 0x31a7d00a47e2cdb224ef5050, limb2: 0x140290a6f2fa5cb13477f571, - limb3: 0x1846bb57be1afd1089f8faa2 - } + limb3: 0x1846bb57be1afd1089f8faa2, + }, }, G2Line { r0a0: u384 { limb0: 0x8856fcd611eaccb5398098b3, limb1: 0xf99e4037ab06eee76202c0a7, limb2: 0x661b47fbe6e707a1da016abb, - limb3: 0x14d41350bc68e30131fda152 + limb3: 0x14d41350bc68e30131fda152, }, r0a1: u384 { limb0: 0xa330e089de7e62d03d0d8381, limb1: 0xb89bc0fa83c738dbed74992b, limb2: 0x76e01692ebe0ab4a7bbc1cdf, - limb3: 0x119ff3df49b55e97212b9137 + limb3: 0x119ff3df49b55e97212b9137, }, r1a0: u384 { limb0: 0x17f35432949ee63be1b62fb4, limb1: 0x558e84d6438f3f13cb52798, limb2: 0x49ae9bb91dbd154524d0b491, - limb3: 0xa4ecb322f18755a2d7de6cb + limb3: 0xa4ecb322f18755a2d7de6cb, }, r1a1: u384 { limb0: 0x16493c6765e497627871029a, limb1: 0x31a7d00a47e2cdb224ef5050, limb2: 0x140290a6f2fa5cb13477f571, - limb3: 0x1846bb57be1afd1089f8faa2 - } + limb3: 0x1846bb57be1afd1089f8faa2, + }, }, G2Line { r0a0: u384 { limb0: 0xcab2483e7d8dd3fc04231f3e, limb1: 0x6e798d52173fbcf7011727cf, limb2: 0x3aa288e6664238899e96388, - limb3: 0xbed7f1cb0f29dbd779eb4db + limb3: 0xbed7f1cb0f29dbd779eb4db, }, r0a1: u384 { limb0: 0xda17dc08cb341a88d345029c, limb1: 0xca9a84bc1b03f8ae6f50eb29, limb2: 0xfab0923470c6c01cd53037f7, - limb3: 0x11b814eb656959f8bcd55260 + limb3: 0x11b814eb656959f8bcd55260, }, r1a0: u384 { limb0: 0x2f5c03f8edc8ef9851eca211, limb1: 0xb8f62bffa8430def4963177c, limb2: 0x285721fd3cb9239504693349, - limb3: 0x19697adae2f920497006cf60 + limb3: 0x19697adae2f920497006cf60, }, r1a1: u384 { limb0: 0x8ba36c1c6a84f64c58779c66, limb1: 0xd8d040c366aee8415c83abc5, limb2: 0x80bdb025a81cc5fca162bc55, - limb3: 0x132455e68b47f0c80c186c5e - } + limb3: 0x132455e68b47f0c80c186c5e, + }, }, G2Line { r0a0: u384 { limb0: 0xcab2483e7d8dd3fc04231f3e, limb1: 0x6e798d52173fbcf7011727cf, limb2: 0x3aa288e6664238899e96388, - limb3: 0xbed7f1cb0f29dbd779eb4db + limb3: 0xbed7f1cb0f29dbd779eb4db, }, r0a1: u384 { limb0: 0xda17dc08cb341a88d345029c, limb1: 0xca9a84bc1b03f8ae6f50eb29, limb2: 0xfab0923470c6c01cd53037f7, - limb3: 0x11b814eb656959f8bcd55260 + limb3: 0x11b814eb656959f8bcd55260, }, r1a0: u384 { limb0: 0x2f5c03f8edc8ef9851eca211, limb1: 0xb8f62bffa8430def4963177c, limb2: 0x285721fd3cb9239504693349, - limb3: 0x19697adae2f920497006cf60 + limb3: 0x19697adae2f920497006cf60, }, r1a1: u384 { limb0: 0x8ba36c1c6a84f64c58779c66, limb1: 0xd8d040c366aee8415c83abc5, limb2: 0x80bdb025a81cc5fca162bc55, - limb3: 0x132455e68b47f0c80c186c5e - } + limb3: 0x132455e68b47f0c80c186c5e, + }, }, G2Line { r0a0: u384 { limb0: 0xc339cdf7e4e5e3a44dbaacae, limb1: 0xf7b3d92dcf1e19226487efff, limb2: 0xeebbb6f12ddfff580bdaf23e, - limb3: 0x885c7a835866bb3f2618531 + limb3: 0x885c7a835866bb3f2618531, }, r0a1: u384 { limb0: 0xfd8a9b43a96749b067da9ea7, limb1: 0x1a45ef3bc3a624fa6a875a42, limb2: 0x871092b7aae86db98a4839e3, - limb3: 0x42fdd240a03c256c99338a4 + limb3: 0x42fdd240a03c256c99338a4, }, r1a0: u384 { limb0: 0x34fac230b4cd059f4d142d09, limb1: 0x578becad930850ec442c0499, limb2: 0xdb467db9f5beceb2b12f240b, - limb3: 0x8715bbc83d753dac30ee064 + limb3: 0x8715bbc83d753dac30ee064, }, r1a1: u384 { limb0: 0xbe4bacb87a4297599bed4a75, limb1: 0x15bab163a1bec103441823b0, limb2: 0xf6b498ea628259382f611e1, - limb3: 0x25cec6e6bc8e2b0ac8eaa18 - } + limb3: 0x25cec6e6bc8e2b0ac8eaa18, + }, }, G2Line { r0a0: u384 { limb0: 0xc339cdf7e4e5e3a44dbaacae, limb1: 0xf7b3d92dcf1e19226487efff, limb2: 0xeebbb6f12ddfff580bdaf23e, - limb3: 0x885c7a835866bb3f2618531 + limb3: 0x885c7a835866bb3f2618531, }, r0a1: u384 { limb0: 0xfd8a9b43a96749b067da9ea7, limb1: 0x1a45ef3bc3a624fa6a875a42, limb2: 0x871092b7aae86db98a4839e3, - limb3: 0x42fdd240a03c256c99338a4 + limb3: 0x42fdd240a03c256c99338a4, }, r1a0: u384 { limb0: 0x34fac230b4cd059f4d142d09, limb1: 0x578becad930850ec442c0499, limb2: 0xdb467db9f5beceb2b12f240b, - limb3: 0x8715bbc83d753dac30ee064 + limb3: 0x8715bbc83d753dac30ee064, }, r1a1: u384 { limb0: 0xbe4bacb87a4297599bed4a75, limb1: 0x15bab163a1bec103441823b0, limb2: 0xf6b498ea628259382f611e1, - limb3: 0x25cec6e6bc8e2b0ac8eaa18 - } + limb3: 0x25cec6e6bc8e2b0ac8eaa18, + }, }, G2Line { r0a0: u384 { limb0: 0x62ac6bd3e467b6012ed51077, limb1: 0xba3ff2d1e2f398b07962d460, limb2: 0x5f87a3069c6c9317d90fe448, - limb3: 0x17828eef82575ad624b7eb8 + limb3: 0x17828eef82575ad624b7eb8, }, r0a1: u384 { limb0: 0x60f822b2434ac1915436b6a2, limb1: 0xc280dfe322af22994c4f583a, limb2: 0x2eb22edf843a31f56924e264, - limb3: 0xaa3dff436448f24891ce347 + limb3: 0xaa3dff436448f24891ce347, }, r1a0: u384 { limb0: 0xc957369365d1f757dc7e1b60, limb1: 0xf8fe29b2dfecfb3445695b50, limb2: 0x93b4be33129e250ba6e9d713, - limb3: 0x54e2b0392e3280c73e25db7 + limb3: 0x54e2b0392e3280c73e25db7, }, r1a1: u384 { limb0: 0x147632c4b781c87049f2585a, limb1: 0xb96a476595a9eec08470167a, limb2: 0xa692b500ee1328d089d355c9, - limb3: 0xe3b9ccbcbf1842377715224 - } + limb3: 0xe3b9ccbcbf1842377715224, + }, }, G2Line { r0a0: u384 { limb0: 0x62ac6bd3e467b6012ed51077, limb1: 0xba3ff2d1e2f398b07962d460, limb2: 0x5f87a3069c6c9317d90fe448, - limb3: 0x17828eef82575ad624b7eb8 + limb3: 0x17828eef82575ad624b7eb8, }, r0a1: u384 { limb0: 0x60f822b2434ac1915436b6a2, limb1: 0xc280dfe322af22994c4f583a, limb2: 0x2eb22edf843a31f56924e264, - limb3: 0xaa3dff436448f24891ce347 + limb3: 0xaa3dff436448f24891ce347, }, r1a0: u384 { limb0: 0xc957369365d1f757dc7e1b60, limb1: 0xf8fe29b2dfecfb3445695b50, limb2: 0x93b4be33129e250ba6e9d713, - limb3: 0x54e2b0392e3280c73e25db7 + limb3: 0x54e2b0392e3280c73e25db7, }, r1a1: u384 { limb0: 0x147632c4b781c87049f2585a, limb1: 0xb96a476595a9eec08470167a, limb2: 0xa692b500ee1328d089d355c9, - limb3: 0xe3b9ccbcbf1842377715224 - } + limb3: 0xe3b9ccbcbf1842377715224, + }, }, G2Line { r0a0: u384 { limb0: 0x64d16d41b66a102c9b553ea3, limb1: 0x295cac58ddcb86c19d5085a6, limb2: 0x7e2cd8cb5856d2d8e7eed046, - limb3: 0x15dbe6d70fdbc55ae84afa69 + limb3: 0x15dbe6d70fdbc55ae84afa69, }, r0a1: u384 { limb0: 0x54565b8fd91f675d7f4459f2, limb1: 0x272f73f709855d58fb90690e, limb2: 0x55e2996b05c2d49f2a82120c, - limb3: 0xec904bbad282fc6edb48286 + limb3: 0xec904bbad282fc6edb48286, }, r1a0: u384 { limb0: 0xb8bb51ac0ae45391324c34ee, limb1: 0x1eed107f37cd128849f36954, limb2: 0xee5c6663ab2ffe95b57e90a0, - limb3: 0x10059eac9c018522626ea231 + limb3: 0x10059eac9c018522626ea231, }, r1a1: u384 { limb0: 0xe2ccd1c7748f1dad4aa6574, limb1: 0x3f7f644aea9f5ef5c21d6b1d, limb2: 0x78437a492823073bab9f2f24, - limb3: 0x154ca2c1025881bb42f419c9 - } + limb3: 0x154ca2c1025881bb42f419c9, + }, }, G2Line { r0a0: u384 { limb0: 0x64d16d41b66a102c9b553ea3, limb1: 0x295cac58ddcb86c19d5085a6, limb2: 0x7e2cd8cb5856d2d8e7eed046, - limb3: 0x15dbe6d70fdbc55ae84afa69 + limb3: 0x15dbe6d70fdbc55ae84afa69, }, r0a1: u384 { limb0: 0x54565b8fd91f675d7f4459f2, limb1: 0x272f73f709855d58fb90690e, limb2: 0x55e2996b05c2d49f2a82120c, - limb3: 0xec904bbad282fc6edb48286 + limb3: 0xec904bbad282fc6edb48286, }, r1a0: u384 { limb0: 0xb8bb51ac0ae45391324c34ee, limb1: 0x1eed107f37cd128849f36954, limb2: 0xee5c6663ab2ffe95b57e90a0, - limb3: 0x10059eac9c018522626ea231 + limb3: 0x10059eac9c018522626ea231, }, r1a1: u384 { limb0: 0xe2ccd1c7748f1dad4aa6574, limb1: 0x3f7f644aea9f5ef5c21d6b1d, limb2: 0x78437a492823073bab9f2f24, - limb3: 0x154ca2c1025881bb42f419c9 - } + limb3: 0x154ca2c1025881bb42f419c9, + }, }, G2Line { r0a0: u384 { limb0: 0xa148fed9dcfdb8471e37e2cf, limb1: 0x33498344be66beb21dacb6cc, limb2: 0xdb2dab4272dd7e03d560ec7c, - limb3: 0x11377cdcdb4dce503806d536 + limb3: 0x11377cdcdb4dce503806d536, }, r0a1: u384 { limb0: 0x4bdd4af2794e5ba563dea99d, limb1: 0xb686ccbe1211bc916075f1f0, limb2: 0x8275da72cc81642b581cd3c, - limb3: 0xdc4f2a881416ee0d2a76b19 + limb3: 0xdc4f2a881416ee0d2a76b19, }, r1a0: u384 { limb0: 0xd911cc786bf78185445a5728, limb1: 0xc4fc6828294ec360441828a0, limb2: 0x5710cbd08f34cb4b1d311efd, - limb3: 0x10911287680bf76d68b048fa + limb3: 0x10911287680bf76d68b048fa, }, r1a1: u384 { limb0: 0xa06d07ee3f35ed581feb7120, limb1: 0x7ec15bc93962ff96203e99ef, limb2: 0x6459955c3f1acf888a31b71c, - limb3: 0x163cfbb725456b1e3f8a2a52 - } + limb3: 0x163cfbb725456b1e3f8a2a52, + }, }, G2Line { r0a0: u384 { limb0: 0xa148fed9dcfdb8471e37e2cf, limb1: 0x33498344be66beb21dacb6cc, limb2: 0xdb2dab4272dd7e03d560ec7c, - limb3: 0x11377cdcdb4dce503806d536 + limb3: 0x11377cdcdb4dce503806d536, }, r0a1: u384 { limb0: 0x4bdd4af2794e5ba563dea99d, limb1: 0xb686ccbe1211bc916075f1f0, limb2: 0x8275da72cc81642b581cd3c, - limb3: 0xdc4f2a881416ee0d2a76b19 + limb3: 0xdc4f2a881416ee0d2a76b19, }, r1a0: u384 { limb0: 0xd911cc786bf78185445a5728, limb1: 0xc4fc6828294ec360441828a0, limb2: 0x5710cbd08f34cb4b1d311efd, - limb3: 0x10911287680bf76d68b048fa + limb3: 0x10911287680bf76d68b048fa, }, r1a1: u384 { limb0: 0xa06d07ee3f35ed581feb7120, limb1: 0x7ec15bc93962ff96203e99ef, limb2: 0x6459955c3f1acf888a31b71c, - limb3: 0x163cfbb725456b1e3f8a2a52 - } + limb3: 0x163cfbb725456b1e3f8a2a52, + }, }, G2Line { r0a0: u384 { limb0: 0xe681d22feda4a7f061e8f6b3, limb1: 0xad9da9a0f9e44384ff71b25a, limb2: 0x25b7987299c14b92935df59b, - limb3: 0xe18539ac218e8292f772d49 + limb3: 0xe18539ac218e8292f772d49, }, r0a1: u384 { limb0: 0xbbab4a0c7d4380e59aaf4a14, limb1: 0x92300d61ef168a3b7f078369, limb2: 0x88740486a05e8355a2f396a6, - limb3: 0x1312ea288e7ab2c682515d55 + limb3: 0x1312ea288e7ab2c682515d55, }, r1a0: u384 { limb0: 0x5cf20f4d699d245a06e981a4, limb1: 0x4ada2dc6c16584036497194a, limb2: 0x69d2a6a56d565893c5dc5cee, - limb3: 0xe83ade7bf2df02d06d669f9 + limb3: 0xe83ade7bf2df02d06d669f9, }, r1a1: u384 { limb0: 0xdde1fccec9bcee2c65bb7113, limb1: 0xbd3a4889309b7b362a350027, limb2: 0xab1aabdde55d523dd61bd16a, - limb3: 0x8e64666e47f311366b84b22 - } + limb3: 0x8e64666e47f311366b84b22, + }, }, G2Line { r0a0: u384 { limb0: 0xe681d22feda4a7f061e8f6b3, limb1: 0xad9da9a0f9e44384ff71b25a, limb2: 0x25b7987299c14b92935df59b, - limb3: 0xe18539ac218e8292f772d49 + limb3: 0xe18539ac218e8292f772d49, }, r0a1: u384 { limb0: 0xbbab4a0c7d4380e59aaf4a14, limb1: 0x92300d61ef168a3b7f078369, limb2: 0x88740486a05e8355a2f396a6, - limb3: 0x1312ea288e7ab2c682515d55 + limb3: 0x1312ea288e7ab2c682515d55, }, r1a0: u384 { limb0: 0x5cf20f4d699d245a06e981a4, limb1: 0x4ada2dc6c16584036497194a, limb2: 0x69d2a6a56d565893c5dc5cee, - limb3: 0xe83ade7bf2df02d06d669f9 + limb3: 0xe83ade7bf2df02d06d669f9, }, r1a1: u384 { limb0: 0xdde1fccec9bcee2c65bb7113, limb1: 0xbd3a4889309b7b362a350027, limb2: 0xab1aabdde55d523dd61bd16a, - limb3: 0x8e64666e47f311366b84b22 - } + limb3: 0x8e64666e47f311366b84b22, + }, }, G2Line { r0a0: u384 { limb0: 0xf9b090fdb3bf0f5be038a031, limb1: 0xec03d47d7f362f2f46b88120, limb2: 0xcf4ea7dfdbf684e0c9c3c73, - limb3: 0x11dd63055f71654adf72fdf4 + limb3: 0x11dd63055f71654adf72fdf4, }, r0a1: u384 { limb0: 0x9eb8ba348aa55966b2360dbb, limb1: 0x48dd21f65324b91c93beb3f, limb2: 0x79f6c38f8f7656836cb1317d, - limb3: 0x108bdc14fca7e6d3304b3f3b + limb3: 0x108bdc14fca7e6d3304b3f3b, }, r1a0: u384 { limb0: 0xbf74876b9993b6ea79d756e1, limb1: 0xd5e5d391946b6572594a23d1, limb2: 0xf16cf2d26319a001b024184f, - limb3: 0xe47f5f42a8c539bf4c4aabc + limb3: 0xe47f5f42a8c539bf4c4aabc, }, r1a1: u384 { limb0: 0xd16c2d990821fee62aea0c7, limb1: 0x9fcd17773a83125f41a6e06e, limb2: 0x97ed32a632508ccadf843b41, - limb3: 0xb98f51a6d9ef1cf288747c5 - } + limb3: 0xb98f51a6d9ef1cf288747c5, + }, }, G2Line { r0a0: u384 { limb0: 0xf9b090fdb3bf0f5be038a031, limb1: 0xec03d47d7f362f2f46b88120, limb2: 0xcf4ea7dfdbf684e0c9c3c73, - limb3: 0x11dd63055f71654adf72fdf4 + limb3: 0x11dd63055f71654adf72fdf4, }, r0a1: u384 { limb0: 0x9eb8ba348aa55966b2360dbb, limb1: 0x48dd21f65324b91c93beb3f, limb2: 0x79f6c38f8f7656836cb1317d, - limb3: 0x108bdc14fca7e6d3304b3f3b + limb3: 0x108bdc14fca7e6d3304b3f3b, }, r1a0: u384 { limb0: 0xbf74876b9993b6ea79d756e1, limb1: 0xd5e5d391946b6572594a23d1, limb2: 0xf16cf2d26319a001b024184f, - limb3: 0xe47f5f42a8c539bf4c4aabc + limb3: 0xe47f5f42a8c539bf4c4aabc, }, r1a1: u384 { limb0: 0xd16c2d990821fee62aea0c7, limb1: 0x9fcd17773a83125f41a6e06e, limb2: 0x97ed32a632508ccadf843b41, - limb3: 0xb98f51a6d9ef1cf288747c5 - } + limb3: 0xb98f51a6d9ef1cf288747c5, + }, }, G2Line { r0a0: u384 { limb0: 0xc04588c9f09fa499106bc8c9, limb1: 0x7a64ff03080c6dd7d7e9eac2, limb2: 0xf4f302730238d347b951a1f3, - limb3: 0xbc95c23d2aa850d9637039c + limb3: 0xbc95c23d2aa850d9637039c, }, r0a1: u384 { limb0: 0x982410511881122d237bcf90, limb1: 0x69908a3359202333b8494da3, limb2: 0xd8845b29dfc85657a12e1e6b, - limb3: 0x861225fbc10126c68b47fbb + limb3: 0x861225fbc10126c68b47fbb, }, r1a0: u384 { limb0: 0x307f66feb496a692288ee79c, limb1: 0xea2a865ce7b1a83eb71f516e, limb2: 0x3acfdeb605537b1db464d091, - limb3: 0x199bcae152e692669ca36f70 + limb3: 0x199bcae152e692669ca36f70, }, r1a1: u384 { limb0: 0x67ed8bd9d8b3671bc52dd01a, limb1: 0xa128cb4f4b3fb9f78826fa5c, limb2: 0xdc60b2aeb8989c43359f9ee4, - limb3: 0x154183d7ad332d63192fd716 - } + limb3: 0x154183d7ad332d63192fd716, + }, }, G2Line { r0a0: u384 { limb0: 0x4c1b7c692bcb90fc6da4682a, limb1: 0xdee0840ffe02e6822d2fbc52, limb2: 0x76f9d61c6685c1019409e2e6, - limb3: 0x131589c0f041ca383a010a65 + limb3: 0x131589c0f041ca383a010a65, }, r0a1: u384 { limb0: 0x5f44efbb5a56642b645b251d, limb1: 0xcc0b6a435e33cf7e66f796ef, limb2: 0x2afead4ba783ddd084a2de2, - limb3: 0x14fb18cfb114fe90def3b975 + limb3: 0x14fb18cfb114fe90def3b975, }, r1a0: u384 { limb0: 0x6738569610d2c81b6648b199, limb1: 0x3d70fbe299588075a3c0cd65, limb2: 0x9fb99753b8fe3603ef293640, - limb3: 0xb0c1cb2bfa9049055dc042a + limb3: 0xb0c1cb2bfa9049055dc042a, }, r1a1: u384 { limb0: 0xcf4196c9021ca7f093cfb891, limb1: 0xdc602f37532b7f244f265bb4, limb2: 0x2eda24acdd8ac91dba31011a, - limb3: 0x831f465b19f5e211770a330 - } + limb3: 0x831f465b19f5e211770a330, + }, }, G2Line { r0a0: u384 { limb0: 0xc04588c9f09fa499106bc8c9, limb1: 0x7a64ff03080c6dd7d7e9eac2, limb2: 0xf4f302730238d347b951a1f3, - limb3: 0xbc95c23d2aa850d9637039c + limb3: 0xbc95c23d2aa850d9637039c, }, r0a1: u384 { limb0: 0x982410511881122d237bcf90, limb1: 0x69908a3359202333b8494da3, limb2: 0xd8845b29dfc85657a12e1e6b, - limb3: 0x861225fbc10126c68b47fbb + limb3: 0x861225fbc10126c68b47fbb, }, r1a0: u384 { limb0: 0x307f66feb496a692288ee79c, limb1: 0xea2a865ce7b1a83eb71f516e, limb2: 0x3acfdeb605537b1db464d091, - limb3: 0x199bcae152e692669ca36f70 + limb3: 0x199bcae152e692669ca36f70, }, r1a1: u384 { limb0: 0x67ed8bd9d8b3671bc52dd01a, limb1: 0xa128cb4f4b3fb9f78826fa5c, limb2: 0xdc60b2aeb8989c43359f9ee4, - limb3: 0x154183d7ad332d63192fd716 - } + limb3: 0x154183d7ad332d63192fd716, + }, }, G2Line { r0a0: u384 { limb0: 0x4c1b7c692bcb90fc6da4682a, limb1: 0xdee0840ffe02e6822d2fbc52, limb2: 0x76f9d61c6685c1019409e2e6, - limb3: 0x131589c0f041ca383a010a65 + limb3: 0x131589c0f041ca383a010a65, }, r0a1: u384 { limb0: 0x5f44efbb5a56642b645b251d, limb1: 0xcc0b6a435e33cf7e66f796ef, limb2: 0x2afead4ba783ddd084a2de2, - limb3: 0x14fb18cfb114fe90def3b975 + limb3: 0x14fb18cfb114fe90def3b975, }, r1a0: u384 { limb0: 0x6738569610d2c81b6648b199, limb1: 0x3d70fbe299588075a3c0cd65, limb2: 0x9fb99753b8fe3603ef293640, - limb3: 0xb0c1cb2bfa9049055dc042a + limb3: 0xb0c1cb2bfa9049055dc042a, }, r1a1: u384 { limb0: 0xcf4196c9021ca7f093cfb891, limb1: 0xdc602f37532b7f244f265bb4, limb2: 0x2eda24acdd8ac91dba31011a, - limb3: 0x831f465b19f5e211770a330 - } + limb3: 0x831f465b19f5e211770a330, + }, }, G2Line { r0a0: u384 { limb0: 0xbead4997832000eec2d23426, limb1: 0x70326bda198a624d79fe5b6e, limb2: 0x34320ab5d9d57a16f9b3335d, - limb3: 0x15ed7fcb0bbd153b17bd9ab7 + limb3: 0x15ed7fcb0bbd153b17bd9ab7, }, r0a1: u384 { limb0: 0xeef082656c66bb5b7891e0fa, limb1: 0x5c3a8513f52f57cb1b0c7958, limb2: 0xcd1545fd6d3fca90cca7ddbf, - limb3: 0x14a5d26055e3895cc2078189 + limb3: 0x14a5d26055e3895cc2078189, }, r1a0: u384 { limb0: 0x51fd450f49e14cf29994d0d8, limb1: 0x352df17adf32a543695add5b, limb2: 0x620770f7a8734b83419a0015, - limb3: 0x3bed8150b4306f815c54ae0 + limb3: 0x3bed8150b4306f815c54ae0, }, r1a1: u384 { limb0: 0xdcda7311d4becff3df733d35, limb1: 0x6d1b5d403a8a86fa9c0ad26b, limb2: 0x41249656cda2d1314833048c, - limb3: 0x18fa645f04346cb55df845ec - } + limb3: 0x18fa645f04346cb55df845ec, + }, }, G2Line { r0a0: u384 { limb0: 0xbead4997832000eec2d23426, limb1: 0x70326bda198a624d79fe5b6e, limb2: 0x34320ab5d9d57a16f9b3335d, - limb3: 0x15ed7fcb0bbd153b17bd9ab7 + limb3: 0x15ed7fcb0bbd153b17bd9ab7, }, r0a1: u384 { limb0: 0xeef082656c66bb5b7891e0fa, limb1: 0x5c3a8513f52f57cb1b0c7958, limb2: 0xcd1545fd6d3fca90cca7ddbf, - limb3: 0x14a5d26055e3895cc2078189 + limb3: 0x14a5d26055e3895cc2078189, }, r1a0: u384 { limb0: 0x51fd450f49e14cf29994d0d8, limb1: 0x352df17adf32a543695add5b, limb2: 0x620770f7a8734b83419a0015, - limb3: 0x3bed8150b4306f815c54ae0 + limb3: 0x3bed8150b4306f815c54ae0, }, r1a1: u384 { limb0: 0xdcda7311d4becff3df733d35, limb1: 0x6d1b5d403a8a86fa9c0ad26b, limb2: 0x41249656cda2d1314833048c, - limb3: 0x18fa645f04346cb55df845ec - } + limb3: 0x18fa645f04346cb55df845ec, + }, }, G2Line { r0a0: u384 { limb0: 0xd9186b9c733a20289999898e, limb1: 0x6de39966328adffa7073a300, limb2: 0xf15f1d47e489cb0211ae9365, - limb3: 0x130c5531b0d8c306969ed394 + limb3: 0x130c5531b0d8c306969ed394, }, r0a1: u384 { limb0: 0xdb40370c9fc08d2498113f0e, limb1: 0x52a13a99df87505995085459, limb2: 0xef9d808d7ee6f27a05e1b801, - limb3: 0x50452f33ca7e399a6020469 + limb3: 0x50452f33ca7e399a6020469, }, r1a0: u384 { limb0: 0x36def0c15c3f8e182c9ea44d, limb1: 0x326195297234c6d7a93109a7, limb2: 0x87a1563a69011deff0488ae7, - limb3: 0x132a2fc3be8766a1177e52aa + limb3: 0x132a2fc3be8766a1177e52aa, }, r1a1: u384 { limb0: 0x62378fa1506521802106b7e5, limb1: 0xd8cc0cff92a519c933c28a36, limb2: 0xa1102e8ae53eaf25f786453b, - limb3: 0x9a64df029f7f27d39d0dc0e - } + limb3: 0x9a64df029f7f27d39d0dc0e, + }, }, G2Line { r0a0: u384 { limb0: 0xd9186b9c733a20289999898e, limb1: 0x6de39966328adffa7073a300, limb2: 0xf15f1d47e489cb0211ae9365, - limb3: 0x130c5531b0d8c306969ed394 + limb3: 0x130c5531b0d8c306969ed394, }, r0a1: u384 { limb0: 0xdb40370c9fc08d2498113f0e, limb1: 0x52a13a99df87505995085459, limb2: 0xef9d808d7ee6f27a05e1b801, - limb3: 0x50452f33ca7e399a6020469 + limb3: 0x50452f33ca7e399a6020469, }, r1a0: u384 { limb0: 0x36def0c15c3f8e182c9ea44d, limb1: 0x326195297234c6d7a93109a7, limb2: 0x87a1563a69011deff0488ae7, - limb3: 0x132a2fc3be8766a1177e52aa + limb3: 0x132a2fc3be8766a1177e52aa, }, r1a1: u384 { limb0: 0x62378fa1506521802106b7e5, limb1: 0xd8cc0cff92a519c933c28a36, limb2: 0xa1102e8ae53eaf25f786453b, - limb3: 0x9a64df029f7f27d39d0dc0e - } + limb3: 0x9a64df029f7f27d39d0dc0e, + }, }, G2Line { r0a0: u384 { limb0: 0x25ea37848e0ac8549a3cfea4, limb1: 0x4769da5b3fdb93516843dcc4, limb2: 0x25c2fee69d51e108950ee66c, - limb3: 0xcbe02237fb28faee0f0f322 + limb3: 0xcbe02237fb28faee0f0f322, }, r0a1: u384 { limb0: 0xeb04a575e069162f1fbffeac, limb1: 0x70a494b054c8efcb93da1757, limb2: 0x47f9c06eaaca8c969afabd71, - limb3: 0x161220a792413bbe47629580 + limb3: 0x161220a792413bbe47629580, }, r1a0: u384 { limb0: 0xdcd325a8ba5cef5390f5d151, limb1: 0xcdc42d134b74aa1a5062ce50, limb2: 0x60be437e1aa4a9878448da68, - limb3: 0x3afadaca8a96f634f1a416c + limb3: 0x3afadaca8a96f634f1a416c, }, r1a1: u384 { limb0: 0x2a305361b67f6592fa2a5b23, limb1: 0x60950369afb1c2180ac6372, limb2: 0x18abd84df73559c2ec121d5d, - limb3: 0x30f5ef160b1fd967f8015ab - } + limb3: 0x30f5ef160b1fd967f8015ab, + }, }, G2Line { r0a0: u384 { limb0: 0x25ea37848e0ac8549a3cfea4, limb1: 0x4769da5b3fdb93516843dcc4, limb2: 0x25c2fee69d51e108950ee66c, - limb3: 0xcbe02237fb28faee0f0f322 + limb3: 0xcbe02237fb28faee0f0f322, }, r0a1: u384 { limb0: 0xeb04a575e069162f1fbffeac, limb1: 0x70a494b054c8efcb93da1757, limb2: 0x47f9c06eaaca8c969afabd71, - limb3: 0x161220a792413bbe47629580 + limb3: 0x161220a792413bbe47629580, }, r1a0: u384 { limb0: 0xdcd325a8ba5cef5390f5d151, limb1: 0xcdc42d134b74aa1a5062ce50, limb2: 0x60be437e1aa4a9878448da68, - limb3: 0x3afadaca8a96f634f1a416c + limb3: 0x3afadaca8a96f634f1a416c, }, r1a1: u384 { limb0: 0x2a305361b67f6592fa2a5b23, limb1: 0x60950369afb1c2180ac6372, limb2: 0x18abd84df73559c2ec121d5d, - limb3: 0x30f5ef160b1fd967f8015ab - } + limb3: 0x30f5ef160b1fd967f8015ab, + }, }, G2Line { r0a0: u384 { limb0: 0x57e9ad17c997b15ffbad6d82, limb1: 0xb58a8d3786323d96d83553ef, limb2: 0x7ebd9eee07a5e594ba52aa95, - limb3: 0x111e440bd97eda09284f64eb + limb3: 0x111e440bd97eda09284f64eb, }, r0a1: u384 { limb0: 0xd3b88ae51c3481402eba34a1, limb1: 0x2d45a1eeba9f7b3b15c0f834, limb2: 0xf01e42935934d35517d5917f, - limb3: 0x17873198e39dea6b3fe5129f + limb3: 0x17873198e39dea6b3fe5129f, }, r1a0: u384 { limb0: 0x2f6c420e2c5b378a9412c0d0, limb1: 0x955d38483a2f278270b22268, limb2: 0x51a730b71b201f7aae89b10b, - limb3: 0x1085c28c787add8dcd06245a + limb3: 0x1085c28c787add8dcd06245a, }, r1a1: u384 { limb0: 0x6e0644b1126aa50e5b4773e6, limb1: 0xdcbb3ddbc7340820e35af7a2, limb2: 0x92c56f71378f46d9681bc464, - limb3: 0x14e782a8eeff9d9dd580cc4 - } + limb3: 0x14e782a8eeff9d9dd580cc4, + }, }, G2Line { r0a0: u384 { limb0: 0x57e9ad17c997b15ffbad6d82, limb1: 0xb58a8d3786323d96d83553ef, limb2: 0x7ebd9eee07a5e594ba52aa95, - limb3: 0x111e440bd97eda09284f64eb + limb3: 0x111e440bd97eda09284f64eb, }, r0a1: u384 { limb0: 0xd3b88ae51c3481402eba34a1, limb1: 0x2d45a1eeba9f7b3b15c0f834, limb2: 0xf01e42935934d35517d5917f, - limb3: 0x17873198e39dea6b3fe5129f + limb3: 0x17873198e39dea6b3fe5129f, }, r1a0: u384 { limb0: 0x2f6c420e2c5b378a9412c0d0, limb1: 0x955d38483a2f278270b22268, limb2: 0x51a730b71b201f7aae89b10b, - limb3: 0x1085c28c787add8dcd06245a + limb3: 0x1085c28c787add8dcd06245a, }, r1a1: u384 { limb0: 0x6e0644b1126aa50e5b4773e6, limb1: 0xdcbb3ddbc7340820e35af7a2, limb2: 0x92c56f71378f46d9681bc464, - limb3: 0x14e782a8eeff9d9dd580cc4 - } + limb3: 0x14e782a8eeff9d9dd580cc4, + }, }, G2Line { r0a0: u384 { limb0: 0xa17319d2ed4a91226b6d3089, limb1: 0x1d8f224ab570fde86c7f2048, limb2: 0xd622960850d94ec99de711af, - limb3: 0x124395d2fa862d11c431fefa + limb3: 0x124395d2fa862d11c431fefa, }, r0a1: u384 { limb0: 0x6ddb45f997e48b97942d9c3f, limb1: 0x3d8b7f429593a772eb589e3a, limb2: 0xbd411a9a2e3bafe120332263, - limb3: 0x4ae24dd579f310ebebb670a + limb3: 0x4ae24dd579f310ebebb670a, }, r1a0: u384 { limb0: 0x700c5258e540544c8801a1d2, limb1: 0x40032ac207f46794aacd4702, limb2: 0x664658ab49940041c676ae29, - limb3: 0xbba2393a3187f3acdec0862 + limb3: 0xbba2393a3187f3acdec0862, }, r1a1: u384 { limb0: 0x1fb806ee192d153b8c48f37f, limb1: 0xd8d017e6d2d0a8aade0c5570, limb2: 0x8e857d4ca13adcefbf7a644c, - limb3: 0x5eeb6818a540c068177383c - } + limb3: 0x5eeb6818a540c068177383c, + }, }, G2Line { r0a0: u384 { limb0: 0xa17319d2ed4a91226b6d3089, limb1: 0x1d8f224ab570fde86c7f2048, limb2: 0xd622960850d94ec99de711af, - limb3: 0x124395d2fa862d11c431fefa + limb3: 0x124395d2fa862d11c431fefa, }, r0a1: u384 { limb0: 0x6ddb45f997e48b97942d9c3f, limb1: 0x3d8b7f429593a772eb589e3a, limb2: 0xbd411a9a2e3bafe120332263, - limb3: 0x4ae24dd579f310ebebb670a + limb3: 0x4ae24dd579f310ebebb670a, }, r1a0: u384 { limb0: 0x700c5258e540544c8801a1d2, limb1: 0x40032ac207f46794aacd4702, limb2: 0x664658ab49940041c676ae29, - limb3: 0xbba2393a3187f3acdec0862 + limb3: 0xbba2393a3187f3acdec0862, }, r1a1: u384 { limb0: 0x1fb806ee192d153b8c48f37f, limb1: 0xd8d017e6d2d0a8aade0c5570, limb2: 0x8e857d4ca13adcefbf7a644c, - limb3: 0x5eeb6818a540c068177383c - } + limb3: 0x5eeb6818a540c068177383c, + }, }, G2Line { r0a0: u384 { limb0: 0x7ad0e4fa558ef8b11384085e, limb1: 0x4329afaeac994168fe5e0cd7, limb2: 0xb34e8702ef6b72f9a6008fa, - limb3: 0x99d918594ec79185a3f5298 + limb3: 0x99d918594ec79185a3f5298, }, r0a1: u384 { limb0: 0xbf74c3bbc5fa4f115e66c539, limb1: 0x7da649aab4c450a071647d9d, limb2: 0x3de1249ed9c917ba907ae87e, - limb3: 0x17fb63a54ba4b99d958c47f5 + limb3: 0x17fb63a54ba4b99d958c47f5, }, r1a0: u384 { limb0: 0x29a111bd2ddf9b91308af11b, limb1: 0xc6f5fc9404a96ca03bae4905, limb2: 0x4cf974b0c052477bbda2b847, - limb3: 0x1825483020fd8780c86b1015 + limb3: 0x1825483020fd8780c86b1015, }, r1a1: u384 { limb0: 0xbc7ecc69f7efad3e70b125e4, limb1: 0x91fecbb081beb006bf85d061, limb2: 0xc0eb86316968cc75b5960f2b, - limb3: 0xe38ff44ac8be45215c49ab0 - } + limb3: 0xe38ff44ac8be45215c49ab0, + }, }, G2Line { r0a0: u384 { limb0: 0x7ad0e4fa558ef8b11384085e, limb1: 0x4329afaeac994168fe5e0cd7, limb2: 0xb34e8702ef6b72f9a6008fa, - limb3: 0x99d918594ec79185a3f5298 + limb3: 0x99d918594ec79185a3f5298, }, r0a1: u384 { limb0: 0xbf74c3bbc5fa4f115e66c539, limb1: 0x7da649aab4c450a071647d9d, limb2: 0x3de1249ed9c917ba907ae87e, - limb3: 0x17fb63a54ba4b99d958c47f5 + limb3: 0x17fb63a54ba4b99d958c47f5, }, r1a0: u384 { limb0: 0x29a111bd2ddf9b91308af11b, limb1: 0xc6f5fc9404a96ca03bae4905, limb2: 0x4cf974b0c052477bbda2b847, - limb3: 0x1825483020fd8780c86b1015 + limb3: 0x1825483020fd8780c86b1015, }, r1a1: u384 { limb0: 0xbc7ecc69f7efad3e70b125e4, limb1: 0x91fecbb081beb006bf85d061, limb2: 0xc0eb86316968cc75b5960f2b, - limb3: 0xe38ff44ac8be45215c49ab0 - } + limb3: 0xe38ff44ac8be45215c49ab0, + }, }, G2Line { r0a0: u384 { limb0: 0xceb6d3ab08b373dc22ba995f, limb1: 0x43d108be275c4c77ddb43e08, limb2: 0xe516383196fb48b7d3febb1d, - limb3: 0xe4c3290d4c9ba0a816475d3 + limb3: 0xe4c3290d4c9ba0a816475d3, }, r0a1: u384 { limb0: 0xd1fc69b97fb0e00d2934ae95, limb1: 0xfc2f8a30bfd324e8dba3d887, limb2: 0x160584b561794cc64271dc15, - limb3: 0x1009e338dbc724df50993a65 + limb3: 0x1009e338dbc724df50993a65, }, r1a0: u384 { limb0: 0x475f046f42faf48c326b4bf1, limb1: 0xb713074989c0643fceb94c0f, limb2: 0xe26638cb83c9c26a954a45d9, - limb3: 0x1754c6aae904e4e80cd79f52 + limb3: 0x1754c6aae904e4e80cd79f52, }, r1a1: u384 { limb0: 0xd7db51e3579f8a30ee0b70aa, limb1: 0x25e0748f0cfe2d0aa5c0c8a0, limb2: 0x6d0c3361c1683f7dc395ddf0, - limb3: 0x1348bfc584e6abb75e34a3a6 - } + limb3: 0x1348bfc584e6abb75e34a3a6, + }, }, G2Line { r0a0: u384 { limb0: 0xceb6d3ab08b373dc22ba995f, limb1: 0x43d108be275c4c77ddb43e08, limb2: 0xe516383196fb48b7d3febb1d, - limb3: 0xe4c3290d4c9ba0a816475d3 + limb3: 0xe4c3290d4c9ba0a816475d3, }, r0a1: u384 { limb0: 0xd1fc69b97fb0e00d2934ae95, limb1: 0xfc2f8a30bfd324e8dba3d887, limb2: 0x160584b561794cc64271dc15, - limb3: 0x1009e338dbc724df50993a65 + limb3: 0x1009e338dbc724df50993a65, }, r1a0: u384 { limb0: 0x475f046f42faf48c326b4bf1, limb1: 0xb713074989c0643fceb94c0f, limb2: 0xe26638cb83c9c26a954a45d9, - limb3: 0x1754c6aae904e4e80cd79f52 + limb3: 0x1754c6aae904e4e80cd79f52, }, r1a1: u384 { limb0: 0xd7db51e3579f8a30ee0b70aa, limb1: 0x25e0748f0cfe2d0aa5c0c8a0, limb2: 0x6d0c3361c1683f7dc395ddf0, - limb3: 0x1348bfc584e6abb75e34a3a6 - } + limb3: 0x1348bfc584e6abb75e34a3a6, + }, }, G2Line { r0a0: u384 { limb0: 0xb50d817096bd5c150cd6a82b, limb1: 0x6bcc034040210fda6c8b4cff, limb2: 0x9be137b6cb13d4ebe5a30e0e, - limb3: 0x84b37e667ea19363ed3ffd0 + limb3: 0x84b37e667ea19363ed3ffd0, }, r0a1: u384 { limb0: 0x11c9654f31306495f8e6bc94, limb1: 0xba6a2171d247ebe2b0f7f696, limb2: 0xa6d4bf1963b95bcfb7c93d93, - limb3: 0x15ac996599cf39209a84ea5a + limb3: 0x15ac996599cf39209a84ea5a, }, r1a0: u384 { limb0: 0x8d27e960a12b8ec9372cca66, limb1: 0xaaba63010526c24d3c2840b7, limb2: 0xaa25dc5b42e3ed60c93463ce, - limb3: 0x7fe44d4a1e4791800b1e0fa + limb3: 0x7fe44d4a1e4791800b1e0fa, }, r1a1: u384 { limb0: 0xfc3e99620792c110703978d5, limb1: 0xf4db1062eef1c755a07fbde6, limb2: 0xf570179ead4983a489316019, - limb3: 0x46aaa91f573494bb66d079 - } + limb3: 0x46aaa91f573494bb66d079, + }, }, G2Line { r0a0: u384 { limb0: 0xb50d817096bd5c150cd6a82b, limb1: 0x6bcc034040210fda6c8b4cff, limb2: 0x9be137b6cb13d4ebe5a30e0e, - limb3: 0x84b37e667ea19363ed3ffd0 + limb3: 0x84b37e667ea19363ed3ffd0, }, r0a1: u384 { limb0: 0x11c9654f31306495f8e6bc94, limb1: 0xba6a2171d247ebe2b0f7f696, limb2: 0xa6d4bf1963b95bcfb7c93d93, - limb3: 0x15ac996599cf39209a84ea5a + limb3: 0x15ac996599cf39209a84ea5a, }, r1a0: u384 { limb0: 0x8d27e960a12b8ec9372cca66, limb1: 0xaaba63010526c24d3c2840b7, limb2: 0xaa25dc5b42e3ed60c93463ce, - limb3: 0x7fe44d4a1e4791800b1e0fa + limb3: 0x7fe44d4a1e4791800b1e0fa, }, r1a1: u384 { limb0: 0xfc3e99620792c110703978d5, limb1: 0xf4db1062eef1c755a07fbde6, limb2: 0xf570179ead4983a489316019, - limb3: 0x46aaa91f573494bb66d079 - } + limb3: 0x46aaa91f573494bb66d079, + }, }, G2Line { r0a0: u384 { limb0: 0xe9f685c65bd9792c8adee32, limb1: 0xecc42b0c513df20e80dfcb0c, limb2: 0xf97767f63bec29912643b18c, - limb3: 0x658e5d9dd13b65d9d50e485 + limb3: 0x658e5d9dd13b65d9d50e485, }, r0a1: u384 { limb0: 0xd80080e976138f1d433aee10, limb1: 0xd60db98a0a46712bf28de887, limb2: 0x9ec4a90a9b07bdfb9a8f9cac, - limb3: 0x1269ede044c4c6361453dbd4 + limb3: 0x1269ede044c4c6361453dbd4, }, r1a0: u384 { limb0: 0x33266d196827c62d12d911f5, limb1: 0x3273f6ca8f6ac372356ac475, limb2: 0x3dbd80e6d1898f8e7cefbbd8, - limb3: 0x17b88f8e9c438e00a591eb3 + limb3: 0x17b88f8e9c438e00a591eb3, }, r1a1: u384 { limb0: 0x6bf73b94433c19c358c705da, limb1: 0xa52a6f1848089194d82c9450, limb2: 0x41a0fcd2736929e504cab889, - limb3: 0xe660555872f31d5085b6c20 - } + limb3: 0xe660555872f31d5085b6c20, + }, }, G2Line { r0a0: u384 { limb0: 0xe9f685c65bd9792c8adee32, limb1: 0xecc42b0c513df20e80dfcb0c, limb2: 0xf97767f63bec29912643b18c, - limb3: 0x658e5d9dd13b65d9d50e485 + limb3: 0x658e5d9dd13b65d9d50e485, }, r0a1: u384 { limb0: 0xd80080e976138f1d433aee10, limb1: 0xd60db98a0a46712bf28de887, limb2: 0x9ec4a90a9b07bdfb9a8f9cac, - limb3: 0x1269ede044c4c6361453dbd4 + limb3: 0x1269ede044c4c6361453dbd4, }, r1a0: u384 { limb0: 0x33266d196827c62d12d911f5, limb1: 0x3273f6ca8f6ac372356ac475, limb2: 0x3dbd80e6d1898f8e7cefbbd8, - limb3: 0x17b88f8e9c438e00a591eb3 + limb3: 0x17b88f8e9c438e00a591eb3, }, r1a1: u384 { limb0: 0x6bf73b94433c19c358c705da, limb1: 0xa52a6f1848089194d82c9450, limb2: 0x41a0fcd2736929e504cab889, - limb3: 0xe660555872f31d5085b6c20 - } + limb3: 0xe660555872f31d5085b6c20, + }, }, G2Line { r0a0: u384 { limb0: 0xade8d05561fb99ceb1b398dc, limb1: 0x9e365afb0af81213414cfaf7, limb2: 0x7f77a69390559e530043141a, - limb3: 0xc209c5c88e6c6f2b043351b + limb3: 0xc209c5c88e6c6f2b043351b, }, r0a1: u384 { limb0: 0x7565700ffe842d640fc1ead7, limb1: 0xd7a72ca686ca6e365e66674f, limb2: 0x74d23c8889d674ed594cdeba, - limb3: 0x3b785972f83859804ba7b9f + limb3: 0x3b785972f83859804ba7b9f, }, r1a0: u384 { limb0: 0x6762e6916c0e2c81f7508214, limb1: 0xd0d08610571c6228f47f1451, limb2: 0x81ec1b03edd35c515bf8d1cd, - limb3: 0x41a7141598d94d8d557ea13 + limb3: 0x41a7141598d94d8d557ea13, }, r1a1: u384 { limb0: 0xc76846d9fc76bba55279cd97, limb1: 0xf475886e2b2e07119618d34c, limb2: 0x7cbf7dfaa9bdf3f6b1b6add8, - limb3: 0xe697b86b1a1a256ea1fc7bd - } + limb3: 0xe697b86b1a1a256ea1fc7bd, + }, }, G2Line { r0a0: u384 { limb0: 0xade8d05561fb99ceb1b398dc, limb1: 0x9e365afb0af81213414cfaf7, limb2: 0x7f77a69390559e530043141a, - limb3: 0xc209c5c88e6c6f2b043351b + limb3: 0xc209c5c88e6c6f2b043351b, }, r0a1: u384 { limb0: 0x7565700ffe842d640fc1ead7, limb1: 0xd7a72ca686ca6e365e66674f, limb2: 0x74d23c8889d674ed594cdeba, - limb3: 0x3b785972f83859804ba7b9f + limb3: 0x3b785972f83859804ba7b9f, }, r1a0: u384 { limb0: 0x6762e6916c0e2c81f7508214, limb1: 0xd0d08610571c6228f47f1451, limb2: 0x81ec1b03edd35c515bf8d1cd, - limb3: 0x41a7141598d94d8d557ea13 + limb3: 0x41a7141598d94d8d557ea13, }, r1a1: u384 { limb0: 0xc76846d9fc76bba55279cd97, limb1: 0xf475886e2b2e07119618d34c, limb2: 0x7cbf7dfaa9bdf3f6b1b6add8, - limb3: 0xe697b86b1a1a256ea1fc7bd - } + limb3: 0xe697b86b1a1a256ea1fc7bd, + }, }, G2Line { r0a0: u384 { limb0: 0x3e2bda3bb882029aa8c68c07, limb1: 0xa0a7e087ad38e14e08cef273, limb2: 0x5808f126af4a19c3133f879a, - limb3: 0x19bd29ab402e8d268fcb24d2 + limb3: 0x19bd29ab402e8d268fcb24d2, }, r0a1: u384 { limb0: 0xcd0ea0d4ee5a1532a9730806, limb1: 0x7845796a605b0f7861d95340, limb2: 0x89ef8948802539a10a58b812, - limb3: 0x1053849b92ac68c309e109c1 + limb3: 0x1053849b92ac68c309e109c1, }, r1a0: u384 { limb0: 0xa3815eaa263de8563f27a5a9, limb1: 0xde94b962e70316398ed6dca9, limb2: 0xa87f14f61a4ac2b9e62df692, - limb3: 0x252bb6ddefddda543bb5ffd + limb3: 0x252bb6ddefddda543bb5ffd, }, r1a1: u384 { limb0: 0x60d60e0da595356015916692, limb1: 0x4b828f50f32b12b44b33e235, limb2: 0x769ed0c50fe7fa25ffdc245a, - limb3: 0x6e387748806b8214f1b79e3 - } + limb3: 0x6e387748806b8214f1b79e3, + }, }, G2Line { r0a0: u384 { limb0: 0x3e2bda3bb882029aa8c68c07, limb1: 0xa0a7e087ad38e14e08cef273, limb2: 0x5808f126af4a19c3133f879a, - limb3: 0x19bd29ab402e8d268fcb24d2 + limb3: 0x19bd29ab402e8d268fcb24d2, }, r0a1: u384 { limb0: 0xcd0ea0d4ee5a1532a9730806, limb1: 0x7845796a605b0f7861d95340, limb2: 0x89ef8948802539a10a58b812, - limb3: 0x1053849b92ac68c309e109c1 + limb3: 0x1053849b92ac68c309e109c1, }, r1a0: u384 { limb0: 0xa3815eaa263de8563f27a5a9, limb1: 0xde94b962e70316398ed6dca9, limb2: 0xa87f14f61a4ac2b9e62df692, - limb3: 0x252bb6ddefddda543bb5ffd + limb3: 0x252bb6ddefddda543bb5ffd, }, r1a1: u384 { limb0: 0x60d60e0da595356015916692, limb1: 0x4b828f50f32b12b44b33e235, limb2: 0x769ed0c50fe7fa25ffdc245a, - limb3: 0x6e387748806b8214f1b79e3 - } + limb3: 0x6e387748806b8214f1b79e3, + }, }, G2Line { r0a0: u384 { limb0: 0xfd057da0cb173025ce2f998a, limb1: 0x9e4d6149a2fc05606e592731, limb2: 0x8b1847b9941797009134cfa1, - limb3: 0x18da833da14d6db1d7986937 + limb3: 0x18da833da14d6db1d7986937, }, r0a1: u384 { limb0: 0x5eb7e3f27b2ab2f1c56f91cb, limb1: 0x3b6645812dc68a27333141f2, limb2: 0xfb06e0ba9a36c40cbd2837b9, - limb3: 0xb998d9cd4e1fdb1c7673a4d + limb3: 0xb998d9cd4e1fdb1c7673a4d, }, r1a0: u384 { limb0: 0xea6b77d2854c6efa8751c13, limb1: 0x2a8bc25dab4cbfb0083ad510, limb2: 0xc394a4e0f3acd2aa2f2e5029, - limb3: 0x4737c2c084ac35ec59d139d + limb3: 0x4737c2c084ac35ec59d139d, }, r1a1: u384 { limb0: 0xaff0146957bcf99d6005201c, limb1: 0x5cc5e1fb8259ea6e5ffe87dc, limb2: 0xd9372a44e3423a7331ac2435, - limb3: 0x15d0e555bcdc0d8d48cad595 - } + limb3: 0x15d0e555bcdc0d8d48cad595, + }, }, G2Line { r0a0: u384 { limb0: 0xfd057da0cb173025ce2f998a, limb1: 0x9e4d6149a2fc05606e592731, limb2: 0x8b1847b9941797009134cfa1, - limb3: 0x18da833da14d6db1d7986937 + limb3: 0x18da833da14d6db1d7986937, }, r0a1: u384 { limb0: 0x5eb7e3f27b2ab2f1c56f91cb, limb1: 0x3b6645812dc68a27333141f2, limb2: 0xfb06e0ba9a36c40cbd2837b9, - limb3: 0xb998d9cd4e1fdb1c7673a4d + limb3: 0xb998d9cd4e1fdb1c7673a4d, }, r1a0: u384 { limb0: 0xea6b77d2854c6efa8751c13, limb1: 0x2a8bc25dab4cbfb0083ad510, limb2: 0xc394a4e0f3acd2aa2f2e5029, - limb3: 0x4737c2c084ac35ec59d139d + limb3: 0x4737c2c084ac35ec59d139d, }, r1a1: u384 { limb0: 0xaff0146957bcf99d6005201c, limb1: 0x5cc5e1fb8259ea6e5ffe87dc, limb2: 0xd9372a44e3423a7331ac2435, - limb3: 0x15d0e555bcdc0d8d48cad595 - } + limb3: 0x15d0e555bcdc0d8d48cad595, + }, }, G2Line { r0a0: u384 { limb0: 0x828425fca9d6cd76f222c299, limb1: 0x2b0db667ad7776a32372e139, limb2: 0x7ff7fb851413603a6f0d2fef, - limb3: 0x166c41ed7430420750164f1a + limb3: 0x166c41ed7430420750164f1a, }, r0a1: u384 { limb0: 0xe3788c1577b092a1a89686b2, limb1: 0x5fdf8356c68add3572e76a25, limb2: 0x37115b7994287a9b345dd0ed, - limb3: 0xffcc588c7d1b96c86dc3aaf + limb3: 0xffcc588c7d1b96c86dc3aaf, }, r1a0: u384 { limb0: 0xbc7e65f493e052b119a9c84f, limb1: 0x11aa017bcbfc878c46a18c52, limb2: 0xa65af0bdbf93483836c11b4d, - limb3: 0xd2f8087436fff404d7e6bc + limb3: 0xd2f8087436fff404d7e6bc, }, r1a1: u384 { limb0: 0xc171d5e78129decdde583c1f, limb1: 0x300b7521c43311b00cb16b80, limb2: 0xbccbe679495d33a3fcb98e54, - limb3: 0x13fe5206e449d407a961a9d0 - } + limb3: 0x13fe5206e449d407a961a9d0, + }, }, G2Line { r0a0: u384 { limb0: 0x828425fca9d6cd76f222c299, limb1: 0x2b0db667ad7776a32372e139, limb2: 0x7ff7fb851413603a6f0d2fef, - limb3: 0x166c41ed7430420750164f1a + limb3: 0x166c41ed7430420750164f1a, }, r0a1: u384 { limb0: 0xe3788c1577b092a1a89686b2, limb1: 0x5fdf8356c68add3572e76a25, limb2: 0x37115b7994287a9b345dd0ed, - limb3: 0xffcc588c7d1b96c86dc3aaf + limb3: 0xffcc588c7d1b96c86dc3aaf, }, r1a0: u384 { limb0: 0xbc7e65f493e052b119a9c84f, limb1: 0x11aa017bcbfc878c46a18c52, limb2: 0xa65af0bdbf93483836c11b4d, - limb3: 0xd2f8087436fff404d7e6bc + limb3: 0xd2f8087436fff404d7e6bc, }, r1a1: u384 { limb0: 0xc171d5e78129decdde583c1f, limb1: 0x300b7521c43311b00cb16b80, limb2: 0xbccbe679495d33a3fcb98e54, - limb3: 0x13fe5206e449d407a961a9d0 - } + limb3: 0x13fe5206e449d407a961a9d0, + }, }, G2Line { r0a0: u384 { limb0: 0xe075c3e46497811318f1aafc, limb1: 0xc9ee6637a1f378458c67a6a2, limb2: 0x584f8f6bff2beb100c77bbaa, - limb3: 0xcabbaeccf33edbba456b3aa + limb3: 0xcabbaeccf33edbba456b3aa, }, r0a1: u384 { limb0: 0xf15b790c2edf5b3c99fe4876, limb1: 0x875fb1351df4569cb81efb59, limb2: 0xfacb5e54e4995b34f5ea8a9d, - limb3: 0x498c1832574b066e7f66b65 + limb3: 0x498c1832574b066e7f66b65, }, r1a0: u384 { limb0: 0xd7010c92fd3eb8bf086d7a51, limb1: 0x43899406a876ca11b6a17538, limb2: 0x3c5f51da0ddee80dbc5b343b, - limb3: 0xf44ad67280e30f4d6191d23 + limb3: 0xf44ad67280e30f4d6191d23, }, r1a1: u384 { limb0: 0xb622b3289749d00b16b02f9d, limb1: 0xbc460741ba8c03787b256be9, limb2: 0x53b5ac101f741bc6ba3a412f, - limb3: 0x14610dd7fe56661dc12e7017 - } + limb3: 0x14610dd7fe56661dc12e7017, + }, }, G2Line { r0a0: u384 { limb0: 0xe075c3e46497811318f1aafc, limb1: 0xc9ee6637a1f378458c67a6a2, limb2: 0x584f8f6bff2beb100c77bbaa, - limb3: 0xcabbaeccf33edbba456b3aa + limb3: 0xcabbaeccf33edbba456b3aa, }, r0a1: u384 { limb0: 0xf15b790c2edf5b3c99fe4876, limb1: 0x875fb1351df4569cb81efb59, limb2: 0xfacb5e54e4995b34f5ea8a9d, - limb3: 0x498c1832574b066e7f66b65 + limb3: 0x498c1832574b066e7f66b65, }, r1a0: u384 { limb0: 0xd7010c92fd3eb8bf086d7a51, limb1: 0x43899406a876ca11b6a17538, limb2: 0x3c5f51da0ddee80dbc5b343b, - limb3: 0xf44ad67280e30f4d6191d23 + limb3: 0xf44ad67280e30f4d6191d23, }, r1a1: u384 { limb0: 0xb622b3289749d00b16b02f9d, limb1: 0xbc460741ba8c03787b256be9, limb2: 0x53b5ac101f741bc6ba3a412f, - limb3: 0x14610dd7fe56661dc12e7017 - } + limb3: 0x14610dd7fe56661dc12e7017, + }, }, G2Line { r0a0: u384 { limb0: 0x3289f694418a3355784156cd, limb1: 0x9e5388d5b5d0a75275470869, limb2: 0x8a84b134b920014341616e0c, - limb3: 0x17e7c92f7ff289ec1b0eb4a4 + limb3: 0x17e7c92f7ff289ec1b0eb4a4, }, r0a1: u384 { limb0: 0xfb2bdc0a4813315c10592f30, limb1: 0xfe0a10e2cefd8e957736628b, limb2: 0x968cc921ed9abec9269b5786, - limb3: 0xb36f790715d65f359921941 + limb3: 0xb36f790715d65f359921941, }, r1a0: u384 { limb0: 0xf9994278889345a5e3e525b, limb1: 0x8279eab2379884433bc2637e, limb2: 0x73d76c8ecc39d1f8cc458824, - limb3: 0xd3fe945a75801d2acc3134a + limb3: 0xd3fe945a75801d2acc3134a, }, r1a1: u384 { limb0: 0x55d20208b88794ff0fe6ff65, limb1: 0xc346b74aab2344fca9ff5c62, limb2: 0x9dde8f58210d2b715eb4384, - limb3: 0x6ab0c2780fd0aadedb1ffa6 - } + limb3: 0x6ab0c2780fd0aadedb1ffa6, + }, }, G2Line { r0a0: u384 { limb0: 0x3289f694418a3355784156cd, limb1: 0x9e5388d5b5d0a75275470869, limb2: 0x8a84b134b920014341616e0c, - limb3: 0x17e7c92f7ff289ec1b0eb4a4 + limb3: 0x17e7c92f7ff289ec1b0eb4a4, }, r0a1: u384 { limb0: 0xfb2bdc0a4813315c10592f30, limb1: 0xfe0a10e2cefd8e957736628b, limb2: 0x968cc921ed9abec9269b5786, - limb3: 0xb36f790715d65f359921941 + limb3: 0xb36f790715d65f359921941, }, r1a0: u384 { limb0: 0xf9994278889345a5e3e525b, limb1: 0x8279eab2379884433bc2637e, limb2: 0x73d76c8ecc39d1f8cc458824, - limb3: 0xd3fe945a75801d2acc3134a + limb3: 0xd3fe945a75801d2acc3134a, }, r1a1: u384 { limb0: 0x55d20208b88794ff0fe6ff65, limb1: 0xc346b74aab2344fca9ff5c62, limb2: 0x9dde8f58210d2b715eb4384, - limb3: 0x6ab0c2780fd0aadedb1ffa6 - } + limb3: 0x6ab0c2780fd0aadedb1ffa6, + }, }, G2Line { r0a0: u384 { limb0: 0x5a3e5e1697e09425b898db66, limb1: 0xbc1396eefa2c96a1be6ba4c4, limb2: 0x94851b8964323d7c8ed145f7, - limb3: 0x89a8fd1fd59927115c38ef8 + limb3: 0x89a8fd1fd59927115c38ef8, }, r0a1: u384 { limb0: 0xa410a6b40708300c5ff93622, limb1: 0x9f8390f98fd525a678892dda, limb2: 0xa799373de5c454a11e12b305, - limb3: 0x101747fa8b1d04dee8f363b0 + limb3: 0x101747fa8b1d04dee8f363b0, }, r1a0: u384 { limb0: 0xa807f8a5b13ceb81cda82fa8, limb1: 0xb2f165c491d5c47bfe65453, limb2: 0x215cdd59a4776d378aa1dcd3, - limb3: 0x19a8a47644e2d5c48fb32261 + limb3: 0x19a8a47644e2d5c48fb32261, }, r1a1: u384 { limb0: 0xacb3c56efc35cb7292cd16e7, limb1: 0x290fd760f9c8ecd7cecb08dd, limb2: 0x41a779eb8cecbc69db519618, - limb3: 0x185772d8ebcc6861748d643b - } + limb3: 0x185772d8ebcc6861748d643b, + }, }, G2Line { r0a0: u384 { limb0: 0x5a3e5e1697e09425b898db66, limb1: 0xbc1396eefa2c96a1be6ba4c4, limb2: 0x94851b8964323d7c8ed145f7, - limb3: 0x89a8fd1fd59927115c38ef8 + limb3: 0x89a8fd1fd59927115c38ef8, }, r0a1: u384 { limb0: 0xa410a6b40708300c5ff93622, limb1: 0x9f8390f98fd525a678892dda, limb2: 0xa799373de5c454a11e12b305, - limb3: 0x101747fa8b1d04dee8f363b0 + limb3: 0x101747fa8b1d04dee8f363b0, }, r1a0: u384 { limb0: 0xa807f8a5b13ceb81cda82fa8, limb1: 0xb2f165c491d5c47bfe65453, limb2: 0x215cdd59a4776d378aa1dcd3, - limb3: 0x19a8a47644e2d5c48fb32261 + limb3: 0x19a8a47644e2d5c48fb32261, }, r1a1: u384 { limb0: 0xacb3c56efc35cb7292cd16e7, limb1: 0x290fd760f9c8ecd7cecb08dd, limb2: 0x41a779eb8cecbc69db519618, - limb3: 0x185772d8ebcc6861748d643b - } + limb3: 0x185772d8ebcc6861748d643b, + }, }, G2Line { r0a0: u384 { limb0: 0x11845c8f378370c5ea1988eb, limb1: 0x1a26c58a1b5b3e9927e386f7, limb2: 0x1614136e352ccbeb1a708bc6, - limb3: 0x14b59d16f3f82c70a6dc9542 + limb3: 0x14b59d16f3f82c70a6dc9542, }, r0a1: u384 { limb0: 0xa6251ffb4e4ec02c6eb099d4, limb1: 0xa1486c797b3c5efa056554a9, limb2: 0x951b07cb2f028ead174faf1d, - limb3: 0x16995470027165033faaff45 + limb3: 0x16995470027165033faaff45, }, r1a0: u384 { limb0: 0x831c44b21a6d609bdeec639d, limb1: 0xe2f69c85767b04a7d61fe433, limb2: 0x9639ab56e254ed60a9ec5dc3, - limb3: 0x176c34a0e3901325d8694c42 + limb3: 0x176c34a0e3901325d8694c42, }, r1a1: u384 { limb0: 0xd41f8075420515c9666697e6, limb1: 0xf8df73883c6237c933f15eb5, limb2: 0xb1ed39ecead4669251ce42d2, - limb3: 0x1bbe08120ec3b54286df6bc - } + limb3: 0x1bbe08120ec3b54286df6bc, + }, }, G2Line { r0a0: u384 { limb0: 0x11845c8f378370c5ea1988eb, limb1: 0x1a26c58a1b5b3e9927e386f7, limb2: 0x1614136e352ccbeb1a708bc6, - limb3: 0x14b59d16f3f82c70a6dc9542 + limb3: 0x14b59d16f3f82c70a6dc9542, }, r0a1: u384 { limb0: 0xa6251ffb4e4ec02c6eb099d4, limb1: 0xa1486c797b3c5efa056554a9, limb2: 0x951b07cb2f028ead174faf1d, - limb3: 0x16995470027165033faaff45 + limb3: 0x16995470027165033faaff45, }, r1a0: u384 { limb0: 0x831c44b21a6d609bdeec639d, limb1: 0xe2f69c85767b04a7d61fe433, limb2: 0x9639ab56e254ed60a9ec5dc3, - limb3: 0x176c34a0e3901325d8694c42 + limb3: 0x176c34a0e3901325d8694c42, }, r1a1: u384 { limb0: 0xd41f8075420515c9666697e6, limb1: 0xf8df73883c6237c933f15eb5, limb2: 0xb1ed39ecead4669251ce42d2, - limb3: 0x1bbe08120ec3b54286df6bc - } + limb3: 0x1bbe08120ec3b54286df6bc, + }, }, G2Line { r0a0: u384 { limb0: 0x3b2682846d33d1bb2910ba03, limb1: 0x6a05f306d95cf531380ee7da, limb2: 0x21435eb65c2bd413387d1df3, - limb3: 0x1982379e444b697d0a073d6e + limb3: 0x1982379e444b697d0a073d6e, }, r0a1: u384 { limb0: 0x8bd63863d4cfeee42b281a67, limb1: 0x53c8de84ace44e226eb06d6d, limb2: 0xe55bb6fa2841cb1731cb6a13, - limb3: 0x348ea88fa28ae0657275530 + limb3: 0x348ea88fa28ae0657275530, }, r1a0: u384 { limb0: 0xdc0ab5703b9d7522611edee2, limb1: 0xd6e26d354a07ecb4e30de6a8, limb2: 0xbb971530e7c8c7526b599c64, - limb3: 0x12e92020be3b6b2a54440bb3 + limb3: 0x12e92020be3b6b2a54440bb3, }, r1a1: u384 { limb0: 0x419847bd7c1f542e3a38b0ee, limb1: 0x6d81da9fd456c7699ec5a02d, limb2: 0x7bb02418a48065d4a6fbcdd0, - limb3: 0x2158e75b3ad1be8adc4f2fd - } + limb3: 0x2158e75b3ad1be8adc4f2fd, + }, }, G2Line { r0a0: u384 { limb0: 0x3b2682846d33d1bb2910ba03, limb1: 0x6a05f306d95cf531380ee7da, limb2: 0x21435eb65c2bd413387d1df3, - limb3: 0x1982379e444b697d0a073d6e + limb3: 0x1982379e444b697d0a073d6e, }, r0a1: u384 { limb0: 0x8bd63863d4cfeee42b281a67, limb1: 0x53c8de84ace44e226eb06d6d, limb2: 0xe55bb6fa2841cb1731cb6a13, - limb3: 0x348ea88fa28ae0657275530 + limb3: 0x348ea88fa28ae0657275530, }, r1a0: u384 { limb0: 0xdc0ab5703b9d7522611edee2, limb1: 0xd6e26d354a07ecb4e30de6a8, limb2: 0xbb971530e7c8c7526b599c64, - limb3: 0x12e92020be3b6b2a54440bb3 + limb3: 0x12e92020be3b6b2a54440bb3, }, r1a1: u384 { limb0: 0x419847bd7c1f542e3a38b0ee, limb1: 0x6d81da9fd456c7699ec5a02d, limb2: 0x7bb02418a48065d4a6fbcdd0, - limb3: 0x2158e75b3ad1be8adc4f2fd - } + limb3: 0x2158e75b3ad1be8adc4f2fd, + }, }, G2Line { r0a0: u384 { limb0: 0x9ed5874a93e2a5c1167bd832, limb1: 0xb42afdb134b0481e8259c82a, limb2: 0xbb060f82ea760a3b744f9fd6, - limb3: 0xdaf9adced467ce2101b44a9 + limb3: 0xdaf9adced467ce2101b44a9, }, r0a1: u384 { limb0: 0x41f8b3d63ecc95fe95813c68, limb1: 0xc4b8e88e7bab1ed199210b24, limb2: 0x74c13644333ee583f9faa830, - limb3: 0x893b33fb2141519964b7dd0 + limb3: 0x893b33fb2141519964b7dd0, }, r1a0: u384 { limb0: 0x748cf4d3df15043e0ae8f99e, limb1: 0x4766d8800a6ffc614d6443ab, limb2: 0x5aee246adbf4dda2ea418cbf, - limb3: 0x9bc3664485ae5aecc3971ae + limb3: 0x9bc3664485ae5aecc3971ae, }, r1a1: u384 { limb0: 0x5983d25e0767a793c41206ca, limb1: 0xde625e19387d9ffd33198b83, limb2: 0xa98eec8506c321eaaeb033aa, - limb3: 0x13fb86041982c5d065bd87e9 - } + limb3: 0x13fb86041982c5d065bd87e9, + }, }, G2Line { r0a0: u384 { limb0: 0x9ed5874a93e2a5c1167bd832, limb1: 0xb42afdb134b0481e8259c82a, limb2: 0xbb060f82ea760a3b744f9fd6, - limb3: 0xdaf9adced467ce2101b44a9 + limb3: 0xdaf9adced467ce2101b44a9, }, r0a1: u384 { limb0: 0x41f8b3d63ecc95fe95813c68, limb1: 0xc4b8e88e7bab1ed199210b24, limb2: 0x74c13644333ee583f9faa830, - limb3: 0x893b33fb2141519964b7dd0 + limb3: 0x893b33fb2141519964b7dd0, }, r1a0: u384 { limb0: 0x748cf4d3df15043e0ae8f99e, limb1: 0x4766d8800a6ffc614d6443ab, limb2: 0x5aee246adbf4dda2ea418cbf, - limb3: 0x9bc3664485ae5aecc3971ae + limb3: 0x9bc3664485ae5aecc3971ae, }, r1a1: u384 { limb0: 0x5983d25e0767a793c41206ca, limb1: 0xde625e19387d9ffd33198b83, limb2: 0xa98eec8506c321eaaeb033aa, - limb3: 0x13fb86041982c5d065bd87e9 - } + limb3: 0x13fb86041982c5d065bd87e9, + }, }, G2Line { r0a0: u384 { limb0: 0xf43059462494151b4ab2087e, limb1: 0x5cd28f7ec6fd9d6b4b086f39, limb2: 0x30dd2311b5bafb9250d116c1, - limb3: 0xfc6edf74dff631a32fca3fa + limb3: 0xfc6edf74dff631a32fca3fa, }, r0a1: u384 { limb0: 0x22cbcd3ea9f0d0132809d8af, limb1: 0x4cb242156a7cdc2991ee9c0e, limb2: 0x1fe80337fb837a5476523f5c, - limb3: 0x7f64410e73c5db773ca6b66 + limb3: 0x7f64410e73c5db773ca6b66, }, r1a0: u384 { limb0: 0x32c05aa3eaefba532df15a8, limb1: 0x7bee89a662e4138e44da3c9a, limb2: 0xc92ee59d9405d5a905cf2fdb, - limb3: 0x163a2f67158e242bfbb18c52 + limb3: 0x163a2f67158e242bfbb18c52, }, r1a1: u384 { limb0: 0x55506de03a538ff69b9622a1, limb1: 0x1883fbdba6795d64f7791ed5, limb2: 0x8d52a259f76a0498bb3b877f, - limb3: 0x2cff61e78b0054925baa456 - } + limb3: 0x2cff61e78b0054925baa456, + }, }, G2Line { r0a0: u384 { limb0: 0xf43059462494151b4ab2087e, limb1: 0x5cd28f7ec6fd9d6b4b086f39, limb2: 0x30dd2311b5bafb9250d116c1, - limb3: 0xfc6edf74dff631a32fca3fa + limb3: 0xfc6edf74dff631a32fca3fa, }, r0a1: u384 { limb0: 0x22cbcd3ea9f0d0132809d8af, limb1: 0x4cb242156a7cdc2991ee9c0e, limb2: 0x1fe80337fb837a5476523f5c, - limb3: 0x7f64410e73c5db773ca6b66 + limb3: 0x7f64410e73c5db773ca6b66, }, r1a0: u384 { limb0: 0x32c05aa3eaefba532df15a8, limb1: 0x7bee89a662e4138e44da3c9a, limb2: 0xc92ee59d9405d5a905cf2fdb, - limb3: 0x163a2f67158e242bfbb18c52 + limb3: 0x163a2f67158e242bfbb18c52, }, r1a1: u384 { limb0: 0x55506de03a538ff69b9622a1, limb1: 0x1883fbdba6795d64f7791ed5, limb2: 0x8d52a259f76a0498bb3b877f, - limb3: 0x2cff61e78b0054925baa456 - } + limb3: 0x2cff61e78b0054925baa456, + }, }, G2Line { r0a0: u384 { limb0: 0x5468cccd649f5f50828f6f59, limb1: 0x2ff2349d16035594b6932990, limb2: 0x3a5195f740987d342be92f18, - limb3: 0xa20f374eb29e01db8f41902 + limb3: 0xa20f374eb29e01db8f41902, }, r0a1: u384 { limb0: 0xd98a436aeb477edb61c5262d, limb1: 0xc89b894c7895fd21e86b51f7, limb2: 0x926eb138e4aa840edc0e677e, - limb3: 0x461388814e94e8fa2a15e40 + limb3: 0x461388814e94e8fa2a15e40, }, r1a0: u384 { limb0: 0x684e1f1e2e72619d41ad8eb7, limb1: 0xd6782445423e580f3476f9f9, limb2: 0x235a44500a9d160446a5bddc, - limb3: 0xd00713abd0c5f631c36c5e6 + limb3: 0xd00713abd0c5f631c36c5e6, }, r1a1: u384 { limb0: 0xf07a607d3ecf101d58fc2489, limb1: 0xcd22610bafa804a71cdce810, limb2: 0x6a02abac5a58c663011aa1f, - limb3: 0x29de1350b9fa34cc4874766 - } + limb3: 0x29de1350b9fa34cc4874766, + }, }, G2Line { r0a0: u384 { limb0: 0x5468cccd649f5f50828f6f59, limb1: 0x2ff2349d16035594b6932990, limb2: 0x3a5195f740987d342be92f18, - limb3: 0xa20f374eb29e01db8f41902 + limb3: 0xa20f374eb29e01db8f41902, }, r0a1: u384 { limb0: 0xd98a436aeb477edb61c5262d, limb1: 0xc89b894c7895fd21e86b51f7, limb2: 0x926eb138e4aa840edc0e677e, - limb3: 0x461388814e94e8fa2a15e40 + limb3: 0x461388814e94e8fa2a15e40, }, r1a0: u384 { limb0: 0x684e1f1e2e72619d41ad8eb7, limb1: 0xd6782445423e580f3476f9f9, limb2: 0x235a44500a9d160446a5bddc, - limb3: 0xd00713abd0c5f631c36c5e6 + limb3: 0xd00713abd0c5f631c36c5e6, }, r1a1: u384 { limb0: 0xf07a607d3ecf101d58fc2489, limb1: 0xcd22610bafa804a71cdce810, limb2: 0x6a02abac5a58c663011aa1f, - limb3: 0x29de1350b9fa34cc4874766 - } + limb3: 0x29de1350b9fa34cc4874766, + }, }, G2Line { r0a0: u384 { limb0: 0x4e955be131680457999a786e, limb1: 0xb8a3466d1f50dc841f50dd53, limb2: 0x75efb94692f6d5de57fc8609, - limb3: 0x1550761b0b00c8008522c3d0 + limb3: 0x1550761b0b00c8008522c3d0, }, r0a1: u384 { limb0: 0xdf2281afe41938a9891e0f2, limb1: 0x7338e84c16f4c1a3141c1382, limb2: 0x7269a9e69889291d5395227a, - limb3: 0x16cbd178015a8098509e1caa + limb3: 0x16cbd178015a8098509e1caa, }, r1a0: u384 { limb0: 0x1cef06bbd9e71d4438a5052f, limb1: 0xf045d3479ad9aa40b16601de, limb2: 0xcedb3a06e3bf3805919beac, - limb3: 0x664dfb89dd2e293c30d8a80 + limb3: 0x664dfb89dd2e293c30d8a80, }, r1a1: u384 { limb0: 0x80e3d05acac0a472fad04f82, limb1: 0x583269e3d734e9b15cebbc7d, limb2: 0xea7477948d00c61ec92b10b7, - limb3: 0x163a27a5089d314ab8d8cf34 - } + limb3: 0x163a27a5089d314ab8d8cf34, + }, }, G2Line { r0a0: u384 { limb0: 0x4e955be131680457999a786e, limb1: 0xb8a3466d1f50dc841f50dd53, limb2: 0x75efb94692f6d5de57fc8609, - limb3: 0x1550761b0b00c8008522c3d0 + limb3: 0x1550761b0b00c8008522c3d0, }, r0a1: u384 { limb0: 0xdf2281afe41938a9891e0f2, limb1: 0x7338e84c16f4c1a3141c1382, limb2: 0x7269a9e69889291d5395227a, - limb3: 0x16cbd178015a8098509e1caa + limb3: 0x16cbd178015a8098509e1caa, }, r1a0: u384 { limb0: 0x1cef06bbd9e71d4438a5052f, limb1: 0xf045d3479ad9aa40b16601de, limb2: 0xcedb3a06e3bf3805919beac, - limb3: 0x664dfb89dd2e293c30d8a80 + limb3: 0x664dfb89dd2e293c30d8a80, }, r1a1: u384 { limb0: 0x80e3d05acac0a472fad04f82, limb1: 0x583269e3d734e9b15cebbc7d, limb2: 0xea7477948d00c61ec92b10b7, - limb3: 0x163a27a5089d314ab8d8cf34 - } + limb3: 0x163a27a5089d314ab8d8cf34, + }, }, G2Line { r0a0: u384 { limb0: 0x7a8b2f99201cf6096d4d4b86, limb1: 0xa896e5b0f4e93d49e8a2691b, limb2: 0xd5d910d71a5706a6f897976c, - limb3: 0x10913202008b672fafa4272b + limb3: 0x10913202008b672fafa4272b, }, r0a1: u384 { limb0: 0xbcabe4aba3fd969494c6f463, limb1: 0x416f6d51b78dc628bacd84c1, limb2: 0xb92836a7855f2590720a01c6, - limb3: 0x19b605e839e9850b48d8ec2c + limb3: 0x19b605e839e9850b48d8ec2c, }, r1a0: u384 { limb0: 0x49620f3d26493fcd7396493b, limb1: 0x17313fc388a7ac05a8b111bb, limb2: 0x292e458d09c07af68fcfc74e, - limb3: 0x3a6acacd6cbc411d7eb7947 + limb3: 0x3a6acacd6cbc411d7eb7947, }, r1a1: u384 { limb0: 0xd0fdcd4eeaeb1a6ecccc011b, limb1: 0x40e42fe4d7574bcb53834b69, limb2: 0x799946d2b7b28b127a821e57, - limb3: 0x351c5a26dcce6ce7fca6249 - } + limb3: 0x351c5a26dcce6ce7fca6249, + }, }, G2Line { r0a0: u384 { limb0: 0x7a8b2f99201cf6096d4d4b86, limb1: 0xa896e5b0f4e93d49e8a2691b, limb2: 0xd5d910d71a5706a6f897976c, - limb3: 0x10913202008b672fafa4272b + limb3: 0x10913202008b672fafa4272b, }, r0a1: u384 { limb0: 0xbcabe4aba3fd969494c6f463, limb1: 0x416f6d51b78dc628bacd84c1, limb2: 0xb92836a7855f2590720a01c6, - limb3: 0x19b605e839e9850b48d8ec2c + limb3: 0x19b605e839e9850b48d8ec2c, }, r1a0: u384 { limb0: 0x49620f3d26493fcd7396493b, limb1: 0x17313fc388a7ac05a8b111bb, limb2: 0x292e458d09c07af68fcfc74e, - limb3: 0x3a6acacd6cbc411d7eb7947 + limb3: 0x3a6acacd6cbc411d7eb7947, }, r1a1: u384 { limb0: 0xd0fdcd4eeaeb1a6ecccc011b, limb1: 0x40e42fe4d7574bcb53834b69, limb2: 0x799946d2b7b28b127a821e57, - limb3: 0x351c5a26dcce6ce7fca6249 - } + limb3: 0x351c5a26dcce6ce7fca6249, + }, }, G2Line { r0a0: u384 { limb0: 0x56de0d67449950f9a27e88fa, limb1: 0xce138b184f06c8f264650446, limb2: 0x31ca7924a667107cb9380709, - limb3: 0x17960cbcef34dc014292ac06 + limb3: 0x17960cbcef34dc014292ac06, }, r0a1: u384 { limb0: 0x31295353150179142d6ddbc1, limb1: 0x2fafe4eb2df7753c10441bf, limb2: 0x403786f898262dcd349b2eb5, - limb3: 0x131cc0205e7c06e7d7dfe573 + limb3: 0x131cc0205e7c06e7d7dfe573, }, r1a0: u384 { limb0: 0xd79406d46f1c9d7137fcc172, limb1: 0x84793aeb8b5ca9891e9a6563, limb2: 0x4b1ab7811bfafaf6dfb745fc, - limb3: 0x17c50d8fcd5f550d4a2a64ae + limb3: 0x17c50d8fcd5f550d4a2a64ae, }, r1a1: u384 { limb0: 0x5c3d7e34c90dc48a32c70868, limb1: 0x4e1b7bc28d0de9519e604184, limb2: 0xf258c4f3f3ba0baaccfac11b, - limb3: 0x11ec2c0924dee1e8967b559a - } + limb3: 0x11ec2c0924dee1e8967b559a, + }, }, G2Line { r0a0: u384 { limb0: 0x56de0d67449950f9a27e88fa, limb1: 0xce138b184f06c8f264650446, limb2: 0x31ca7924a667107cb9380709, - limb3: 0x17960cbcef34dc014292ac06 + limb3: 0x17960cbcef34dc014292ac06, }, r0a1: u384 { limb0: 0x31295353150179142d6ddbc1, limb1: 0x2fafe4eb2df7753c10441bf, limb2: 0x403786f898262dcd349b2eb5, - limb3: 0x131cc0205e7c06e7d7dfe573 + limb3: 0x131cc0205e7c06e7d7dfe573, }, r1a0: u384 { limb0: 0xd79406d46f1c9d7137fcc172, limb1: 0x84793aeb8b5ca9891e9a6563, limb2: 0x4b1ab7811bfafaf6dfb745fc, - limb3: 0x17c50d8fcd5f550d4a2a64ae + limb3: 0x17c50d8fcd5f550d4a2a64ae, }, r1a1: u384 { limb0: 0x5c3d7e34c90dc48a32c70868, limb1: 0x4e1b7bc28d0de9519e604184, limb2: 0xf258c4f3f3ba0baaccfac11b, - limb3: 0x11ec2c0924dee1e8967b559a - } + limb3: 0x11ec2c0924dee1e8967b559a, + }, }, G2Line { r0a0: u384 { limb0: 0xe60081576a59a2679221795e, limb1: 0x99ee512fdfcd346784f34a48, limb2: 0x735b00cd677e6e1ba38c009f, - limb3: 0x178d4accb6fb9b6cbf9df577 + limb3: 0x178d4accb6fb9b6cbf9df577, }, r0a1: u384 { limb0: 0xcd7b2447c71a9e9b8b9db98, limb1: 0x97d5028ae6c2f7027ced11b2, limb2: 0xf8ea35a3d06f6aca9cffd3b, - limb3: 0xbec0ed2f513414494bd0f6d + limb3: 0xbec0ed2f513414494bd0f6d, }, r1a0: u384 { limb0: 0xca6aca5778f88316e121b6f2, limb1: 0x23c098f55746b7d1c5e168f9, limb2: 0x4be5fc4f8b81d965ec4cd861, - limb3: 0x6c156b4f517a9156e82cb14 + limb3: 0x6c156b4f517a9156e82cb14, }, r1a1: u384 { limb0: 0x59e184cdff8a20200dee525d, limb1: 0x12327d5b5691bb513688bda3, limb2: 0xa653bf47392176e8a509eb6b, - limb3: 0x6302b0d5f33fc6d3799728d - } + limb3: 0x6302b0d5f33fc6d3799728d, + }, }, G2Line { r0a0: u384 { limb0: 0xe60081576a59a2679221795e, limb1: 0x99ee512fdfcd346784f34a48, limb2: 0x735b00cd677e6e1ba38c009f, - limb3: 0x178d4accb6fb9b6cbf9df577 + limb3: 0x178d4accb6fb9b6cbf9df577, }, r0a1: u384 { limb0: 0xcd7b2447c71a9e9b8b9db98, limb1: 0x97d5028ae6c2f7027ced11b2, limb2: 0xf8ea35a3d06f6aca9cffd3b, - limb3: 0xbec0ed2f513414494bd0f6d + limb3: 0xbec0ed2f513414494bd0f6d, }, r1a0: u384 { limb0: 0xca6aca5778f88316e121b6f2, limb1: 0x23c098f55746b7d1c5e168f9, limb2: 0x4be5fc4f8b81d965ec4cd861, - limb3: 0x6c156b4f517a9156e82cb14 + limb3: 0x6c156b4f517a9156e82cb14, }, r1a1: u384 { limb0: 0x59e184cdff8a20200dee525d, limb1: 0x12327d5b5691bb513688bda3, limb2: 0xa653bf47392176e8a509eb6b, - limb3: 0x6302b0d5f33fc6d3799728d - } + limb3: 0x6302b0d5f33fc6d3799728d, + }, }, G2Line { r0a0: u384 { limb0: 0x8289ee9e6820add91b6e9f3c, limb1: 0x161cccd4985697fa09846edf, limb2: 0x7a16c4169c620eab78a54ae0, - limb3: 0xb43112e6bf81d6bf3265d2a + limb3: 0xb43112e6bf81d6bf3265d2a, }, r0a1: u384 { limb0: 0xa19c344f64ea5350f0a08f3c, limb1: 0x4b3b0b1f34d7db6b30ab1be3, limb2: 0xdd3563e987285c49a9c0ea5f, - limb3: 0xa5797654377bf54d8992f94 + limb3: 0xa5797654377bf54d8992f94, }, r1a0: u384 { limb0: 0xa65f6f3c877ce8e73a114724, limb1: 0x5b64b753040c29a75a01e69b, limb2: 0x628c82c1c0e09f1aaab0a61, - limb3: 0x1017f0dd39c644eb0e392947 + limb3: 0x1017f0dd39c644eb0e392947, }, r1a1: u384 { limb0: 0xf8a5bcf4817c937d81f315d1, limb1: 0x21f7d8e74be6d6410e62f9e1, limb2: 0xbeafe32cf1ec912b9927be97, - limb3: 0x1074d4a9995442048f5dc552 - } + limb3: 0x1074d4a9995442048f5dc552, + }, }, G2Line { r0a0: u384 { limb0: 0x8289ee9e6820add91b6e9f3c, limb1: 0x161cccd4985697fa09846edf, limb2: 0x7a16c4169c620eab78a54ae0, - limb3: 0xb43112e6bf81d6bf3265d2a + limb3: 0xb43112e6bf81d6bf3265d2a, }, r0a1: u384 { limb0: 0xa19c344f64ea5350f0a08f3c, limb1: 0x4b3b0b1f34d7db6b30ab1be3, limb2: 0xdd3563e987285c49a9c0ea5f, - limb3: 0xa5797654377bf54d8992f94 + limb3: 0xa5797654377bf54d8992f94, }, r1a0: u384 { limb0: 0xa65f6f3c877ce8e73a114724, limb1: 0x5b64b753040c29a75a01e69b, limb2: 0x628c82c1c0e09f1aaab0a61, - limb3: 0x1017f0dd39c644eb0e392947 + limb3: 0x1017f0dd39c644eb0e392947, }, r1a1: u384 { limb0: 0xf8a5bcf4817c937d81f315d1, limb1: 0x21f7d8e74be6d6410e62f9e1, limb2: 0xbeafe32cf1ec912b9927be97, - limb3: 0x1074d4a9995442048f5dc552 - } + limb3: 0x1074d4a9995442048f5dc552, + }, }, G2Line { r0a0: u384 { limb0: 0xf5f0bc431d8e3c80c9af43ec, limb1: 0xe1bfd26afc9cc39a0566ce43, limb2: 0x56e0dd02d42fee35ff65330b, - limb3: 0xcb5a49bf5f851b8dfe3526c + limb3: 0xcb5a49bf5f851b8dfe3526c, }, r0a1: u384 { limb0: 0x1b9c89ae090424c785c6201e, limb1: 0x9aa7a9da8db576af296e542a, limb2: 0xf2e8447430a25ab638a55680, - limb3: 0xa10904e10bf2511e4345039 + limb3: 0xa10904e10bf2511e4345039, }, r1a0: u384 { limb0: 0x71a9bbb204d330d58a16fddc, limb1: 0xc0b0adcf1611ff894f97933e, limb2: 0x835a3a6abbb86ab551ceb573, - limb3: 0x634ccea2a60cdbd34c941c1 + limb3: 0x634ccea2a60cdbd34c941c1, }, r1a1: u384 { limb0: 0xb5ff392b31c0d3eaba4cd272, limb1: 0x160f3e778181730bdfd887c7, limb2: 0xea813bbe8c520a16b1e7a2c3, - limb3: 0x14d73adeb7fdf6a4a22c9ffd - } + limb3: 0x14d73adeb7fdf6a4a22c9ffd, + }, }, G2Line { r0a0: u384 { limb0: 0xf5f0bc431d8e3c80c9af43ec, limb1: 0xe1bfd26afc9cc39a0566ce43, limb2: 0x56e0dd02d42fee35ff65330b, - limb3: 0xcb5a49bf5f851b8dfe3526c + limb3: 0xcb5a49bf5f851b8dfe3526c, }, r0a1: u384 { limb0: 0x1b9c89ae090424c785c6201e, limb1: 0x9aa7a9da8db576af296e542a, limb2: 0xf2e8447430a25ab638a55680, - limb3: 0xa10904e10bf2511e4345039 + limb3: 0xa10904e10bf2511e4345039, }, r1a0: u384 { limb0: 0x71a9bbb204d330d58a16fddc, limb1: 0xc0b0adcf1611ff894f97933e, limb2: 0x835a3a6abbb86ab551ceb573, - limb3: 0x634ccea2a60cdbd34c941c1 + limb3: 0x634ccea2a60cdbd34c941c1, }, r1a1: u384 { limb0: 0xb5ff392b31c0d3eaba4cd272, limb1: 0x160f3e778181730bdfd887c7, limb2: 0xea813bbe8c520a16b1e7a2c3, - limb3: 0x14d73adeb7fdf6a4a22c9ffd - } + limb3: 0x14d73adeb7fdf6a4a22c9ffd, + }, }, G2Line { r0a0: u384 { limb0: 0xe99af5be34cdf3b6cd722b90, limb1: 0x43bcb5a3050d0fc3f1656016, limb2: 0xd9565b1e5e510b6264471bfa, - limb3: 0x12ee7303ded06b9853cbddbe + limb3: 0x12ee7303ded06b9853cbddbe, }, r0a1: u384 { limb0: 0x640c586fa840c267f3b5d99, limb1: 0x9584c14b56c506ef287a149c, limb2: 0x317fe0a92bd878e9d86b616d, - limb3: 0x12c415a497b04dbe9c645460 + limb3: 0x12c415a497b04dbe9c645460, }, r1a0: u384 { limb0: 0x3b85dd33ea6b3619236bb988, limb1: 0x7ce7ce7d9b2c5af2cc87a08a, limb2: 0x677951177d5a61f6d3531b7b, - limb3: 0x188a8c03315728f1526806d2 + limb3: 0x188a8c03315728f1526806d2, }, r1a1: u384 { limb0: 0xa585bcb857e792c9af8ddec8, limb1: 0x78f2e972ccd3af64b49ff79b, limb2: 0x10be9acf81fad9cf48dc3e12, - limb3: 0x11a11578232a8dd660eaf5b6 - } + limb3: 0x11a11578232a8dd660eaf5b6, + }, }, G2Line { r0a0: u384 { limb0: 0xe99af5be34cdf3b6cd722b90, limb1: 0x43bcb5a3050d0fc3f1656016, limb2: 0xd9565b1e5e510b6264471bfa, - limb3: 0x12ee7303ded06b9853cbddbe + limb3: 0x12ee7303ded06b9853cbddbe, }, r0a1: u384 { limb0: 0x640c586fa840c267f3b5d99, limb1: 0x9584c14b56c506ef287a149c, limb2: 0x317fe0a92bd878e9d86b616d, - limb3: 0x12c415a497b04dbe9c645460 + limb3: 0x12c415a497b04dbe9c645460, }, r1a0: u384 { limb0: 0x3b85dd33ea6b3619236bb988, limb1: 0x7ce7ce7d9b2c5af2cc87a08a, limb2: 0x677951177d5a61f6d3531b7b, - limb3: 0x188a8c03315728f1526806d2 + limb3: 0x188a8c03315728f1526806d2, }, r1a1: u384 { limb0: 0xa585bcb857e792c9af8ddec8, limb1: 0x78f2e972ccd3af64b49ff79b, limb2: 0x10be9acf81fad9cf48dc3e12, - limb3: 0x11a11578232a8dd660eaf5b6 - } + limb3: 0x11a11578232a8dd660eaf5b6, + }, }, G2Line { r0a0: u384 { limb0: 0xc7c0d285262c1b32ca6bc7c3, limb1: 0x66824fd1b6de7089b82d478a, limb2: 0x5e4beb5c4833b2e8f008208a, - limb3: 0x11c059b33ca3f500c11ee495 + limb3: 0x11c059b33ca3f500c11ee495, }, r0a1: u384 { limb0: 0x66e0f227a61baa52b945ec8a, limb1: 0x6906fbc82d5fd92075ef1513, limb2: 0x55d0fec8a6600cb65d06bdb3, - limb3: 0x179aabda1a2af5b5e7777d9a + limb3: 0x179aabda1a2af5b5e7777d9a, }, r1a0: u384 { limb0: 0xcb7dee20a686dcfcda3ddff8, limb1: 0xfb1119a7914a33be6cb2a22d, limb2: 0xda5c49c13a9c6084ad1ca51d, - limb3: 0x105195896eb7f46d1ac77d49 + limb3: 0x105195896eb7f46d1ac77d49, }, r1a1: u384 { limb0: 0xe1ae9ed15c3335b8f8b45b63, limb1: 0xd7d2b2b828960267ff16d106, limb2: 0x5fb6174880cb32afa5171325, - limb3: 0x73634ad3a80542b79db8125 - } + limb3: 0x73634ad3a80542b79db8125, + }, }, G2Line { r0a0: u384 { limb0: 0xc7c0d285262c1b32ca6bc7c3, limb1: 0x66824fd1b6de7089b82d478a, limb2: 0x5e4beb5c4833b2e8f008208a, - limb3: 0x11c059b33ca3f500c11ee495 + limb3: 0x11c059b33ca3f500c11ee495, }, r0a1: u384 { limb0: 0x66e0f227a61baa52b945ec8a, limb1: 0x6906fbc82d5fd92075ef1513, limb2: 0x55d0fec8a6600cb65d06bdb3, - limb3: 0x179aabda1a2af5b5e7777d9a + limb3: 0x179aabda1a2af5b5e7777d9a, }, r1a0: u384 { limb0: 0xcb7dee20a686dcfcda3ddff8, limb1: 0xfb1119a7914a33be6cb2a22d, limb2: 0xda5c49c13a9c6084ad1ca51d, - limb3: 0x105195896eb7f46d1ac77d49 + limb3: 0x105195896eb7f46d1ac77d49, }, r1a1: u384 { limb0: 0xe1ae9ed15c3335b8f8b45b63, limb1: 0xd7d2b2b828960267ff16d106, limb2: 0x5fb6174880cb32afa5171325, - limb3: 0x73634ad3a80542b79db8125 - } + limb3: 0x73634ad3a80542b79db8125, + }, }, G2Line { r0a0: u384 { limb0: 0x7f6dc6043db1a0981ac8da53, limb1: 0x3faeabcc298b965b8d17dcdc, limb2: 0x41f566c0fb60863429f76f85, - limb3: 0xcb0b6d856433854a3196109 + limb3: 0xcb0b6d856433854a3196109, }, r0a1: u384 { limb0: 0xffba8b95da973789308c3dc5, limb1: 0xbd1b17fcc64e96fca67718a8, limb2: 0xba92704a60c4841667b06ceb, - limb3: 0xa0b2c0bbf592c14ec7e5fb + limb3: 0xa0b2c0bbf592c14ec7e5fb, }, r1a0: u384 { limb0: 0x92beda1eba9dc43fc36a6079, limb1: 0x91bbd7dad0ab28fca77a03a0, limb2: 0x44f752b68348b2e3a24d3786, - limb3: 0x43b6a504a9015e8b46e81f4 + limb3: 0x43b6a504a9015e8b46e81f4, }, r1a1: u384 { limb0: 0xc907c48da1cd91064530e901, limb1: 0xe87af685a6b1fb6ad930fc15, limb2: 0x4a5990c65cd9027b2c676e6e, - limb3: 0x11cde272cfa72574425da27 - } + limb3: 0x11cde272cfa72574425da27, + }, }, G2Line { r0a0: u384 { limb0: 0x7f6dc6043db1a0981ac8da53, limb1: 0x3faeabcc298b965b8d17dcdc, limb2: 0x41f566c0fb60863429f76f85, - limb3: 0xcb0b6d856433854a3196109 + limb3: 0xcb0b6d856433854a3196109, }, r0a1: u384 { limb0: 0xffba8b95da973789308c3dc5, limb1: 0xbd1b17fcc64e96fca67718a8, limb2: 0xba92704a60c4841667b06ceb, - limb3: 0xa0b2c0bbf592c14ec7e5fb + limb3: 0xa0b2c0bbf592c14ec7e5fb, }, r1a0: u384 { limb0: 0x92beda1eba9dc43fc36a6079, limb1: 0x91bbd7dad0ab28fca77a03a0, limb2: 0x44f752b68348b2e3a24d3786, - limb3: 0x43b6a504a9015e8b46e81f4 + limb3: 0x43b6a504a9015e8b46e81f4, }, r1a1: u384 { limb0: 0xc907c48da1cd91064530e901, limb1: 0xe87af685a6b1fb6ad930fc15, limb2: 0x4a5990c65cd9027b2c676e6e, - limb3: 0x11cde272cfa72574425da27 - } + limb3: 0x11cde272cfa72574425da27, + }, }, G2Line { r0a0: u384 { limb0: 0xdaf1249cec25e1591d0f9329, limb1: 0x5531582b2fcbc58c12130411, limb2: 0xd5683ab0df6813a370dced9d, - limb3: 0x16c61ae7af165d87be0cc2d5 + limb3: 0x16c61ae7af165d87be0cc2d5, }, r0a1: u384 { limb0: 0xb1c04d8f03fb3b2344ac4be5, limb1: 0xb587962043ba3348ccce1f0f, limb2: 0x5dd0fb61f2bcee0210d0af13, - limb3: 0x17804c1f2c60a8a7264b6047 + limb3: 0x17804c1f2c60a8a7264b6047, }, r1a0: u384 { limb0: 0xbb63ccb83f7ed4931470b669, limb1: 0x7fd71cdcbf8b588e2169e56, limb2: 0x497e41bd5035df06befd3d7e, - limb3: 0x1106425b52985ab1472f75a9 + limb3: 0x1106425b52985ab1472f75a9, }, r1a1: u384 { limb0: 0xf6dcb781ff977354cbaeca11, limb1: 0x69d27ee516fa1a11f4b63914, limb2: 0x9c9d283771507f24855df134, - limb3: 0xf2cfee6977693a3f2b5332c - } + limb3: 0xf2cfee6977693a3f2b5332c, + }, }, G2Line { r0a0: u384 { limb0: 0xdaf1249cec25e1591d0f9329, limb1: 0x5531582b2fcbc58c12130411, limb2: 0xd5683ab0df6813a370dced9d, - limb3: 0x16c61ae7af165d87be0cc2d5 + limb3: 0x16c61ae7af165d87be0cc2d5, }, r0a1: u384 { limb0: 0xb1c04d8f03fb3b2344ac4be5, limb1: 0xb587962043ba3348ccce1f0f, limb2: 0x5dd0fb61f2bcee0210d0af13, - limb3: 0x17804c1f2c60a8a7264b6047 + limb3: 0x17804c1f2c60a8a7264b6047, }, r1a0: u384 { limb0: 0xbb63ccb83f7ed4931470b669, limb1: 0x7fd71cdcbf8b588e2169e56, limb2: 0x497e41bd5035df06befd3d7e, - limb3: 0x1106425b52985ab1472f75a9 + limb3: 0x1106425b52985ab1472f75a9, }, r1a1: u384 { limb0: 0xf6dcb781ff977354cbaeca11, limb1: 0x69d27ee516fa1a11f4b63914, limb2: 0x9c9d283771507f24855df134, - limb3: 0xf2cfee6977693a3f2b5332c - } + limb3: 0xf2cfee6977693a3f2b5332c, + }, }, G2Line { r0a0: u384 { limb0: 0x565aac3d5efc089a31139283, limb1: 0x4272752a854538f0b555ac04, limb2: 0x86a5055ded31515c6ec89ebc, - limb3: 0x110c5f73e6b0b5c68282aa1a + limb3: 0x110c5f73e6b0b5c68282aa1a, }, r0a1: u384 { limb0: 0x6eb8fad61d6a608c85cf557f, limb1: 0x2f27ec0ec22fc4a9d189e192, limb2: 0xcce849442e970449a41aee87, - limb3: 0x3388dc06a8286446a95bb74 + limb3: 0x3388dc06a8286446a95bb74, }, r1a0: u384 { limb0: 0x29822e7214d3ae3a1eaf0881, limb1: 0xb04e459e8d569063d2f1ff84, limb2: 0x61aa79235620ec5c6168cd13, - limb3: 0xdb46da5506f25a0ddd9d25e + limb3: 0xdb46da5506f25a0ddd9d25e, }, r1a1: u384 { limb0: 0x4004047d6627ef4e8a047aeb, limb1: 0x73a8ed1ba044e04a43a99564, limb2: 0x664eedf108865fac5ebba6e1, - limb3: 0xe6e3025f09bb9df597b5128 - } + limb3: 0xe6e3025f09bb9df597b5128, + }, }, G2Line { r0a0: u384 { limb0: 0x6acae548b9042589a17cc95f, limb1: 0x217f1e1c11c3011715774d4d, limb2: 0x11a9fb5766b39d430b1c15d0, - limb3: 0xe612d859df24842ce33c9d6 + limb3: 0xe612d859df24842ce33c9d6, }, r0a1: u384 { limb0: 0x599285819346fb9c3c28793d, limb1: 0x4d0d0826c6e08cf5059cdc19, limb2: 0xf39b4a96ce83040bf10716ac, - limb3: 0xd5c0c7d757310fec39173c7 + limb3: 0xd5c0c7d757310fec39173c7, }, r1a0: u384 { limb0: 0x473dcb1b1a73099f9b3d95d2, limb1: 0x7a7ef1c6db2665dfba32be7b, limb2: 0xccb92790901c2f7ceb7fd861, - limb3: 0x1015a3839453343c9b0cbc45 + limb3: 0x1015a3839453343c9b0cbc45, }, r1a1: u384 { limb0: 0x12d333d5723a566d13e3b9ab, limb1: 0xf96f0e52139baea4bbd3f509, limb2: 0xf775f6c4aa01956effc7bac1, - limb3: 0x14f9ac263962844d5d7bfd58 - } + limb3: 0x14f9ac263962844d5d7bfd58, + }, }, G2Line { r0a0: u384 { limb0: 0x565aac3d5efc089a31139283, limb1: 0x4272752a854538f0b555ac04, limb2: 0x86a5055ded31515c6ec89ebc, - limb3: 0x110c5f73e6b0b5c68282aa1a + limb3: 0x110c5f73e6b0b5c68282aa1a, }, r0a1: u384 { limb0: 0x6eb8fad61d6a608c85cf557f, limb1: 0x2f27ec0ec22fc4a9d189e192, limb2: 0xcce849442e970449a41aee87, - limb3: 0x3388dc06a8286446a95bb74 + limb3: 0x3388dc06a8286446a95bb74, }, r1a0: u384 { limb0: 0x29822e7214d3ae3a1eaf0881, limb1: 0xb04e459e8d569063d2f1ff84, limb2: 0x61aa79235620ec5c6168cd13, - limb3: 0xdb46da5506f25a0ddd9d25e + limb3: 0xdb46da5506f25a0ddd9d25e, }, r1a1: u384 { limb0: 0x4004047d6627ef4e8a047aeb, limb1: 0x73a8ed1ba044e04a43a99564, limb2: 0x664eedf108865fac5ebba6e1, - limb3: 0xe6e3025f09bb9df597b5128 - } + limb3: 0xe6e3025f09bb9df597b5128, + }, }, G2Line { r0a0: u384 { limb0: 0x6acae548b9042589a17cc95f, limb1: 0x217f1e1c11c3011715774d4d, limb2: 0x11a9fb5766b39d430b1c15d0, - limb3: 0xe612d859df24842ce33c9d6 + limb3: 0xe612d859df24842ce33c9d6, }, r0a1: u384 { limb0: 0x599285819346fb9c3c28793d, limb1: 0x4d0d0826c6e08cf5059cdc19, limb2: 0xf39b4a96ce83040bf10716ac, - limb3: 0xd5c0c7d757310fec39173c7 + limb3: 0xd5c0c7d757310fec39173c7, }, r1a0: u384 { limb0: 0x473dcb1b1a73099f9b3d95d2, limb1: 0x7a7ef1c6db2665dfba32be7b, limb2: 0xccb92790901c2f7ceb7fd861, - limb3: 0x1015a3839453343c9b0cbc45 + limb3: 0x1015a3839453343c9b0cbc45, }, r1a1: u384 { limb0: 0x12d333d5723a566d13e3b9ab, limb1: 0xf96f0e52139baea4bbd3f509, limb2: 0xf775f6c4aa01956effc7bac1, - limb3: 0x14f9ac263962844d5d7bfd58 - } + limb3: 0x14f9ac263962844d5d7bfd58, + }, }, G2Line { r0a0: u384 { limb0: 0x324273979b43f236c1b6d4b3, limb1: 0x6a44d55ac56823beb8c5cd4d, limb2: 0xf187e87ac0dea83abd11b631, - limb3: 0xedbe290b2884e1a7816b064 + limb3: 0xedbe290b2884e1a7816b064, }, r0a1: u384 { limb0: 0xb9c0ebcef8295a5127fabfde, limb1: 0xd8abaec351082a47e7dd0d50, limb2: 0xf7b036dd84a0f094aab5c7c, - limb3: 0x14ba1a361d4fb86acc0430ff + limb3: 0x14ba1a361d4fb86acc0430ff, }, r1a0: u384 { limb0: 0xd6a92564eca59a717cccc180, limb1: 0x7ec4e553b132cfe520138b91, limb2: 0x968b7ccf08d0a2377a2b5d51, - limb3: 0x1486effacc4cfe9a2a925700 + limb3: 0x1486effacc4cfe9a2a925700, }, r1a1: u384 { limb0: 0xda73fa2984bbcd83191b529c, limb1: 0x3d2797caffd2a9f90addeb7d, limb2: 0x6ae8b01c177a54b6029803c4, - limb3: 0x19cd64299c633b6e74933f98 - } + limb3: 0x19cd64299c633b6e74933f98, + }, }, G2Line { r0a0: u384 { limb0: 0x324273979b43f236c1b6d4b3, limb1: 0x6a44d55ac56823beb8c5cd4d, limb2: 0xf187e87ac0dea83abd11b631, - limb3: 0xedbe290b2884e1a7816b064 + limb3: 0xedbe290b2884e1a7816b064, }, r0a1: u384 { limb0: 0xb9c0ebcef8295a5127fabfde, limb1: 0xd8abaec351082a47e7dd0d50, limb2: 0xf7b036dd84a0f094aab5c7c, - limb3: 0x14ba1a361d4fb86acc0430ff + limb3: 0x14ba1a361d4fb86acc0430ff, }, r1a0: u384 { limb0: 0xd6a92564eca59a717cccc180, limb1: 0x7ec4e553b132cfe520138b91, limb2: 0x968b7ccf08d0a2377a2b5d51, - limb3: 0x1486effacc4cfe9a2a925700 + limb3: 0x1486effacc4cfe9a2a925700, }, r1a1: u384 { limb0: 0xda73fa2984bbcd83191b529c, limb1: 0x3d2797caffd2a9f90addeb7d, limb2: 0x6ae8b01c177a54b6029803c4, - limb3: 0x19cd64299c633b6e74933f98 - } + limb3: 0x19cd64299c633b6e74933f98, + }, }, G2Line { r0a0: u384 { limb0: 0xdb2681a0ef5cfd0962c48f6b, limb1: 0x1a2279a74c79a6421bd26c6c, limb2: 0xc48814ce2e29b2263da82a5, - limb3: 0x2e3e25f56d91932935f20d + limb3: 0x2e3e25f56d91932935f20d, }, r0a1: u384 { limb0: 0xd677f32fe7da9736c43634f2, limb1: 0x4285e9705dd9ce8d698d1fe0, limb2: 0x2c7dd9009c4c58184aca558c, - limb3: 0x3dcbe4e5594c6ab2d10c16d + limb3: 0x3dcbe4e5594c6ab2d10c16d, }, r1a0: u384 { limb0: 0x86e822ce6a692777d529f773, limb1: 0xf92f4c24dd2d1a1ab77fcfe7, limb2: 0xc7f1f61538f225ee52b89f48, - limb3: 0x7a08b05e3201602d9216d2d + limb3: 0x7a08b05e3201602d9216d2d, }, r1a1: u384 { limb0: 0x220cfbe9c10884461876ae23, limb1: 0x9e752d4b5482e4c5bbd57488, limb2: 0x72d39a1d6f520311fd389c37, - limb3: 0x52542fd6c39f0d99bd6bbd9 - } + limb3: 0x52542fd6c39f0d99bd6bbd9, + }, }, G2Line { r0a0: u384 { limb0: 0xdb2681a0ef5cfd0962c48f6b, limb1: 0x1a2279a74c79a6421bd26c6c, limb2: 0xc48814ce2e29b2263da82a5, - limb3: 0x2e3e25f56d91932935f20d + limb3: 0x2e3e25f56d91932935f20d, }, r0a1: u384 { limb0: 0xd677f32fe7da9736c43634f2, limb1: 0x4285e9705dd9ce8d698d1fe0, limb2: 0x2c7dd9009c4c58184aca558c, - limb3: 0x3dcbe4e5594c6ab2d10c16d + limb3: 0x3dcbe4e5594c6ab2d10c16d, }, r1a0: u384 { limb0: 0x86e822ce6a692777d529f773, limb1: 0xf92f4c24dd2d1a1ab77fcfe7, limb2: 0xc7f1f61538f225ee52b89f48, - limb3: 0x7a08b05e3201602d9216d2d + limb3: 0x7a08b05e3201602d9216d2d, }, r1a1: u384 { limb0: 0x220cfbe9c10884461876ae23, limb1: 0x9e752d4b5482e4c5bbd57488, limb2: 0x72d39a1d6f520311fd389c37, - limb3: 0x52542fd6c39f0d99bd6bbd9 - } + limb3: 0x52542fd6c39f0d99bd6bbd9, + }, }, G2Line { r0a0: u384 { limb0: 0xd2833c6e80915aa802028d91, limb1: 0x74d22878ec75474650117b32, limb2: 0x6cb76ac504f45d442506c3b9, - limb3: 0x19a572ff9f78c5689f7e9 + limb3: 0x19a572ff9f78c5689f7e9, }, r0a1: u384 { limb0: 0x46249614d83af7e171c6172a, limb1: 0xd2a4f206fa6b7c9dc6276a1d, limb2: 0x1d37284645aeccfa7e55914e, - limb3: 0xea73b1772fdeb0d8a80a54 + limb3: 0xea73b1772fdeb0d8a80a54, }, r1a0: u384 { limb0: 0x985a081123f14663474d6128, limb1: 0x787c1d2cef0eaf6c17b95fa8, limb2: 0xf13630ecc0448c07d7ec98e1, - limb3: 0xcd42fb0bd6ca63acd78405b + limb3: 0xcd42fb0bd6ca63acd78405b, }, r1a1: u384 { limb0: 0xf78e5391e95d1455d6dd1c83, limb1: 0xb1164967a264030c2d76d419, limb2: 0xe1a6bcb4b4b9ee8fddc7315c, - limb3: 0x173465e64e00f1cdec28f131 - } + limb3: 0x173465e64e00f1cdec28f131, + }, }, G2Line { r0a0: u384 { limb0: 0xd2833c6e80915aa802028d91, limb1: 0x74d22878ec75474650117b32, limb2: 0x6cb76ac504f45d442506c3b9, - limb3: 0x19a572ff9f78c5689f7e9 + limb3: 0x19a572ff9f78c5689f7e9, }, r0a1: u384 { limb0: 0x46249614d83af7e171c6172a, limb1: 0xd2a4f206fa6b7c9dc6276a1d, limb2: 0x1d37284645aeccfa7e55914e, - limb3: 0xea73b1772fdeb0d8a80a54 + limb3: 0xea73b1772fdeb0d8a80a54, }, r1a0: u384 { limb0: 0x985a081123f14663474d6128, limb1: 0x787c1d2cef0eaf6c17b95fa8, limb2: 0xf13630ecc0448c07d7ec98e1, - limb3: 0xcd42fb0bd6ca63acd78405b + limb3: 0xcd42fb0bd6ca63acd78405b, }, r1a1: u384 { limb0: 0xf78e5391e95d1455d6dd1c83, limb1: 0xb1164967a264030c2d76d419, limb2: 0xe1a6bcb4b4b9ee8fddc7315c, - limb3: 0x173465e64e00f1cdec28f131 - } + limb3: 0x173465e64e00f1cdec28f131, + }, }, G2Line { r0a0: u384 { limb0: 0x5a92b83a440860b31ecb39ab, limb1: 0x6bc88b2098e8aa4f2cbabe29, limb2: 0xa344268cee55846c0d67fc57, - limb3: 0xbb3d9a3fd7f583599bea6c8 + limb3: 0xbb3d9a3fd7f583599bea6c8, }, r0a1: u384 { limb0: 0x3a6a9d0f4e52f138fe7e33f8, limb1: 0x51afc01b9494c61c5bd1b11e, limb2: 0x3172b05abc177e9cce4b4f0, - limb3: 0x17d8ca31211b957fcb12e805 + limb3: 0x17d8ca31211b957fcb12e805, }, r1a0: u384 { limb0: 0x6343ff0635ec4e9c9fb709b9, limb1: 0x68e8d08a9f5be219dd16fe6f, limb2: 0xf0fed78a781578b59788720b, - limb3: 0xbe842e6fff90d6b069cb70 + limb3: 0xbe842e6fff90d6b069cb70, }, r1a1: u384 { limb0: 0xd037592f81aa53124684abf0, limb1: 0xe52aeb7217c82e488907f68e, limb2: 0x3bddbeccd2fae9aedaa083b6, - limb3: 0xcdd8a9e7fe7cc350a576aaa - } + limb3: 0xcdd8a9e7fe7cc350a576aaa, + }, }, G2Line { r0a0: u384 { limb0: 0x5a92b83a440860b31ecb39ab, limb1: 0x6bc88b2098e8aa4f2cbabe29, limb2: 0xa344268cee55846c0d67fc57, - limb3: 0xbb3d9a3fd7f583599bea6c8 + limb3: 0xbb3d9a3fd7f583599bea6c8, }, r0a1: u384 { limb0: 0x3a6a9d0f4e52f138fe7e33f8, limb1: 0x51afc01b9494c61c5bd1b11e, limb2: 0x3172b05abc177e9cce4b4f0, - limb3: 0x17d8ca31211b957fcb12e805 + limb3: 0x17d8ca31211b957fcb12e805, }, r1a0: u384 { limb0: 0x6343ff0635ec4e9c9fb709b9, limb1: 0x68e8d08a9f5be219dd16fe6f, limb2: 0xf0fed78a781578b59788720b, - limb3: 0xbe842e6fff90d6b069cb70 + limb3: 0xbe842e6fff90d6b069cb70, }, r1a1: u384 { limb0: 0xd037592f81aa53124684abf0, limb1: 0xe52aeb7217c82e488907f68e, limb2: 0x3bddbeccd2fae9aedaa083b6, - limb3: 0xcdd8a9e7fe7cc350a576aaa - } + limb3: 0xcdd8a9e7fe7cc350a576aaa, + }, }, G2Line { r0a0: u384 { limb0: 0x6ab1f6647ba9ba736f0839ad, limb1: 0xe8204b773672d624630e2384, limb2: 0x9ecdf669a827c29c74daf71b, - limb3: 0x2627dd5786ccd48891b28cb + limb3: 0x2627dd5786ccd48891b28cb, }, r0a1: u384 { limb0: 0xd65bc63d35cc0bfb66c2fbf5, limb1: 0xb658ffd3e2b02102a72560b5, limb2: 0x4831f5285ece22bc1c6a1869, - limb3: 0x1721967f7d4fc728f65b501c + limb3: 0x1721967f7d4fc728f65b501c, }, r1a0: u384 { limb0: 0x6794d4f4801a0974d863a911, limb1: 0xbecbc2ac5e4c8d8ccf656991, limb2: 0x9ec1f54cdfcb10932d199399, - limb3: 0x2406219596075a45c6e0806 + limb3: 0x2406219596075a45c6e0806, }, r1a1: u384 { limb0: 0xe78dbc09e2db8d9605dc8f23, limb1: 0xc9303fa646a2966cfd79288, limb2: 0xa61763bd756d1d418bd83966, - limb3: 0x198617a89efe66f0fd26cf06 - } + limb3: 0x198617a89efe66f0fd26cf06, + }, }, G2Line { r0a0: u384 { limb0: 0x6ab1f6647ba9ba736f0839ad, limb1: 0xe8204b773672d624630e2384, limb2: 0x9ecdf669a827c29c74daf71b, - limb3: 0x2627dd5786ccd48891b28cb + limb3: 0x2627dd5786ccd48891b28cb, }, r0a1: u384 { limb0: 0xd65bc63d35cc0bfb66c2fbf5, limb1: 0xb658ffd3e2b02102a72560b5, limb2: 0x4831f5285ece22bc1c6a1869, - limb3: 0x1721967f7d4fc728f65b501c + limb3: 0x1721967f7d4fc728f65b501c, }, r1a0: u384 { limb0: 0x6794d4f4801a0974d863a911, limb1: 0xbecbc2ac5e4c8d8ccf656991, limb2: 0x9ec1f54cdfcb10932d199399, - limb3: 0x2406219596075a45c6e0806 + limb3: 0x2406219596075a45c6e0806, }, r1a1: u384 { limb0: 0xe78dbc09e2db8d9605dc8f23, limb1: 0xc9303fa646a2966cfd79288, limb2: 0xa61763bd756d1d418bd83966, - limb3: 0x198617a89efe66f0fd26cf06 - } + limb3: 0x198617a89efe66f0fd26cf06, + }, }, G2Line { r0a0: u384 { limb0: 0x3d1d195f552c9f18d8d5c535, limb1: 0x1323b299172854615a455e4a, limb2: 0xf7d398cbadc32d691ed52bd6, - limb3: 0x659beaad32fe55ba9df44d9 + limb3: 0x659beaad32fe55ba9df44d9, }, r0a1: u384 { limb0: 0x98c06f5573cfa234289b62d8, limb1: 0xe515dd299c6e00bc6df14c34, limb2: 0x23b66fe012eb1a443038cb88, - limb3: 0x12f810746c2c45af5360d9bc + limb3: 0x12f810746c2c45af5360d9bc, }, r1a0: u384 { limb0: 0x3aae5b2af57f0c9c94bb32, limb1: 0x777a7e6bbc9962ab6be81f76, limb2: 0x14cbce88a915fc5331313d21, - limb3: 0x13a52e8a1ac3c04b42218be1 + limb3: 0x13a52e8a1ac3c04b42218be1, }, r1a1: u384 { limb0: 0xd2b673a0bae8bfb28cff0c45, limb1: 0xf95ff65fcc89601198dc8f91, limb2: 0xd77322bf8488715eef3f6fb1, - limb3: 0xf1277bfb59098f10a9131b5 - } + limb3: 0xf1277bfb59098f10a9131b5, + }, }, G2Line { r0a0: u384 { limb0: 0x3d1d195f552c9f18d8d5c535, limb1: 0x1323b299172854615a455e4a, limb2: 0xf7d398cbadc32d691ed52bd6, - limb3: 0x659beaad32fe55ba9df44d9 + limb3: 0x659beaad32fe55ba9df44d9, }, r0a1: u384 { limb0: 0x98c06f5573cfa234289b62d8, limb1: 0xe515dd299c6e00bc6df14c34, limb2: 0x23b66fe012eb1a443038cb88, - limb3: 0x12f810746c2c45af5360d9bc + limb3: 0x12f810746c2c45af5360d9bc, }, r1a0: u384 { limb0: 0x3aae5b2af57f0c9c94bb32, limb1: 0x777a7e6bbc9962ab6be81f76, limb2: 0x14cbce88a915fc5331313d21, - limb3: 0x13a52e8a1ac3c04b42218be1 + limb3: 0x13a52e8a1ac3c04b42218be1, }, r1a1: u384 { limb0: 0xd2b673a0bae8bfb28cff0c45, limb1: 0xf95ff65fcc89601198dc8f91, limb2: 0xd77322bf8488715eef3f6fb1, - limb3: 0xf1277bfb59098f10a9131b5 - } + limb3: 0xf1277bfb59098f10a9131b5, + }, }, G2Line { r0a0: u384 { limb0: 0x994b3340947e0dfc5f4449bf, limb1: 0xf2a54d7464f1f50b95abe9d8, limb2: 0xaa05f45202de8ae127c3d64b, - limb3: 0x105819b4d71c03790bfeb092 + limb3: 0x105819b4d71c03790bfeb092, }, r0a1: u384 { limb0: 0xdbca0a627c296fe7aad607f1, limb1: 0x7a8255ce902319b92cd065be, limb2: 0x7b50bc220077a52b59ce5307, - limb3: 0xf9e05915fae54c347b88c1e + limb3: 0xf9e05915fae54c347b88c1e, }, r1a0: u384 { limb0: 0x2cac98351a30b0b82a54b79e, limb1: 0xed07531e9f2463331277b6f3, limb2: 0x12b3ebca243e04ae826f6c33, - limb3: 0x12969325aa2fdc65900e8a68 + limb3: 0x12969325aa2fdc65900e8a68, }, r1a1: u384 { limb0: 0xb0799b5a24a5ceb48429df27, limb1: 0x2ee6d0a37a7ddc7798f3bc77, limb2: 0x63ec626451e43c56ff92bafb, - limb3: 0x50818d39d6234b4dc233a38 - } + limb3: 0x50818d39d6234b4dc233a38, + }, }, G2Line { r0a0: u384 { limb0: 0x994b3340947e0dfc5f4449bf, limb1: 0xf2a54d7464f1f50b95abe9d8, limb2: 0xaa05f45202de8ae127c3d64b, - limb3: 0x105819b4d71c03790bfeb092 + limb3: 0x105819b4d71c03790bfeb092, }, r0a1: u384 { limb0: 0xdbca0a627c296fe7aad607f1, limb1: 0x7a8255ce902319b92cd065be, limb2: 0x7b50bc220077a52b59ce5307, - limb3: 0xf9e05915fae54c347b88c1e + limb3: 0xf9e05915fae54c347b88c1e, }, r1a0: u384 { limb0: 0x2cac98351a30b0b82a54b79e, limb1: 0xed07531e9f2463331277b6f3, limb2: 0x12b3ebca243e04ae826f6c33, - limb3: 0x12969325aa2fdc65900e8a68 + limb3: 0x12969325aa2fdc65900e8a68, }, r1a1: u384 { limb0: 0xb0799b5a24a5ceb48429df27, limb1: 0x2ee6d0a37a7ddc7798f3bc77, limb2: 0x63ec626451e43c56ff92bafb, - limb3: 0x50818d39d6234b4dc233a38 - } + limb3: 0x50818d39d6234b4dc233a38, + }, }, G2Line { r0a0: u384 { limb0: 0xb67cc5f083f96e39a134d194, limb1: 0xaf9e780b6c4a7184061027d7, limb2: 0xdcda4477070e92cdf3397d43, - limb3: 0x6a696f2522cc9af3d082748 + limb3: 0x6a696f2522cc9af3d082748, }, r0a1: u384 { limb0: 0x392c02806e22eca0d48618e7, limb1: 0x8aba49a57d2d347b3df198c6, limb2: 0x754cc050d1a93ac3f85ce805, - limb3: 0xe759f363f34e4784dc65a71 + limb3: 0xe759f363f34e4784dc65a71, }, r1a0: u384 { limb0: 0xd34741277335bd3799ea321e, limb1: 0xdd6641b8fbd73a1428f041ea, limb2: 0xe38c8915296a5c201145b868, - limb3: 0x105d879c98b5261f00ea9de9 + limb3: 0x105d879c98b5261f00ea9de9, }, r1a1: u384 { limb0: 0x5c96d186d5a39ffc6149aefc, limb1: 0xe4f274d1b18b7edb57fc9918, limb2: 0xea1f8cfaa190965fbae29234, - limb3: 0x110e5f288f9b57423dcde8a7 - } + limb3: 0x110e5f288f9b57423dcde8a7, + }, }, G2Line { r0a0: u384 { limb0: 0xb67cc5f083f96e39a134d194, limb1: 0xaf9e780b6c4a7184061027d7, limb2: 0xdcda4477070e92cdf3397d43, - limb3: 0x6a696f2522cc9af3d082748 + limb3: 0x6a696f2522cc9af3d082748, }, r0a1: u384 { limb0: 0x392c02806e22eca0d48618e7, limb1: 0x8aba49a57d2d347b3df198c6, limb2: 0x754cc050d1a93ac3f85ce805, - limb3: 0xe759f363f34e4784dc65a71 + limb3: 0xe759f363f34e4784dc65a71, }, r1a0: u384 { limb0: 0xd34741277335bd3799ea321e, limb1: 0xdd6641b8fbd73a1428f041ea, limb2: 0xe38c8915296a5c201145b868, - limb3: 0x105d879c98b5261f00ea9de9 + limb3: 0x105d879c98b5261f00ea9de9, }, r1a1: u384 { limb0: 0x5c96d186d5a39ffc6149aefc, limb1: 0xe4f274d1b18b7edb57fc9918, limb2: 0xea1f8cfaa190965fbae29234, - limb3: 0x110e5f288f9b57423dcde8a7 - } + limb3: 0x110e5f288f9b57423dcde8a7, + }, }, G2Line { r0a0: u384 { limb0: 0xfd988b3fefee9bec8d580624, limb1: 0xea8b268179a0cff5e5a733de, limb2: 0xc3261de3bb0dae36dd3a12d1, - limb3: 0xe0311c57778716dd26ec448 + limb3: 0xe0311c57778716dd26ec448, }, r0a1: u384 { limb0: 0xbd3bb91f6aebae19c756f359, limb1: 0x8ddb3cfc5cbb0a427decde5c, limb2: 0xa3ee67368948da84ef76cc9c, - limb3: 0x386b903ec5f7b21375b440b + limb3: 0x386b903ec5f7b21375b440b, }, r1a0: u384 { limb0: 0xf101c44cc5023657f2d800ce, limb1: 0xe3c33e1823e3fbd36e6ec7f3, limb2: 0xb72b4d93169a4b6f53c98bd8, - limb3: 0xfe4e73b7283c84a94493193 + limb3: 0xfe4e73b7283c84a94493193, }, r1a1: u384 { limb0: 0x72d680350e90ad8a1b951514, limb1: 0xbcc457b76fcdb17ec8734b67, limb2: 0xc2f60e7bf5f241b7e5cee4a0, - limb3: 0x16aaebbc648697f433c2261d - } + limb3: 0x16aaebbc648697f433c2261d, + }, }, G2Line { r0a0: u384 { limb0: 0xfd988b3fefee9bec8d580624, limb1: 0xea8b268179a0cff5e5a733de, limb2: 0xc3261de3bb0dae36dd3a12d1, - limb3: 0xe0311c57778716dd26ec448 + limb3: 0xe0311c57778716dd26ec448, }, r0a1: u384 { limb0: 0xbd3bb91f6aebae19c756f359, limb1: 0x8ddb3cfc5cbb0a427decde5c, limb2: 0xa3ee67368948da84ef76cc9c, - limb3: 0x386b903ec5f7b21375b440b + limb3: 0x386b903ec5f7b21375b440b, }, r1a0: u384 { limb0: 0xf101c44cc5023657f2d800ce, limb1: 0xe3c33e1823e3fbd36e6ec7f3, limb2: 0xb72b4d93169a4b6f53c98bd8, - limb3: 0xfe4e73b7283c84a94493193 + limb3: 0xfe4e73b7283c84a94493193, }, r1a1: u384 { limb0: 0x72d680350e90ad8a1b951514, limb1: 0xbcc457b76fcdb17ec8734b67, limb2: 0xc2f60e7bf5f241b7e5cee4a0, - limb3: 0x16aaebbc648697f433c2261d - } + limb3: 0x16aaebbc648697f433c2261d, + }, }, G2Line { r0a0: u384 { limb0: 0x6f85133f411d25e0b5f35e4e, limb1: 0xc638badc6521e71c561777f7, limb2: 0x8353d2452d7ab56d813e41e4, - limb3: 0x10bc8e7f6b5289bdc1c5fa9f + limb3: 0x10bc8e7f6b5289bdc1c5fa9f, }, r0a1: u384 { limb0: 0xab5f1742cb30521d01daacc0, limb1: 0x9e56c445377075119d1596a4, limb2: 0xa72211611536639fe4976d69, - limb3: 0x11f238149a22f79fa16cb32b + limb3: 0x11f238149a22f79fa16cb32b, }, r1a0: u384 { limb0: 0x8367fe7274231c74704c80ff, limb1: 0xa8e2ad1a7f0c36a34b48cd88, limb2: 0x7faca91a72963d25472465c, - limb3: 0x1311fd26e3b83c10952fb826 + limb3: 0x1311fd26e3b83c10952fb826, }, r1a1: u384 { limb0: 0xae246df1f149439c747384f1, limb1: 0x68a615ee2f9d7f8d56f2174b, limb2: 0xf64d48e37e9111200271d2ee, - limb3: 0x2daa9898e27bc3d9ce26195 - } + limb3: 0x2daa9898e27bc3d9ce26195, + }, }, G2Line { r0a0: u384 { limb0: 0x6f85133f411d25e0b5f35e4e, limb1: 0xc638badc6521e71c561777f7, limb2: 0x8353d2452d7ab56d813e41e4, - limb3: 0x10bc8e7f6b5289bdc1c5fa9f + limb3: 0x10bc8e7f6b5289bdc1c5fa9f, }, r0a1: u384 { limb0: 0xab5f1742cb30521d01daacc0, limb1: 0x9e56c445377075119d1596a4, limb2: 0xa72211611536639fe4976d69, - limb3: 0x11f238149a22f79fa16cb32b + limb3: 0x11f238149a22f79fa16cb32b, }, r1a0: u384 { limb0: 0x8367fe7274231c74704c80ff, limb1: 0xa8e2ad1a7f0c36a34b48cd88, limb2: 0x7faca91a72963d25472465c, - limb3: 0x1311fd26e3b83c10952fb826 + limb3: 0x1311fd26e3b83c10952fb826, }, r1a1: u384 { limb0: 0xae246df1f149439c747384f1, limb1: 0x68a615ee2f9d7f8d56f2174b, limb2: 0xf64d48e37e9111200271d2ee, - limb3: 0x2daa9898e27bc3d9ce26195 - } + limb3: 0x2daa9898e27bc3d9ce26195, + }, }, G2Line { r0a0: u384 { limb0: 0x293cdab968151d9a88ba8197, limb1: 0x91e20a097317fbf539a50489, limb2: 0x60d594dea296004ee2824b62, - limb3: 0x190b7e72bd6ee0ed0faf4962 + limb3: 0x190b7e72bd6ee0ed0faf4962, }, r0a1: u384 { limb0: 0xb5b5a519c745663a2d0a6a22, limb1: 0xe8d8005fede56d9bb7f102ac, limb2: 0x1534acc00cf17be37afd327d, - limb3: 0xb3c34b4025f50c09d86ccf1 + limb3: 0xb3c34b4025f50c09d86ccf1, }, r1a0: u384 { limb0: 0x8a28c9f5c487242be3157d10, limb1: 0x35adb9f220d3910e8e7e628a, limb2: 0x8a53a50706970f599abb8b1, - limb3: 0x1813805985492b229d25c9c0 + limb3: 0x1813805985492b229d25c9c0, }, r1a1: u384 { limb0: 0x53f421abc7375d7ef5f4ea15, limb1: 0x3453e28c8b88718a6bd2122c, limb2: 0x181dbbb6144062890a582400, - limb3: 0xe27d7ff293c8253269fc184 - } + limb3: 0xe27d7ff293c8253269fc184, + }, }, G2Line { r0a0: u384 { limb0: 0x293cdab968151d9a88ba8197, limb1: 0x91e20a097317fbf539a50489, limb2: 0x60d594dea296004ee2824b62, - limb3: 0x190b7e72bd6ee0ed0faf4962 + limb3: 0x190b7e72bd6ee0ed0faf4962, }, r0a1: u384 { limb0: 0xb5b5a519c745663a2d0a6a22, limb1: 0xe8d8005fede56d9bb7f102ac, limb2: 0x1534acc00cf17be37afd327d, - limb3: 0xb3c34b4025f50c09d86ccf1 + limb3: 0xb3c34b4025f50c09d86ccf1, }, r1a0: u384 { limb0: 0x8a28c9f5c487242be3157d10, limb1: 0x35adb9f220d3910e8e7e628a, limb2: 0x8a53a50706970f599abb8b1, - limb3: 0x1813805985492b229d25c9c0 + limb3: 0x1813805985492b229d25c9c0, }, r1a1: u384 { limb0: 0x53f421abc7375d7ef5f4ea15, limb1: 0x3453e28c8b88718a6bd2122c, limb2: 0x181dbbb6144062890a582400, - limb3: 0xe27d7ff293c8253269fc184 - } + limb3: 0xe27d7ff293c8253269fc184, + }, }, G2Line { r0a0: u384 { limb0: 0x788ac954b6de3b9ef5a6c12c, limb1: 0xe13873c4ba9728c89be70b9a, limb2: 0x5d6b9d45c0985f271595d4c9, - limb3: 0x1954917fe709faff9865ebc3 + limb3: 0x1954917fe709faff9865ebc3, }, r0a1: u384 { limb0: 0x93fca181f0664865a2fc75fe, limb1: 0x535e2e42a4a967f7ca763127, limb2: 0xce90cca6dfec0e2e8fae9e3, - limb3: 0xd086b29c92aaddb7245299d + limb3: 0xd086b29c92aaddb7245299d, }, r1a0: u384 { limb0: 0x4ef1ed09cae08920a78f3bd7, limb1: 0x6714e095d8cc53e3829f2b5a, limb2: 0x9022123e8d70a0049ccb62a6, - limb3: 0xef311f53ea87dc5da3ddd33 + limb3: 0xef311f53ea87dc5da3ddd33, }, r1a1: u384 { limb0: 0xbc5ec58d4c68ebde3ce5d6af, limb1: 0x91f1285170fbc3c4d812f3aa, limb2: 0x13eec60eefd5588477e432d8, - limb3: 0x74a34dc5c8359340c5fe4f1 - } + limb3: 0x74a34dc5c8359340c5fe4f1, + }, }, G2Line { r0a0: u384 { limb0: 0x788ac954b6de3b9ef5a6c12c, limb1: 0xe13873c4ba9728c89be70b9a, limb2: 0x5d6b9d45c0985f271595d4c9, - limb3: 0x1954917fe709faff9865ebc3 + limb3: 0x1954917fe709faff9865ebc3, }, r0a1: u384 { limb0: 0x93fca181f0664865a2fc75fe, limb1: 0x535e2e42a4a967f7ca763127, limb2: 0xce90cca6dfec0e2e8fae9e3, - limb3: 0xd086b29c92aaddb7245299d + limb3: 0xd086b29c92aaddb7245299d, }, r1a0: u384 { limb0: 0x4ef1ed09cae08920a78f3bd7, limb1: 0x6714e095d8cc53e3829f2b5a, limb2: 0x9022123e8d70a0049ccb62a6, - limb3: 0xef311f53ea87dc5da3ddd33 + limb3: 0xef311f53ea87dc5da3ddd33, }, r1a1: u384 { limb0: 0xbc5ec58d4c68ebde3ce5d6af, limb1: 0x91f1285170fbc3c4d812f3aa, limb2: 0x13eec60eefd5588477e432d8, - limb3: 0x74a34dc5c8359340c5fe4f1 - } + limb3: 0x74a34dc5c8359340c5fe4f1, + }, }, G2Line { r0a0: u384 { limb0: 0x46d409dd77b17a23fc402a34, limb1: 0x26d0e70f78ec18c019c2f074, limb2: 0x98d531c6d1b75c297e5f3c9, - limb3: 0x3a571d848cc57291ff2ffa + limb3: 0x3a571d848cc57291ff2ffa, }, r0a1: u384 { limb0: 0x9220d2160322f603fa59c76, limb1: 0xf7811520cd515d496363e693, limb2: 0x2c5614352975026f33861c37, - limb3: 0x17644f4fbe80675d0953c99d + limb3: 0x17644f4fbe80675d0953c99d, }, r1a0: u384 { limb0: 0x4aaca6cc8c9d33c63c0f1d1b, limb1: 0xe45b1fa9442911a2857ec8fa, limb2: 0x32c9f0ff272cf03afd720f7d, - limb3: 0x1e0242dad0177697c8a0aff + limb3: 0x1e0242dad0177697c8a0aff, }, r1a1: u384 { limb0: 0x728463c48b5aea9ca697e90b, limb1: 0x7b8f08b990bfcb2db30c3193, limb2: 0x7232cfafe8d7566719d9c4af, - limb3: 0x5f1c40f1c28ca2cf8f83994 - } + limb3: 0x5f1c40f1c28ca2cf8f83994, + }, }, G2Line { r0a0: u384 { limb0: 0x46d409dd77b17a23fc402a34, limb1: 0x26d0e70f78ec18c019c2f074, limb2: 0x98d531c6d1b75c297e5f3c9, - limb3: 0x3a571d848cc57291ff2ffa + limb3: 0x3a571d848cc57291ff2ffa, }, r0a1: u384 { limb0: 0x9220d2160322f603fa59c76, limb1: 0xf7811520cd515d496363e693, limb2: 0x2c5614352975026f33861c37, - limb3: 0x17644f4fbe80675d0953c99d + limb3: 0x17644f4fbe80675d0953c99d, }, r1a0: u384 { limb0: 0x4aaca6cc8c9d33c63c0f1d1b, limb1: 0xe45b1fa9442911a2857ec8fa, limb2: 0x32c9f0ff272cf03afd720f7d, - limb3: 0x1e0242dad0177697c8a0aff + limb3: 0x1e0242dad0177697c8a0aff, }, r1a1: u384 { limb0: 0x728463c48b5aea9ca697e90b, limb1: 0x7b8f08b990bfcb2db30c3193, limb2: 0x7232cfafe8d7566719d9c4af, - limb3: 0x5f1c40f1c28ca2cf8f83994 - } + limb3: 0x5f1c40f1c28ca2cf8f83994, + }, }, G2Line { r0a0: u384 { limb0: 0xf6913070c37af578aa1b9a37, limb1: 0x664781917f37151d3a0d627a, limb2: 0x9d5cd2ddf7dd66c044a101e6, - limb3: 0x13cc21b4e1f7c288d1b899ad + limb3: 0x13cc21b4e1f7c288d1b899ad, }, r0a1: u384 { limb0: 0x5607928bdfad47c77f840a3, limb1: 0xdd3d8bf376d25ba8b3a926aa, limb2: 0x35c034874a2ccd33ec0fedad, - limb3: 0x176b6eb4cbcedd0416d8b2e9 + limb3: 0x176b6eb4cbcedd0416d8b2e9, }, r1a0: u384 { limb0: 0x1f81c4f93cff2721578a1cd7, limb1: 0x7908a9522938e77f3e279a41, limb2: 0x7fdc79ff7c835d873ab01ed2, - limb3: 0x11e3d19be097dc7e63b49b10 + limb3: 0x11e3d19be097dc7e63b49b10, }, r1a1: u384 { limb0: 0x235b99292b27c9efd6a59ff4, limb1: 0x82cb49f680a93e6e718e3689, limb2: 0x710cd7d6390eca09a291ad52, - limb3: 0xf60ffe1a70c2771c44ee20f - } + limb3: 0xf60ffe1a70c2771c44ee20f, + }, }, G2Line { r0a0: u384 { limb0: 0xf6913070c37af578aa1b9a37, limb1: 0x664781917f37151d3a0d627a, limb2: 0x9d5cd2ddf7dd66c044a101e6, - limb3: 0x13cc21b4e1f7c288d1b899ad + limb3: 0x13cc21b4e1f7c288d1b899ad, }, r0a1: u384 { limb0: 0x5607928bdfad47c77f840a3, limb1: 0xdd3d8bf376d25ba8b3a926aa, limb2: 0x35c034874a2ccd33ec0fedad, - limb3: 0x176b6eb4cbcedd0416d8b2e9 + limb3: 0x176b6eb4cbcedd0416d8b2e9, }, r1a0: u384 { limb0: 0x1f81c4f93cff2721578a1cd7, limb1: 0x7908a9522938e77f3e279a41, limb2: 0x7fdc79ff7c835d873ab01ed2, - limb3: 0x11e3d19be097dc7e63b49b10 + limb3: 0x11e3d19be097dc7e63b49b10, }, r1a1: u384 { limb0: 0x235b99292b27c9efd6a59ff4, limb1: 0x82cb49f680a93e6e718e3689, limb2: 0x710cd7d6390eca09a291ad52, - limb3: 0xf60ffe1a70c2771c44ee20f - } + limb3: 0xf60ffe1a70c2771c44ee20f, + }, }, G2Line { r0a0: u384 { limb0: 0x8b2d5026a69128c8dcd7fa01, limb1: 0xa28af7e6845ec126ce674de3, limb2: 0x74618fcee9375eaffe329a57, - limb3: 0xd495764b344945c1bbf2528 + limb3: 0xd495764b344945c1bbf2528, }, r0a1: u384 { limb0: 0xc7191fe7d9c67d8956440c8e, limb1: 0x9886e12a6f751b086c256b4e, limb2: 0x2d800e1229e7acc62268ce86, - limb3: 0x8a1766c3924e9fe41995f27 + limb3: 0x8a1766c3924e9fe41995f27, }, r1a0: u384 { limb0: 0xe95730415bdae7fa69798292, limb1: 0x550a77eda4e6fd2f0bea1e69, limb2: 0xad91cd00e401b4c4d699ac6, - limb3: 0x147171fe6dce69e5291e5d4 + limb3: 0x147171fe6dce69e5291e5d4, }, r1a1: u384 { limb0: 0x3950881f65abb4ae1b59bbca, limb1: 0x588580a38b689b30f05b80bd, limb2: 0x77cb4489a340d3748044c17c, - limb3: 0xda658ea95a6fefe83fa39d1 - } + limb3: 0xda658ea95a6fefe83fa39d1, + }, }, G2Line { r0a0: u384 { limb0: 0x8b2d5026a69128c8dcd7fa01, limb1: 0xa28af7e6845ec126ce674de3, limb2: 0x74618fcee9375eaffe329a57, - limb3: 0xd495764b344945c1bbf2528 + limb3: 0xd495764b344945c1bbf2528, }, r0a1: u384 { limb0: 0xc7191fe7d9c67d8956440c8e, limb1: 0x9886e12a6f751b086c256b4e, limb2: 0x2d800e1229e7acc62268ce86, - limb3: 0x8a1766c3924e9fe41995f27 + limb3: 0x8a1766c3924e9fe41995f27, }, r1a0: u384 { limb0: 0xe95730415bdae7fa69798292, limb1: 0x550a77eda4e6fd2f0bea1e69, limb2: 0xad91cd00e401b4c4d699ac6, - limb3: 0x147171fe6dce69e5291e5d4 + limb3: 0x147171fe6dce69e5291e5d4, }, r1a1: u384 { limb0: 0x3950881f65abb4ae1b59bbca, limb1: 0x588580a38b689b30f05b80bd, limb2: 0x77cb4489a340d3748044c17c, - limb3: 0xda658ea95a6fefe83fa39d1 - } + limb3: 0xda658ea95a6fefe83fa39d1, + }, }, G2Line { r0a0: u384 { limb0: 0xfb36382a07a0546177544af4, limb1: 0x98af0f0579819a56ea21677c, limb2: 0xaba237656261d369d5d808d6, - limb3: 0xc9fb6adc6528d40d93c0da4 + limb3: 0xc9fb6adc6528d40d93c0da4, }, r0a1: u384 { limb0: 0x5c117b9250db1f77095f3f80, limb1: 0xda15f91e9282ff6deb2a2558, limb2: 0xaa820f7393229d9126ae7b62, - limb3: 0x110c5e918c554c126361e32e + limb3: 0x110c5e918c554c126361e32e, }, r1a0: u384 { limb0: 0xac056d30f948e924aa511f05, limb1: 0x31318c843660bb21180267e1, limb2: 0xb22b2d85ae7080079ab0bc7e, - limb3: 0x14941dda97edcedd3d32ad23 + limb3: 0x14941dda97edcedd3d32ad23, }, r1a1: u384 { limb0: 0x876fd0749511e318e84cc37e, limb1: 0x71b4a1c6b941f0bd7731cf3a, limb2: 0x54e1fb48d3305bd534e5132f, - limb3: 0x262c905d8278be2f7a9d1ea - } + limb3: 0x262c905d8278be2f7a9d1ea, + }, }, G2Line { r0a0: u384 { limb0: 0xfb36382a07a0546177544af4, limb1: 0x98af0f0579819a56ea21677c, limb2: 0xaba237656261d369d5d808d6, - limb3: 0xc9fb6adc6528d40d93c0da4 + limb3: 0xc9fb6adc6528d40d93c0da4, }, r0a1: u384 { limb0: 0x5c117b9250db1f77095f3f80, limb1: 0xda15f91e9282ff6deb2a2558, limb2: 0xaa820f7393229d9126ae7b62, - limb3: 0x110c5e918c554c126361e32e + limb3: 0x110c5e918c554c126361e32e, }, r1a0: u384 { limb0: 0xac056d30f948e924aa511f05, limb1: 0x31318c843660bb21180267e1, limb2: 0xb22b2d85ae7080079ab0bc7e, - limb3: 0x14941dda97edcedd3d32ad23 + limb3: 0x14941dda97edcedd3d32ad23, }, r1a1: u384 { limb0: 0x876fd0749511e318e84cc37e, limb1: 0x71b4a1c6b941f0bd7731cf3a, limb2: 0x54e1fb48d3305bd534e5132f, - limb3: 0x262c905d8278be2f7a9d1ea - } + limb3: 0x262c905d8278be2f7a9d1ea, + }, }, ] .span(); @@ -24912,74 +24912,74 @@ mod pairing_tests { limb0: 0x8bdaa3278720844c37567039, limb1: 0xd2f1409607d64c54b73d78aa, limb2: 0x2f6a4e683585d4ccc465352a, - limb3: 0x105016815aeab4c1b10cba42 + limb3: 0x105016815aeab4c1b10cba42, }, w1: u384 { limb0: 0xf14f1369d17825c133efc2d6, limb1: 0xece7f8c4810788c9023c2ad2, limb2: 0x8a7a3dca8c8fe5ccf68c0b23, - limb3: 0xe11367a38a9da9df3424073 + limb3: 0xe11367a38a9da9df3424073, }, w2: u384 { limb0: 0xbf3c140b105713ed07834b4a, limb1: 0x31325aee1b1dbae62f7c153, limb2: 0xf1712c06213e43c0272585dc, - limb3: 0x13e42c3e0801ac2144a06fb + limb3: 0x13e42c3e0801ac2144a06fb, }, w3: u384 { limb0: 0x713b362105bba1e8fcbb94a0, limb1: 0x7336f37c2c0d759c4ff697bf, limb2: 0xc61d5ab0a8dc2dffbaa7e2dc, - limb3: 0xc759210484ca64b6a064096 + limb3: 0xc759210484ca64b6a064096, }, w4: u384 { limb0: 0xdb2b0eb950e9144b7f2f02fa, limb1: 0x83f2d1513c7ce01407cbcbeb, limb2: 0x3acef2763be703fa77d90506, - limb3: 0xd6a3922a006a5ac269f1105 + limb3: 0xd6a3922a006a5ac269f1105, }, w5: u384 { limb0: 0xd7a563e564895cf2511754e1, limb1: 0xc5ec4b01df1cb55da421916c, limb2: 0x6a17068bd9eb8099e645e126, - limb3: 0xde779332fd6d9f465b20e6a + limb3: 0xde779332fd6d9f465b20e6a, }, w6: u384 { limb0: 0x62b4676a303984e5006cae4a, limb1: 0xf48de62916116cc249eda468, limb2: 0x30355b613eab563b9cb9b14a, - limb3: 0x92dc96c5c90e4a4e20a4cc8 + limb3: 0x92dc96c5c90e4a4e20a4cc8, }, w7: u384 { limb0: 0x2adef7cf0ce5e70667934f1c, limb1: 0x49df16aef14c96dda3795592, limb2: 0x90675022b9d62cbd8685978d, - limb3: 0xe6467206b01d8ecaea8fdd + limb3: 0xe6467206b01d8ecaea8fdd, }, w8: u384 { limb0: 0x5a0918f6778263817954d908, limb1: 0xf1cea39accc8cc574af25807, limb2: 0xeb067bfcab205abe6c371677, - limb3: 0x33f8a5722e1821e1f8c5f4a + limb3: 0x33f8a5722e1821e1f8c5f4a, }, w9: u384 { limb0: 0x5bec5a38ecbb7806f62dcc79, limb1: 0xcf4fd2a6884e312f05ffe06b, limb2: 0x59da93e49907f3bcb160ed13, - limb3: 0x130fe108a81a7753e3f765d5 + limb3: 0x130fe108a81a7753e3f765d5, }, w10: u384 { limb0: 0x675bac7aed2b433f922616d3, limb1: 0x2f2f405981e6aca41db75f4d, limb2: 0x5c5e051f326dbaef7f17399b, - limb3: 0xcd24160fefddfaa66c9468a + limb3: 0xcd24160fefddfaa66c9468a, }, w11: u384 { limb0: 0x82d362ba811d62d7264e9909, limb1: 0x6e0c09afc5dbcf4dffd7fc05, limb2: 0x30ce07f0ccb46385c2b2b40a, - limb3: 0x17f2b41158bbf2cb53644eae - } + limb3: 0x17f2b41158bbf2cb53644eae, + }, }, w: MillerLoopResultScalingFactor { w0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, @@ -24990,9 +24990,9 @@ mod pairing_tests { limb0: 0x79b43033d2c6148ace378dd, limb1: 0xc6a64d7c9213ad89ad6e2940, limb2: 0x6935c3e1b9cf1af588eafb63, - limb3: 0x66ba50e8c99edbeedf33b87 + limb3: 0x66ba50e8c99edbeedf33b87, }, - w10: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + w10: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }, Ris: array![ E12D { @@ -25000,2664 +25000,2664 @@ mod pairing_tests { limb0: 0x5e87a33f78e1f9158930afbe, limb1: 0xb03343f0ba8a9f2239714f7b, limb2: 0x9b36f2ea6a63c232dd98cdfc, - limb3: 0x12fa722de4e2d3218998c810 + limb3: 0x12fa722de4e2d3218998c810, }, w1: u384 { limb0: 0xc9f693551a877941adc4d9e5, limb1: 0x55a0971be122dcda5e5c3c8, limb2: 0x7c004df041a155e3b48cdf91, - limb3: 0x959ea623e7d5b6f547c34aa + limb3: 0x959ea623e7d5b6f547c34aa, }, w2: u384 { limb0: 0x7b00e2956467ad946b1cbad4, limb1: 0xb3dddc7d363c4618d35bbfd0, limb2: 0x67f8fcf4c55fc2cd48e50cff, - limb3: 0x155823e0d57749245ea41a2d + limb3: 0x155823e0d57749245ea41a2d, }, w3: u384 { limb0: 0xac48c31201b554c29ed60ab6, limb1: 0xd5f6cd8404db4fba9b6b1908, limb2: 0x2a12dd0e1ba2a2c71c111daa, - limb3: 0xeec9f4d9359e16042385ce1 + limb3: 0xeec9f4d9359e16042385ce1, }, w4: u384 { limb0: 0x612b6944bb47d6ef40f0a521, limb1: 0x8d9728d2c62f0e796f49eef1, limb2: 0xef1cf82ad9649cdaf92b4dad, - limb3: 0x16338f7d8ffc1e1319fc335b + limb3: 0x16338f7d8ffc1e1319fc335b, }, w5: u384 { limb0: 0x9ea8de19e0e2a79e3da646e8, limb1: 0x71979065bb38d55f71156ee4, limb2: 0x8f7025473478c1bc198be805, - limb3: 0x187985494ec2b58fdcbde38d + limb3: 0x187985494ec2b58fdcbde38d, }, w6: u384 { limb0: 0x96686495d190b64a7ea79e6e, limb1: 0x89a11b76e803f02eb0d472b0, limb2: 0x6528eebe102cbb5374fe497f, - limb3: 0xd3cc49ff4fec483e733e76d + limb3: 0xd3cc49ff4fec483e733e76d, }, w7: u384 { limb0: 0x82a3ef2511fe244c62bd5677, limb1: 0x52f0c10aafffafc1cf866828, limb2: 0x3cfe5bcd4718b63e76a65b17, - limb3: 0x2e63847fb6ea974a63e85df + limb3: 0x2e63847fb6ea974a63e85df, }, w8: u384 { limb0: 0xe04c4235ae17a9fab047b993, limb1: 0x9ade428b70a43c53f180123c, limb2: 0x892fce8b94f415a31260f4a5, - limb3: 0x14939c716e672d2e4f93049d + limb3: 0x14939c716e672d2e4f93049d, }, w9: u384 { limb0: 0x2076170f69cca61e8266cf77, limb1: 0xa94c356ff22eb446d1816afa, limb2: 0x7b5ee869ff77574fbd075e32, - limb3: 0x18c4c735d8759f9d05c97b53 + limb3: 0x18c4c735d8759f9d05c97b53, }, w10: u384 { limb0: 0x87b2d06f00ce9210f880f777, limb1: 0x270fa1aa87ff48d0c7029e08, limb2: 0xd7a0a067fdef49ae272a9cee, - limb3: 0x2670fa59b1931a9f41abca2 + limb3: 0x2670fa59b1931a9f41abca2, }, w11: u384 { limb0: 0x1d6670cd3b34ffaf62d4d572, limb1: 0x2a6da26183af5ba37e45e771, limb2: 0x2a68a3421c934fb0eb0a917c, - limb3: 0x51f182c87581744f24c2335 - } + limb3: 0x51f182c87581744f24c2335, + }, }, E12D { w0: u384 { limb0: 0xa5f19f0768085bfad6e01cd4, limb1: 0xdb5ba1fd09ac91a4ae47652f, limb2: 0x2b13b3f3a78d5dc5c4d512a1, - limb3: 0x8ce9c32b58bdfd51336a482 + limb3: 0x8ce9c32b58bdfd51336a482, }, w1: u384 { limb0: 0xe2f45c49eb706f9f80de75ea, limb1: 0x2f2a290fef99d780bdbb0c7a, limb2: 0xde3a67d7d6bc965776584229, - limb3: 0xddda4d389f0c2b9300d301a + limb3: 0xddda4d389f0c2b9300d301a, }, w2: u384 { limb0: 0x48376e71dfcc68f658e47c4c, limb1: 0xcac6cb5c19f8d13b4df976d, limb2: 0x84384bb472feb3909e7ed3f8, - limb3: 0xa4c6d75fd40944d23efad65 + limb3: 0xa4c6d75fd40944d23efad65, }, w3: u384 { limb0: 0x5706ae17c1b9f75e69a7e787, limb1: 0xc7cec8901103a5ee7bbd04d7, limb2: 0x8ddb584192f1250140b1ee3, - limb3: 0x13d733d54618baa778469263 + limb3: 0x13d733d54618baa778469263, }, w4: u384 { limb0: 0x9050e16d385573cfaaf7154a, limb1: 0x82794a915ed9862237629b23, limb2: 0xa64cea16d0c28ec3f2bf97df, - limb3: 0xa9ea911e3c1f16f11159bbe + limb3: 0xa9ea911e3c1f16f11159bbe, }, w5: u384 { limb0: 0x7e65b51d042ee4735403a47b, limb1: 0x319fb8dfee0f546bd682f411, limb2: 0xc23d64d72ebcfddc3ea548e2, - limb3: 0x111a1b915b3b25c5b9ec5052 + limb3: 0x111a1b915b3b25c5b9ec5052, }, w6: u384 { limb0: 0x7bd1cf57624895a0b3032653, limb1: 0x4961831e7409f7db175def7a, limb2: 0xb306db9676eef0f14180f0b4, - limb3: 0x125ee887fc0eef7011ad0bbb + limb3: 0x125ee887fc0eef7011ad0bbb, }, w7: u384 { limb0: 0x116cbb348fef5002aab5a1a0, limb1: 0xb1c8c7d1d9cff958a4004f0c, limb2: 0xb84a0ac8e21027d24b14ddc4, - limb3: 0x1169229cdff8901d09902cb5 + limb3: 0x1169229cdff8901d09902cb5, }, w8: u384 { limb0: 0x1046697d16f72172bef7ed16, limb1: 0xdb516839f9a0cbcbcc73b40b, limb2: 0xda4b81ca7038c6e7899437b4, - limb3: 0x898ffff0cbbee98eed4ddfa + limb3: 0x898ffff0cbbee98eed4ddfa, }, w9: u384 { limb0: 0xc57fc0dc768cc4566d475c1c, limb1: 0xcd5963a848c0b4c0417f5a2e, limb2: 0x73ecaffe0aae8b6dbac48037, - limb3: 0x79fd45ff01f26c32e1a83da + limb3: 0x79fd45ff01f26c32e1a83da, }, w10: u384 { limb0: 0x1d5fdcdedff07d7317cb5f87, limb1: 0xfed3411e06c703dee8b6e5c7, limb2: 0xb5edc0395ade200d535f84ab, - limb3: 0x3b6c9db7c2bec65f7929ef8 + limb3: 0x3b6c9db7c2bec65f7929ef8, }, w11: u384 { limb0: 0x835a3107a27c76602bb8a4e9, limb1: 0x9f1a745144ee7c13c69cd736, limb2: 0xad8ace8310aa4a6b8e6fd789, - limb3: 0x142320e4351ea7b89b1ea055 - } + limb3: 0x142320e4351ea7b89b1ea055, + }, }, E12D { w0: u384 { limb0: 0xe94b430873c2411e6cd80043, limb1: 0xe30be01010b7d9c627c228d, limb2: 0x51c2c7c9b4365780e79dc3c0, - limb3: 0x6f3bceeb9b996819b8ca685 + limb3: 0x6f3bceeb9b996819b8ca685, }, w1: u384 { limb0: 0x95c356530e86a107434237b9, limb1: 0x4aa9d2df5c497600a1e350a1, limb2: 0x59381ea2332d5b1974e07ee9, - limb3: 0x3049a4a61599e5e8113f1fe + limb3: 0x3049a4a61599e5e8113f1fe, }, w2: u384 { limb0: 0xae504a32d9b39dfef2a23777, limb1: 0xd9da3a1a5469845953c6d4d7, limb2: 0x207cdf567143514f2d7f3fc8, - limb3: 0x12974191549a6a396beba2bf + limb3: 0x12974191549a6a396beba2bf, }, w3: u384 { limb0: 0xa112cd0e530a494b22dfca4f, limb1: 0x18ea6ce26c166e7a7d78de70, limb2: 0x9cb0e03de354d7bf6282702a, - limb3: 0x909b63c04423c5894538c19 + limb3: 0x909b63c04423c5894538c19, }, w4: u384 { limb0: 0x686333c3d129ac16d5d0ad66, limb1: 0xb15463f680076cd25cc96a52, limb2: 0x208b9c263e7d649bb3ac2736, - limb3: 0x48c5ece6bb71a9d77de1d17 + limb3: 0x48c5ece6bb71a9d77de1d17, }, w5: u384 { limb0: 0x57e69dc9f02cc1dde9971341, limb1: 0xa7297c6bef065a6a9b542e82, limb2: 0xc886c7dab888b9c5b38236bc, - limb3: 0xdebc617818a9847334705f1 + limb3: 0xdebc617818a9847334705f1, }, w6: u384 { limb0: 0xe6056f10696a9817a2425aec, limb1: 0xeb0c85f199cd35e58fe7cbcf, limb2: 0xa246425777e777880b8a125d, - limb3: 0xda706ead9599d92c2d65149 + limb3: 0xda706ead9599d92c2d65149, }, w7: u384 { limb0: 0x9bf16e33aedf71df2d4615be, limb1: 0xefff1d4d74d22cd6cfaa0d54, limb2: 0x8f7e66896dad6c69fb46b6a0, - limb3: 0x6025284a12405855f01f281 + limb3: 0x6025284a12405855f01f281, }, w8: u384 { limb0: 0xc7aa07b19da3addbc2b2a7ac, limb1: 0x89af564addcf5ac140968e42, limb2: 0xb0f94c85c9d1a1140317c3f9, - limb3: 0x16ffce50f413f24cc8399c64 + limb3: 0x16ffce50f413f24cc8399c64, }, w9: u384 { limb0: 0xc11681d83427ac2c574dd74e, limb1: 0xa76eee7857186b0aeae75d7e, limb2: 0xeccab02a3412fbf189e977ac, - limb3: 0x184a0251d3a98256bf42b0eb + limb3: 0x184a0251d3a98256bf42b0eb, }, w10: u384 { limb0: 0x2c07fdd1036592df4a6f3498, limb1: 0x10f649a440ac4b37266f2219, limb2: 0x22a63f7af99b416d9bb930a5, - limb3: 0x115fdf891425fbf6a4362dd6 + limb3: 0x115fdf891425fbf6a4362dd6, }, w11: u384 { limb0: 0x411ed4c1110386e3d69aaad8, limb1: 0xc92f854a1d0559c20cdf125e, limb2: 0x948d25f76bb996b92261cdc2, - limb3: 0xe201b9e13565fa18bba4420 - } + limb3: 0xe201b9e13565fa18bba4420, + }, }, E12D { w0: u384 { limb0: 0x2ee816637d0ff936afb8192a, limb1: 0x771b55e7479b197971b078f1, limb2: 0x809429f842e6085d43c2dfd8, - limb3: 0x12623c6450560ceb87d1c6ad + limb3: 0x12623c6450560ceb87d1c6ad, }, w1: u384 { limb0: 0xeb6d6091ca6ac5b35b99eba4, limb1: 0xa6a7a574ab4b881d5074fc7d, limb2: 0x43a56d15e2274855ea77e5a1, - limb3: 0x16be7b0f604c838b37f1e747 + limb3: 0x16be7b0f604c838b37f1e747, }, w2: u384 { limb0: 0x555b0c9f5c07106cbb3f5fc5, limb1: 0xef42d2fe6dacaee0528364c4, limb2: 0xbd41cc43f3df8706302622af, - limb3: 0xe2dcea4824247cacbfc4297 + limb3: 0xe2dcea4824247cacbfc4297, }, w3: u384 { limb0: 0x93fb255d08dc8e71b39fb796, limb1: 0x1da87c5554ed815d4aac7141, limb2: 0xbaf8fdb0836e7741b324217f, - limb3: 0x19e568ec730b0d8fd4db5525 + limb3: 0x19e568ec730b0d8fd4db5525, }, w4: u384 { limb0: 0x200e327ef349bbef548d1776, limb1: 0xb2d456abe3bf1e04b5899611, limb2: 0xae05f54f4449a81f4604671, - limb3: 0x162689b2975c2604e0a4685c + limb3: 0x162689b2975c2604e0a4685c, }, w5: u384 { limb0: 0xc6b02b729ad74be636166fc8, limb1: 0x2cfefc55cda91fd7a951573a, limb2: 0x8867af21f665b7a7fd8a6f02, - limb3: 0x176cd52f992ba8fed217c160 + limb3: 0x176cd52f992ba8fed217c160, }, w6: u384 { limb0: 0x6c354775c20d8791793669d2, limb1: 0xf380243d419f9aec61c9e9e4, limb2: 0x24ab6a5a78f417f251ab18b2, - limb3: 0x19f302018bfc588d7199c144 + limb3: 0x19f302018bfc588d7199c144, }, w7: u384 { limb0: 0x52f43e2d2f77df98fb709a0c, limb1: 0x294172d5620df7163a2e150e, limb2: 0xf24eacdd84d1f5d70b8b68c1, - limb3: 0x162d18d8dab6547e5a096d2f + limb3: 0x162d18d8dab6547e5a096d2f, }, w8: u384 { limb0: 0x892c129896da39f99f72f0e2, limb1: 0x2c40af61fe531cc67546a683, limb2: 0xbccbe0a4026db352047dffba, - limb3: 0x8a6b4810628e934e1415956 + limb3: 0x8a6b4810628e934e1415956, }, w9: u384 { limb0: 0xa206e84f0a4d23df6ff06511, limb1: 0x8cbf6576156d7285ec9f1b68, limb2: 0x116d55d1a59d130f52984060, - limb3: 0x15d4804fc77d3471b7bf1405 + limb3: 0x15d4804fc77d3471b7bf1405, }, w10: u384 { limb0: 0x531e0c7406043a22ea3e34ad, limb1: 0x8d1faf249e41a0a2e8ac800f, limb2: 0xad7bce015e4d3978fb0cdda1, - limb3: 0xf30f8063668661ca0ebd8c2 + limb3: 0xf30f8063668661ca0ebd8c2, }, w11: u384 { limb0: 0x1533da47d1c4ea429dfd2495, limb1: 0x1c5bdfdd4dc1b9d6e11ffb51, limb2: 0x853362ef8f300727f4ea8d73, - limb3: 0x2619aecebc65f8daf270bae - } + limb3: 0x2619aecebc65f8daf270bae, + }, }, E12D { w0: u384 { limb0: 0x616ca54bea5ef71f6286e9db, limb1: 0x6ce5a76d2b62972a2ab13707, limb2: 0x32b53a08c2162aa1ee95a837, - limb3: 0x128bfd33226c297592d19ded + limb3: 0x128bfd33226c297592d19ded, }, w1: u384 { limb0: 0xcc4facfcbbb91a1e3c3a9aba, limb1: 0xa590e0a709daa71b0d6fd371, limb2: 0x906ab38c0a9cfc5bd91564f2, - limb3: 0x14da16be5a21292efdfabb0c + limb3: 0x14da16be5a21292efdfabb0c, }, w2: u384 { limb0: 0x81a973e5217a805d0f888a36, limb1: 0x58274f5c6f509cde4b0f4e5a, limb2: 0xc2440a9e7e7a7a859779f0ba, - limb3: 0x14521550f97d6648241075e6 + limb3: 0x14521550f97d6648241075e6, }, w3: u384 { limb0: 0xb2a9bd1fcaf992c0021668eb, limb1: 0x9ccf56b74f1ab26b6d6ab9be, limb2: 0x816fe549db002a04eedb9e09, - limb3: 0x169e5ef8091dccbfaa89609f + limb3: 0x169e5ef8091dccbfaa89609f, }, w4: u384 { limb0: 0x71582a7c30020dc2781a23de, limb1: 0xfa09bff3c0432c74e8fb9782, limb2: 0xc060bc37bb18f1f165fe9f21, - limb3: 0xd0d60bbfe488a8943c7382 + limb3: 0xd0d60bbfe488a8943c7382, }, w5: u384 { limb0: 0xe51c7d600a303222b1443dd5, limb1: 0x2c421d1581bad4b1ce684362, limb2: 0x240e5e597ff47e268342bc08, - limb3: 0x2ae81d2fb3dbf1912e36c66 + limb3: 0x2ae81d2fb3dbf1912e36c66, }, w6: u384 { limb0: 0xf0cc1dc4593248465748b59c, limb1: 0x9a31a99ab145a54bccce7dea, limb2: 0xed2c2e4617c78555f7d61215, - limb3: 0x5e6d735233a245b22780211 + limb3: 0x5e6d735233a245b22780211, }, w7: u384 { limb0: 0x88de0b5fd8db35069051139b, limb1: 0x52bcf4adb04aae5a93d1eb1a, limb2: 0x5860e277e6ce67cd26925a08, - limb3: 0x1541095aedd2a87a36fce5cb + limb3: 0x1541095aedd2a87a36fce5cb, }, w8: u384 { limb0: 0xb79b773a3df8822db5cc474e, limb1: 0x17206d8a558c6ec7b445f402, limb2: 0x5aeeec6a9815c02665ce217e, - limb3: 0x10abc052332b3bb7fc3fadd4 + limb3: 0x10abc052332b3bb7fc3fadd4, }, w9: u384 { limb0: 0xeaa86f676206f32bf7169228, limb1: 0x4432637a0bd250d8204fafdb, limb2: 0xc1396d9dfe01fbec380c12d9, - limb3: 0xeae8fbe6d882b3953e92e72 + limb3: 0xeae8fbe6d882b3953e92e72, }, w10: u384 { limb0: 0xf618e52b9429f1e88d3f1251, limb1: 0x1c25dcfe5d75ecd687176354, limb2: 0xf37879c40f1da5f52a2cdb38, - limb3: 0x81232dec101c7c15928ab21 + limb3: 0x81232dec101c7c15928ab21, }, w11: u384 { limb0: 0x40b603d2425b79cd710ee557, limb1: 0xdbb0b89a3646397437da8f84, limb2: 0x60e361e4ee2f67acda38b14e, - limb3: 0x88d292cadc4d714c0f31fc7 - } + limb3: 0x88d292cadc4d714c0f31fc7, + }, }, E12D { w0: u384 { limb0: 0xfde925b26590efd93b29dc21, limb1: 0x79fa334e9e39f1cf6d597f85, limb2: 0x351ca1e01bd6f669cfc33a39, - limb3: 0xaacd403561cecaae25da3e8 + limb3: 0xaacd403561cecaae25da3e8, }, w1: u384 { limb0: 0xfbf49b1ca286c7f34ca70db4, limb1: 0x52ae3e3ca34e2a102d3e8acb, limb2: 0xee70f348286b4f214b7e2a44, - limb3: 0x19adc6e6dd23e9b87918f0d3 + limb3: 0x19adc6e6dd23e9b87918f0d3, }, w2: u384 { limb0: 0x360cc29b8f16a161f0bb5695, limb1: 0xe23f0c483bc3484ccfbbf75, limb2: 0x544f00069e83cfa220de35a4, - limb3: 0x145f89ec3fbc9c19593fae68 + limb3: 0x145f89ec3fbc9c19593fae68, }, w3: u384 { limb0: 0x32d82fd5786426e4f0249f0e, limb1: 0xaac0cc9febb225961afd999e, limb2: 0xbfd0b5657b2f0e275599ec2d, - limb3: 0x64ea70d1faa0e80ec792a74 + limb3: 0x64ea70d1faa0e80ec792a74, }, w4: u384 { limb0: 0x836319c6483c95a22c9308b9, limb1: 0x9d0fcdd8c80002b659c474b7, limb2: 0xc44e2984149175f867392f06, - limb3: 0x13fdf1738cceefd7c77fccba + limb3: 0x13fdf1738cceefd7c77fccba, }, w5: u384 { limb0: 0x38b69c65caedae1d60f4a6b, limb1: 0x476a63341944240588cd40a, limb2: 0x2c822ad9edb35cdb9398c48a, - limb3: 0xfbd30b4e1561b17fad5975c + limb3: 0xfbd30b4e1561b17fad5975c, }, w6: u384 { limb0: 0xaa5dda2031d51398be5cdaa, limb1: 0x838072096046591839743da0, limb2: 0x4b2dbad7c26ef3e750e7e8da, - limb3: 0xeda6a14042c9d4e7bf9b02f + limb3: 0xeda6a14042c9d4e7bf9b02f, }, w7: u384 { limb0: 0xfcc892c0fbf45ec567cf21aa, limb1: 0xad6b081ad539e5b3f081e6ea, limb2: 0x9e60e7c195d26421d13f4687, - limb3: 0xe642044d3f37f6ea8897f42 + limb3: 0xe642044d3f37f6ea8897f42, }, w8: u384 { limb0: 0x9d04e86c9b4834f0738e451a, limb1: 0xd9105203107ce7a46d995976, limb2: 0x9706b8693910cb373cb60d32, - limb3: 0x14d8f8c68cdab040e35a108a + limb3: 0x14d8f8c68cdab040e35a108a, }, w9: u384 { limb0: 0x9210fb0d45f1817d93bd99fc, limb1: 0x23c86949a3759639599da994, limb2: 0xdda9c2a5d34994981322c82b, - limb3: 0xb4dc029e7276741f11943fc + limb3: 0xb4dc029e7276741f11943fc, }, w10: u384 { limb0: 0xe89745492c1f82b80e23c8d0, limb1: 0xb9c873781b1837885be73f64, limb2: 0x77070c688a2a77abbe11888, - limb3: 0x86daf906e8a95c38a3b481b + limb3: 0x86daf906e8a95c38a3b481b, }, w11: u384 { limb0: 0x72251fa4e076caba8d7e2596, limb1: 0xe91daee82b59abd08a9cb5ac, limb2: 0xc5e4c8122cacedd33cea5be8, - limb3: 0x2fb080bcdfe8c56c90fca2c - } + limb3: 0x2fb080bcdfe8c56c90fca2c, + }, }, E12D { w0: u384 { limb0: 0x6cdf3812d7d2ec500440d2bb, limb1: 0xcde664d9abf0e6043be0c188, limb2: 0x16e42aa6f1a259a62ebff4b, - limb3: 0x144527f2e63badeffe2607e + limb3: 0x144527f2e63badeffe2607e, }, w1: u384 { limb0: 0xc82526bfc5a307f2b9e9e30b, limb1: 0xdf63ab3c0f39d7908dde39ce, limb2: 0x257aa1bc6dc3a1e2b2cb1136, - limb3: 0x4f7492f6a900520c078efba + limb3: 0x4f7492f6a900520c078efba, }, w2: u384 { limb0: 0x5ae59b52a5576a972231e4f4, limb1: 0x6fdf79c79aaa7ee533f448ae, limb2: 0x9a6dd69f434272d73d12bd40, - limb3: 0xbaa39a35a43b44bce2325d5 + limb3: 0xbaa39a35a43b44bce2325d5, }, w3: u384 { limb0: 0xe504a48ed83f8bcd77382d00, limb1: 0x1fdb6ea298ac1c3c0af7522d, limb2: 0x56227bf372218d4677e592a8, - limb3: 0xcaec0e91d882a292e585313 + limb3: 0xcaec0e91d882a292e585313, }, w4: u384 { limb0: 0x4f8be2e79b7ba3a3ac9da613, limb1: 0x7219bc5c36dcdeea294b1d83, limb2: 0x9f27e9cd48a9ee4d3e2c6383, - limb3: 0x308909137cc1584e7cb9186 + limb3: 0x308909137cc1584e7cb9186, }, w5: u384 { limb0: 0x7834a99d69b1f3e2b42bdcd3, limb1: 0x300aced389ad9948ca1d8c39, limb2: 0xfe3f888a08ed761acee1b1c, - limb3: 0xdd41de0f3e2890eefbaaf79 + limb3: 0xdd41de0f3e2890eefbaaf79, }, w6: u384 { limb0: 0xca9ab9a1739b5f5137d4ac40, limb1: 0x9ba2e33a23bc2b27e91bc510, limb2: 0xdc366bc48c0a8720af349c88, - limb3: 0xc940b71841009914f7f29dd + limb3: 0xc940b71841009914f7f29dd, }, w7: u384 { limb0: 0x7711c3dd44d84334bd207762, limb1: 0xba355253aea149c9d273461c, limb2: 0x8a45011ad06e5acfea138ae1, - limb3: 0xd1b7d2bb8587892435f528e + limb3: 0xd1b7d2bb8587892435f528e, }, w8: u384 { limb0: 0xd5c10f3e091a9acaf0886474, limb1: 0x626c2a14805abbb07cae8876, limb2: 0x66356be50aa68d09b54f071c, - limb3: 0x3f1c0a601bbe3f6575e7477 + limb3: 0x3f1c0a601bbe3f6575e7477, }, w9: u384 { limb0: 0xfb4552ccdf1883dbe077d13e, limb1: 0xd8b4b21222a465176a4c7744, limb2: 0x7347818431aab5489408c638, - limb3: 0xf9d77cf7abe38162019e8df + limb3: 0xf9d77cf7abe38162019e8df, }, w10: u384 { limb0: 0x81aadeeb9df873401f32a628, limb1: 0xb93520f726c2d052f5b116d5, limb2: 0xd00b2c5d62680f3fc93d9a6, - limb3: 0x17b559291ebbfe6e0574534c + limb3: 0x17b559291ebbfe6e0574534c, }, w11: u384 { limb0: 0x9ad70ac80ce3b8527270dc24, limb1: 0x5fbd9b265250614247c4f157, limb2: 0xf0322eaaa789d68a0f83c8f6, - limb3: 0x1323275b562dca758c81b1d4 - } + limb3: 0x1323275b562dca758c81b1d4, + }, }, E12D { w0: u384 { limb0: 0xaba7980a06ebfac9ddd04a09, limb1: 0x26ef9c306f336efa100b11ba, limb2: 0x40393c1afce51c8f52083a5b, - limb3: 0x88c312a356277e9545f6421 + limb3: 0x88c312a356277e9545f6421, }, w1: u384 { limb0: 0x50fe671710174daa78e31dcf, limb1: 0x5a2428575d62b8bbdc6bdce1, limb2: 0x18dbe1b6cdb06e3ecd5497b2, - limb3: 0x63e9335b2697eb47a466830 + limb3: 0x63e9335b2697eb47a466830, }, w2: u384 { limb0: 0x243fcb55d2e8070937b2e5f2, limb1: 0xb3f0fd54bf8cd30335f72fb8, limb2: 0xdc36b46d1bd1ccd2d5c317e6, - limb3: 0x54fa05e31dcddca0b10647b + limb3: 0x54fa05e31dcddca0b10647b, }, w3: u384 { limb0: 0x178a369ede0d5f33b4088124, limb1: 0x688173ffe450814fda34adaf, limb2: 0x679b60cfa4fa68f7064b124, - limb3: 0x5c210fb56be682d3515a22c + limb3: 0x5c210fb56be682d3515a22c, }, w4: u384 { limb0: 0x80e33e3e2bde4084c4ecc31b, limb1: 0xcc13974ef64aef9cde3aa9f3, limb2: 0x9f66e9c5ad97d198a2226f6d, - limb3: 0x25b15dff2c6064ec8a6bc71 + limb3: 0x25b15dff2c6064ec8a6bc71, }, w5: u384 { limb0: 0xfefac90d2c27ea76fadfbdb6, limb1: 0xe6bcda36951c314c5fd2ca9d, limb2: 0x6b32e67596b531b9529cf2e9, - limb3: 0x652300a58d5cd6e4e248a96 + limb3: 0x652300a58d5cd6e4e248a96, }, w6: u384 { limb0: 0xb39dcebf1162dc60631b50e, limb1: 0x9a904262c61ce054c078710b, limb2: 0xcc950e9965a1b3d7a42d94ac, - limb3: 0x83f7f8554815facc18fdac1 + limb3: 0x83f7f8554815facc18fdac1, }, w7: u384 { limb0: 0x4628f9c8fe8de0ab7b878521, limb1: 0xd4e2dc674f4251bb6dcab9c7, limb2: 0x5e6b8ac26ebd553eca2d6af9, - limb3: 0xa69e14fdd6b8c0a24bc8494 + limb3: 0xa69e14fdd6b8c0a24bc8494, }, w8: u384 { limb0: 0xdcddcf1a486e8fa5de038782, limb1: 0xda495c8e9a173872cff839fe, limb2: 0xd503a115971a590b4ca5c531, - limb3: 0x140f92b94c08399b9f00c46 + limb3: 0x140f92b94c08399b9f00c46, }, w9: u384 { limb0: 0xf45410cf50b2db223627396f, limb1: 0x518dc7a16e20322edfd1dff7, limb2: 0xb0ad958b70aea0c767e3cf28, - limb3: 0x8d2d63cfd448ce80af04fbf + limb3: 0x8d2d63cfd448ce80af04fbf, }, w10: u384 { limb0: 0xa26f24a5d5acdbebb6ae2597, limb1: 0xa754c3d093f65f02627ef393, limb2: 0xc700c9fe30406f4b29029911, - limb3: 0x13f157503df37670cdec5bb5 + limb3: 0x13f157503df37670cdec5bb5, }, w11: u384 { limb0: 0xf73127358c0f9e89e02146ec, limb1: 0xee6055a98cfdb3d7bbfb9469, limb2: 0x5e382cbaff9a0c1e152cfde9, - limb3: 0xd2db85a3b0103b4fd8b4beb - } + limb3: 0xd2db85a3b0103b4fd8b4beb, + }, }, E12D { w0: u384 { limb0: 0xb0034c0dc0470e3bd056c655, limb1: 0x68739ef9acf49ed16185f94b, limb2: 0xe5397364df8b3c4eccbd060e, - limb3: 0x12bc87cbeb825883cab4c21f + limb3: 0x12bc87cbeb825883cab4c21f, }, w1: u384 { limb0: 0x9a4f283376c9c46e6f449d80, limb1: 0x3f034aefed75e2faacf1d862, limb2: 0x7716ffd86a4f3673375706fb, - limb3: 0x3346cfcd71ef93e7f3e58ec + limb3: 0x3346cfcd71ef93e7f3e58ec, }, w2: u384 { limb0: 0x752d55436d4f77575db3ba3a, limb1: 0x4b21615ce3a76f38e73528e1, limb2: 0x2a79467dd6ca41febd836ed5, - limb3: 0xe7558f44fcb9ba3b991a46d + limb3: 0xe7558f44fcb9ba3b991a46d, }, w3: u384 { limb0: 0x90b74252285317a40a980d51, limb1: 0xf625a1046957406fd64d36a3, limb2: 0xdd287597f3eb9e33e82d2677, - limb3: 0x19d79ac4ee250bd2e0f365fd + limb3: 0x19d79ac4ee250bd2e0f365fd, }, w4: u384 { limb0: 0xe7b8ebf0928a50cdc097ca80, limb1: 0x1c75acb67a4fbd8038084a85, limb2: 0x6700cd4270fb401157a956ef, - limb3: 0x11c418010389f02167f7d294 + limb3: 0x11c418010389f02167f7d294, }, w5: u384 { limb0: 0xe7311b3c007c2ffeaf935df6, limb1: 0x3a969f26bacb20feb532ccae, limb2: 0xad9c7997e6a29e0dae2f57c1, - limb3: 0x31d45316bbd38e161892ba1 + limb3: 0x31d45316bbd38e161892ba1, }, w6: u384 { limb0: 0xb836ac5fff285b97a9cfaf8a, limb1: 0x11e79fa6603cfd51966395a6, limb2: 0x241907be43b9b971573a8e1, - limb3: 0x50b992346863b906e942433 + limb3: 0x50b992346863b906e942433, }, w7: u384 { limb0: 0x77884fb393767a1d533c0b8a, limb1: 0x75a3dfc2b4ed6292b7de2d3, limb2: 0x8db56997d672b7b27505e3ff, - limb3: 0xfd375b7c1ed070088edeb4b + limb3: 0xfd375b7c1ed070088edeb4b, }, w8: u384 { limb0: 0x217ce46babc14c3e6f804698, limb1: 0x8d2f38976a56c1930e0f9ef2, limb2: 0x206cf46bdd9bb85ec1788dfb, - limb3: 0x69879bad0032e0b666ef550 + limb3: 0x69879bad0032e0b666ef550, }, w9: u384 { limb0: 0xfa6e30d2ab6ea25256a7006d, limb1: 0xad6c71121a695eeb476a4cbe, limb2: 0x9ded25624cae3f7bfed45fa7, - limb3: 0xbdc0cac28fed44c8a9974a6 + limb3: 0xbdc0cac28fed44c8a9974a6, }, w10: u384 { limb0: 0x5f32e37fb43e4fbcd4382886, limb1: 0x25a8be4ff2142fae23203a90, limb2: 0x141071f19b469cc0cdbf36e4, - limb3: 0x152a566ca9d531e91f06c8d3 + limb3: 0x152a566ca9d531e91f06c8d3, }, w11: u384 { limb0: 0xa9e30bf7189793c3dae917d9, limb1: 0xcecc2f8cf114f38941cc16e7, limb2: 0x55a8efcb2983963fd1c5d7ea, - limb3: 0xe0d3178bc1e4a9281acc39d - } + limb3: 0xe0d3178bc1e4a9281acc39d, + }, }, E12D { w0: u384 { limb0: 0x85d69f2d431d2c6f1afe22b3, limb1: 0xeb3b3ba1d64653e590a78169, limb2: 0xf2df045d48326a6371a5bffa, - limb3: 0x120ea922564a9885abce0f6e + limb3: 0x120ea922564a9885abce0f6e, }, w1: u384 { limb0: 0x5de8b63bf3968b010da3bef4, limb1: 0xd788608863c1a08d747106fa, limb2: 0xde6d5d9aae8e97f0c2158038, - limb3: 0x1832c580f19d3f73da7dd439 + limb3: 0x1832c580f19d3f73da7dd439, }, w2: u384 { limb0: 0xf2a1d0325fe6caa419acdc37, limb1: 0x90897834506f8faa6976e0b9, limb2: 0x200e730ee8dba54a64266bdb, - limb3: 0x3f427d2880d6471c9b2cec4 + limb3: 0x3f427d2880d6471c9b2cec4, }, w3: u384 { limb0: 0x854fb7b9e02882e8e2d3461e, limb1: 0xc7211649b2fbdb298e6b4935, limb2: 0xaa8bc4976bc2349ad9bb313c, - limb3: 0x1557211bab3b60506b310219 + limb3: 0x1557211bab3b60506b310219, }, w4: u384 { limb0: 0x485d0305732c8c1f4d6b6f2a, limb1: 0xfed07e935e4f20dda4935b1, limb2: 0x2504416e43da5cbf988bf0c, - limb3: 0xfd13a11b696f3d323002b0a + limb3: 0xfd13a11b696f3d323002b0a, }, w5: u384 { limb0: 0xb39dcfe5381fa64cbe569124, limb1: 0xfcc10e3db88ee4c11ab8b90c, limb2: 0x7f3dc79e449233c3c05cd4cc, - limb3: 0x1a68d8218a4a298083c7ac2 + limb3: 0x1a68d8218a4a298083c7ac2, }, w6: u384 { limb0: 0x402d97fd8c450137963dc715, limb1: 0xbaabab131fbf75f84b8c4d09, limb2: 0xeac1634a2ef470848b63e082, - limb3: 0x18020a7c33b6e6def47b23a7 + limb3: 0x18020a7c33b6e6def47b23a7, }, w7: u384 { limb0: 0x40747eb2ed38084318c5fd6a, limb1: 0x79c80f12fd1e9512f4c815d1, limb2: 0x3a48a5fc5d3e961ef0543995, - limb3: 0x5c22e5ce258b23d32382246 + limb3: 0x5c22e5ce258b23d32382246, }, w8: u384 { limb0: 0x58fdf5cf39bed59b75a08248, limb1: 0xf73f318ea3a19e93473249fa, limb2: 0x302354c7cec45c0f4e22be73, - limb3: 0x45dc87c70a7f4551180d0af + limb3: 0x45dc87c70a7f4551180d0af, }, w9: u384 { limb0: 0xea611623da31b1471f9b932, limb1: 0x32719fa75ff0141d7348d0e9, limb2: 0xb45905063c07e8c33fb9b2e9, - limb3: 0x687c2df9d7f663be99d9468 + limb3: 0x687c2df9d7f663be99d9468, }, w10: u384 { limb0: 0xf1d27eab29c68003c6c210e1, limb1: 0xb8843060c4bc968cb7982d1b, limb2: 0xeea7620d6be4c290ade9a4fa, - limb3: 0x18fe77343f6e8206f89b9744 + limb3: 0x18fe77343f6e8206f89b9744, }, w11: u384 { limb0: 0xa444a56f7e397cfafb6930c8, limb1: 0xdae564fe2862cf1cdcad16c0, limb2: 0xbc4f53f2efefa51fdfac4891, - limb3: 0x551ab423ade813eabb16804 - } + limb3: 0x551ab423ade813eabb16804, + }, }, E12D { w0: u384 { limb0: 0x5e957ccda4f73f9215fb110d, limb1: 0xdc36a49661989b5a3b5d79ee, limb2: 0xdec6eba0b4700511ff1300cc, - limb3: 0x124c0cd615ff328b360ee2b9 + limb3: 0x124c0cd615ff328b360ee2b9, }, w1: u384 { limb0: 0xb236047e323f07b02f2ec515, limb1: 0x583e5738966fa3a8aad40f7f, limb2: 0xccd1bc05a2119220b4544232, - limb3: 0x780b2230acf081408bbcdda + limb3: 0x780b2230acf081408bbcdda, }, w2: u384 { limb0: 0x260e2e2d6b359ac7810e7275, limb1: 0xbd1696a0a3bd92fa7fc31844, limb2: 0x742ff3c39bf81cbb48fa4a4b, - limb3: 0xfe258a1791cd92b4ef3e60e + limb3: 0xfe258a1791cd92b4ef3e60e, }, w3: u384 { limb0: 0x54d88d0d9b96f02414851b3f, limb1: 0x55334650ffc5ec8e900a1d3b, limb2: 0xad3cb70cc267b5f757f7cef6, - limb3: 0x794700e48a5eb285c05ed22 + limb3: 0x794700e48a5eb285c05ed22, }, w4: u384 { limb0: 0x1b66b0589fd79fc234125121, limb1: 0xbda857f94889f518fe44cf86, limb2: 0x9370106e7bd9937a478134d4, - limb3: 0x167eb12b6b3572f0a3aca9d2 + limb3: 0x167eb12b6b3572f0a3aca9d2, }, w5: u384 { limb0: 0x375981f086e8cb4ef19fc188, limb1: 0xbdbe1a3fc397484a93a2b29c, limb2: 0x7a02a3f5fa8210e8f14b2276, - limb3: 0xc67f4b31546be3553dd2985 + limb3: 0xc67f4b31546be3553dd2985, }, w6: u384 { limb0: 0x600f009107ab2a1da4997be, limb1: 0x69994acdcbfbe38056baf6f5, limb2: 0x11ccdd90a6781a41f22c760f, - limb3: 0x13c5f50c127cb29bc0d17999 + limb3: 0x13c5f50c127cb29bc0d17999, }, w7: u384 { limb0: 0xffe9f03f0aa94835f9525c88, limb1: 0xfdde4a867496327c5043cc57, limb2: 0x3f6144c573c696e50855fc1, - limb3: 0x6b94fcad15ff18a3c2f248f + limb3: 0x6b94fcad15ff18a3c2f248f, }, w8: u384 { limb0: 0x8884346bdd2a3341fc7322cd, limb1: 0x93ab61c19fa719030de7cc2a, limb2: 0xc757ba65e13b170ca901db80, - limb3: 0x100f6a0711ba91a6f1b251b2 + limb3: 0x100f6a0711ba91a6f1b251b2, }, w9: u384 { limb0: 0x12a6e600d76166876d9b3f52, limb1: 0x414068fe6847dd8ebae8539, limb2: 0xa76a533d9740918d76a56dcd, - limb3: 0x5dc91d58b53e3e96acd6def + limb3: 0x5dc91d58b53e3e96acd6def, }, w10: u384 { limb0: 0x718ec50c1dac99c6d874f4e7, limb1: 0x16d6a04ccba7bbefb03d6951, limb2: 0xeb4c2625dd73b31f645168c4, - limb3: 0x6afd115d3d01e4b290b84e5 + limb3: 0x6afd115d3d01e4b290b84e5, }, w11: u384 { limb0: 0x52b5c082cd25730db3a34738, limb1: 0x6967f7eb2ca4e4a712dc0131, limb2: 0x5c5e6c3183d02ccca35ce987, - limb3: 0x757bb566047196e238a8b26 - } + limb3: 0x757bb566047196e238a8b26, + }, }, E12D { w0: u384 { limb0: 0x7c9854d25a3cb0be4d2f40d7, limb1: 0x43fd00e1f4a86259c11e88ef, limb2: 0xe994cfcb5001b763f7901bb1, - limb3: 0x86155b09edadffde4dfbbd7 + limb3: 0x86155b09edadffde4dfbbd7, }, w1: u384 { limb0: 0x304a578df65f91fee6b573c4, limb1: 0xec0472b755f143bbb562ab87, limb2: 0x7277a095088372ca3f0a1d27, - limb3: 0x197e53f43b82cae3374c44d8 + limb3: 0x197e53f43b82cae3374c44d8, }, w2: u384 { limb0: 0xe11977e635d061e6b989c868, limb1: 0x1e500845921807459e23651b, limb2: 0xbec3e77afae83a1c5ea6abfb, - limb3: 0x14e286717a22a735ed2bc0ee + limb3: 0x14e286717a22a735ed2bc0ee, }, w3: u384 { limb0: 0xa1e676b1afa2d9ce1870874d, limb1: 0x7091d51696fde538628c1f6a, limb2: 0x96df8da6c99457376c4a33a9, - limb3: 0x8e98a801b4c9ab4aa5d063f + limb3: 0x8e98a801b4c9ab4aa5d063f, }, w4: u384 { limb0: 0xc02c8f24e55e6d222f17ca30, limb1: 0x76dd4ee9d6b6332479504760, limb2: 0x197e8f329510abb24930400a, - limb3: 0x16a154ff6848bf4bfdb82d9 + limb3: 0x16a154ff6848bf4bfdb82d9, }, w5: u384 { limb0: 0xbba922639ae8bf28d410a19c, limb1: 0x3086e9cd8bb7de09c46ea5d1, limb2: 0x38963f320b7441e9d6a77a5a, - limb3: 0x12abf3a5df31ef34b735b45b + limb3: 0x12abf3a5df31ef34b735b45b, }, w6: u384 { limb0: 0x8a1312c4fa12d188aa5a2fc5, limb1: 0xc1a534c21fe8d43d46d061c4, limb2: 0x19cca041bdb84797c38dd77c, - limb3: 0x90f272bc677afbf4ea47fdb + limb3: 0x90f272bc677afbf4ea47fdb, }, w7: u384 { limb0: 0x742fc53d89d385243fcac586, limb1: 0x9f1522d5dee448f1ea0bd110, limb2: 0xa6e48bd6c1d03e300f33a7be, - limb3: 0x14f218097b54f125db0fa277 + limb3: 0x14f218097b54f125db0fa277, }, w8: u384 { limb0: 0x4e8d1c9d0611bff11b73be65, limb1: 0x1d75932dc0fd9604caeee1db, limb2: 0xc738ab9f0ad9baad911e4207, - limb3: 0x6e45511232a9e5d4095e985 + limb3: 0x6e45511232a9e5d4095e985, }, w9: u384 { limb0: 0xd52cce486c7f42104e9f3b7a, limb1: 0x58b30b3f567ae170e66d8aa9, limb2: 0x5e34ff47bd1c3c1eeda2872d, - limb3: 0xe250f5f3302568adb516219 + limb3: 0xe250f5f3302568adb516219, }, w10: u384 { limb0: 0x7c9a5e6eca301db139ad106, limb1: 0xc2b3cc3e715be6a7efe28f96, limb2: 0xd6d1ca55ddaaf9abf16efb04, - limb3: 0x10c5de68ac532bc3f398aed4 + limb3: 0x10c5de68ac532bc3f398aed4, }, w11: u384 { limb0: 0x5256c2f9aaa56fdfffc2caff, limb1: 0x90c30061f644a4c3d03f5830, limb2: 0x851db2eca15852453ab2d70e, - limb3: 0x201ae57b8bd651a9a211245 - } + limb3: 0x201ae57b8bd651a9a211245, + }, }, E12D { w0: u384 { limb0: 0x107a402a8e5fd3d6694e2491, limb1: 0x2fcd3a87cd5349af3c857428, limb2: 0x5e7694bbf0930a85be56591b, - limb3: 0x7d93547fc3384cad47215e5 + limb3: 0x7d93547fc3384cad47215e5, }, w1: u384 { limb0: 0x2d9484d3a15699a7a1f5cdb8, limb1: 0xf1552b9e00277c8adf417bff, limb2: 0x797fa3b98f9243d4b02d9431, - limb3: 0xee3f7dfe449d9914888e159 + limb3: 0xee3f7dfe449d9914888e159, }, w2: u384 { limb0: 0x8cb567b9cd6c029b00fc4e41, limb1: 0xa86ba8941e760df1c880b78e, limb2: 0xe39f860fa3f881c589990047, - limb3: 0xcd133ff0a3d963a38f16788 + limb3: 0xcd133ff0a3d963a38f16788, }, w3: u384 { limb0: 0x6e71601b16aa6640cfd5d5de, limb1: 0x1e4d16be3edc7039f570f547, limb2: 0xe015353d569f8688f394214f, - limb3: 0x59546e8ca3e361bfa7f3414 + limb3: 0x59546e8ca3e361bfa7f3414, }, w4: u384 { limb0: 0xcba11f8010fcb1b7018d4942, limb1: 0x1936e2410861c27516ef1950, limb2: 0xba1a67208cba4d4c43b6eb14, - limb3: 0xf3d199823dda0ca4ce0f913 + limb3: 0xf3d199823dda0ca4ce0f913, }, w5: u384 { limb0: 0x4141a8ab05e48332c7a97101, limb1: 0xc11b08f6a7ade95596c91b9d, limb2: 0xc60f61f46ada4e329659dad5, - limb3: 0xc713a291ca63d714b43b773 + limb3: 0xc713a291ca63d714b43b773, }, w6: u384 { limb0: 0xfd82de6406270dbaa131943c, limb1: 0xd30c660ecf76e1ca4ca5df67, limb2: 0x7a3ac1af7f68fe980f73984f, - limb3: 0x51b9df004712c0a919c1021 + limb3: 0x51b9df004712c0a919c1021, }, w7: u384 { limb0: 0xca9fe85418e99c70b24bfbc9, limb1: 0x6c09ab753fa1bd7e5eb72928, limb2: 0x29ac58579f2e59649b78e304, - limb3: 0x19bd14410529841d8976139b + limb3: 0x19bd14410529841d8976139b, }, w8: u384 { limb0: 0x24dbe1d4f02d7ef87c2cb830, limb1: 0x16bd5c02c49e80904866a252, limb2: 0xaf1a9309f3303d6c367356ea, - limb3: 0x1e19bba8cf8459f8f4dfd36 + limb3: 0x1e19bba8cf8459f8f4dfd36, }, w9: u384 { limb0: 0x2d779d40ef68e8d88e174d50, limb1: 0x3e8cddfef78f63c6b4492711, limb2: 0xcc77ab33895f03cb0526a45f, - limb3: 0x125fdd8cf5eb4cbf87136c28 + limb3: 0x125fdd8cf5eb4cbf87136c28, }, w10: u384 { limb0: 0xdc1c3be866980e02cb6c6552, limb1: 0xa95aa3b3e5bd3b4f9e44b20d, limb2: 0xb044b29c621e7b2dad2234c1, - limb3: 0xce6623d2aafe10b6e17cfdf + limb3: 0xce6623d2aafe10b6e17cfdf, }, w11: u384 { limb0: 0x60124efd5e01a25ae6df0508, limb1: 0x721f5b9120ddb48b58c45e92, limb2: 0x1dd4bdf5f24d952ff670777d, - limb3: 0x19f4d3c0a17c210e64fdc0d0 - } + limb3: 0x19f4d3c0a17c210e64fdc0d0, + }, }, E12D { w0: u384 { limb0: 0x840e3de720a4548f1da7be6e, limb1: 0x3ac07781ccebe03234a3c070, limb2: 0x60a15844dc5503c9619d9185, - limb3: 0xabb0efbdafc1bf8dba79909 + limb3: 0xabb0efbdafc1bf8dba79909, }, w1: u384 { limb0: 0x35e738bdafcef08554231156, limb1: 0x152ec5c04b5d82140676dcb, limb2: 0x92b8cdb4123580d2823f3463, - limb3: 0x6c6271bd78c3dc0ad928081 + limb3: 0x6c6271bd78c3dc0ad928081, }, w2: u384 { limb0: 0xc0885cc50b00d5788f6bfe71, limb1: 0xe0e2e4020c8e3d3aad0bb4fc, limb2: 0xa03d4b3f246f40eb91edbd0a, - limb3: 0x2ad754c710d3c5a0a9c8aa7 + limb3: 0x2ad754c710d3c5a0a9c8aa7, }, w3: u384 { limb0: 0x150f44c02d8d2ece9cc20e89, limb1: 0xbe88ea3462b0ac825a3f7683, limb2: 0x392c7bdfbcadea15c9ec3776, - limb3: 0xcf868bdeb3044866e335299 + limb3: 0xcf868bdeb3044866e335299, }, w4: u384 { limb0: 0x5e373df33b60f49f245eeeae, limb1: 0x32ccc0c3ab265f108c87af10, limb2: 0x24b304890cb346fddc8baecb, - limb3: 0xa5602cbb5588e7a5347043 + limb3: 0xa5602cbb5588e7a5347043, }, w5: u384 { limb0: 0x79a45fc3a6b3476edccb39ef, limb1: 0x699737a3f0a37ccbf1351d50, limb2: 0x628e055199d024aaae669c51, - limb3: 0xb7a54344f41ac4806f963c + limb3: 0xb7a54344f41ac4806f963c, }, w6: u384 { limb0: 0x56763ce8241e2e4c4ebbfdf, limb1: 0xc7e7f096be44dfd4045256dc, limb2: 0x59d483ad26bd43de0be0f89b, - limb3: 0x115650afb40f7cc9bfc41d67 + limb3: 0x115650afb40f7cc9bfc41d67, }, w7: u384 { limb0: 0xf761296c383bc157c0dc74d2, limb1: 0xf7ae69719276fa4a8f45a7b1, limb2: 0x9519a049398c825b8591fd3e, - limb3: 0x116c67cb21786e95c1a81a42 + limb3: 0x116c67cb21786e95c1a81a42, }, w8: u384 { limb0: 0xf88348b16f829f538445e4ae, limb1: 0x5c59ddf4cb31896b683c0532, limb2: 0x34a2ed13f5d41b79207f2bb2, - limb3: 0xf05b669ee27d19d64a44624 + limb3: 0xf05b669ee27d19d64a44624, }, w9: u384 { limb0: 0x60c0435be32f160a839128b2, limb1: 0x5da4368729030e6e45435c2, limb2: 0xc3225b269d34d229f0daabe4, - limb3: 0x16bd338ab123444102821db2 + limb3: 0x16bd338ab123444102821db2, }, w10: u384 { limb0: 0xbe99f7a76adf1a39fcd16614, limb1: 0x455ad4d2c342a9150c205cdf, limb2: 0x6c7129df025ad6c248cc3e23, - limb3: 0x117d45dac2232adcc3a58865 + limb3: 0x117d45dac2232adcc3a58865, }, w11: u384 { limb0: 0xe7227b87d84291616d163423, limb1: 0x62f024ba3b1eeea3201b342a, limb2: 0xdba6e933ce41754f118a7c3, - limb3: 0xb03ee9bfce34be38e903aa0 - } + limb3: 0xb03ee9bfce34be38e903aa0, + }, }, E12D { w0: u384 { limb0: 0xacbe4cc978644dd3b66d1251, limb1: 0x8b0827e7f460731253c48669, limb2: 0xce9fb3a4b707ceedf9e4ccd5, - limb3: 0x13601ecdfe890ac5b6394083 + limb3: 0x13601ecdfe890ac5b6394083, }, w1: u384 { limb0: 0xf7595a279ff9c75a51e66dfd, limb1: 0xc142b5880c07598137eae9b6, limb2: 0x7a5bc2021f658c6a85627610, - limb3: 0x132b8e30cfd8515a3df346f7 + limb3: 0x132b8e30cfd8515a3df346f7, }, w2: u384 { limb0: 0xf6ba0f17bd64a508a34ff8cf, limb1: 0x74707c027b3fe929fc806de9, limb2: 0x22d365a315971b9f0c206a82, - limb3: 0x19dbbd0c7f94d1f4ee79356 + limb3: 0x19dbbd0c7f94d1f4ee79356, }, w3: u384 { limb0: 0x3f626447ce3814e02b1ec0d7, limb1: 0x5c8f6f2fcf4e7e35083554c4, limb2: 0x8dbaacc8bf9b1754dfc5c7a, - limb3: 0xb35d9b7d542e11dc9367339 + limb3: 0xb35d9b7d542e11dc9367339, }, w4: u384 { limb0: 0xe625bd4cf03325a6336ecd5d, limb1: 0xc3e56498d973b972df22643, limb2: 0x4da8a81d2cb2053b00ea8fcd, - limb3: 0xa642ca8b89b6a1c4e9877db + limb3: 0xa642ca8b89b6a1c4e9877db, }, w5: u384 { limb0: 0x90a8380dd53bc5b94dbe3c0f, limb1: 0x2903c25cab059c295574f591, limb2: 0xb2377f88137b3e6b90d7ef37, - limb3: 0xb7c1e72e24735bde787a674 + limb3: 0xb7c1e72e24735bde787a674, }, w6: u384 { limb0: 0x4773b12414a16ce9d033310f, limb1: 0x9df89f470a41a445b7748c4e, limb2: 0xa96cdf868e25c1dfa2eae25a, - limb3: 0x160d60066e34bef4bf67e8ba + limb3: 0x160d60066e34bef4bf67e8ba, }, w7: u384 { limb0: 0x97741dddbadcd502d93d1ada, limb1: 0x91f945eb520c5683d7d835be, limb2: 0x3acf7014131ff4db19eab525, - limb3: 0xeefb54325e312a77579cfb4 + limb3: 0xeefb54325e312a77579cfb4, }, w8: u384 { limb0: 0x9d6c29377b2addb30bb07eb6, limb1: 0x99fdbae79fab5cf167aff047, limb2: 0x5ade5a8e1c7b6bc090eab03b, - limb3: 0x11d79b9562108c1f05e613e1 + limb3: 0x11d79b9562108c1f05e613e1, }, w9: u384 { limb0: 0x2a7b85423fcc9846cbd9fe8f, limb1: 0xd29258a1f3d53096b5ef7341, limb2: 0x6962bcbf5cd737335faf272c, - limb3: 0xbcf4003e7213cf0a16d92a8 + limb3: 0xbcf4003e7213cf0a16d92a8, }, w10: u384 { limb0: 0x283fa69586ab328da624f05a, limb1: 0xe538df54e03534989f032f90, limb2: 0x8def2c7d92aeadbb57db8dd5, - limb3: 0x1023a83a0bc5f302bc4918a8 + limb3: 0x1023a83a0bc5f302bc4918a8, }, w11: u384 { limb0: 0xf0dd374565f0c70e62ab7914, limb1: 0xdfb1156b56c464fa271bea64, limb2: 0xfb31d547c72f0e06b7e95d05, - limb3: 0x199fffdc2a5a3333d46c2722 - } + limb3: 0x199fffdc2a5a3333d46c2722, + }, }, E12D { w0: u384 { limb0: 0x8f76261cf238884bdcac039c, limb1: 0xf1a631914c8ee95d8d563038, limb2: 0x7ad15fcf82a1de05d7ca78c4, - limb3: 0x17d503bf7c0186f31fb87cac + limb3: 0x17d503bf7c0186f31fb87cac, }, w1: u384 { limb0: 0x12c73d43b1d6e5e93cffbda9, limb1: 0xc8f8aebf2cdb43903aaf1fa8, limb2: 0x5f1bb59cf75e973628df5a3c, - limb3: 0x133637214037ed72a089671b + limb3: 0x133637214037ed72a089671b, }, w2: u384 { limb0: 0x99b289b7c895e0389505ae3e, limb1: 0x807d96bb7abc61490b0b2ae9, limb2: 0xe901e5c6b224704f999bc014, - limb3: 0xb1762e3a5ab01513e934471 + limb3: 0xb1762e3a5ab01513e934471, }, w3: u384 { limb0: 0xc2991401ebd01d353eff0e10, limb1: 0x3f78a46de2ae77e99130d6c4, limb2: 0xe8076c850bd55b9dc399ef14, - limb3: 0x1959a68b64e006097eedd9ca + limb3: 0x1959a68b64e006097eedd9ca, }, w4: u384 { limb0: 0x31f962a10ef81a0e881e9412, limb1: 0xed29acc9384952f5e68bda38, limb2: 0x5ad6682fe35e6be9e495e035, - limb3: 0x53290025191e515d71e6a4f + limb3: 0x53290025191e515d71e6a4f, }, w5: u384 { limb0: 0x1826298b7042b45f2484b705, limb1: 0xf7754a63c6f36ead9c0722a6, limb2: 0x3e19ea5d2569e83b367df44e, - limb3: 0x117cde4851820ba5a6d323a7 + limb3: 0x117cde4851820ba5a6d323a7, }, w6: u384 { limb0: 0xb2c4b66f8d495051b1e92716, limb1: 0xebf594dc49b44c3275b03925, limb2: 0x3e1e370a07e830d358d9d527, - limb3: 0x17f0f608ef7e255a7740e438 + limb3: 0x17f0f608ef7e255a7740e438, }, w7: u384 { limb0: 0xf7eb9970e3d485405ed26e6f, limb1: 0x55504e6108e307d4c105fb01, limb2: 0x37e5a48b0089379bc4d3a960, - limb3: 0x15542f45dbe73bde5df32e74 + limb3: 0x15542f45dbe73bde5df32e74, }, w8: u384 { limb0: 0xfc2e20fbd6973e5782d582f7, limb1: 0xb0d924870a4c93a0ee8de35d, limb2: 0x554637f24083718a82311c10, - limb3: 0x12764367f85796814078b42 + limb3: 0x12764367f85796814078b42, }, w9: u384 { limb0: 0x8fd5bd83ed527a4d26c45fe3, limb1: 0x43b7d218d10ff081da67bf2b, limb2: 0xf9fc937c157ca5ee08088e73, - limb3: 0x119362054157e7dc5658fc69 + limb3: 0x119362054157e7dc5658fc69, }, w10: u384 { limb0: 0xcd2d08d72116be874d6ee56d, limb1: 0x77c4f1eefb4d35ef0221d5b0, limb2: 0xacf3b9162ffc9c289bbf6928, - limb3: 0x2e08e8400c38ac22655b3d3 + limb3: 0x2e08e8400c38ac22655b3d3, }, w11: u384 { limb0: 0xf4d15b649f3d55ead568462e, limb1: 0xb567200eda805f6453c250d7, limb2: 0x7be6abfce3538971d5c5f487, - limb3: 0x9d5f5b42216ceaf147ac21a - } + limb3: 0x9d5f5b42216ceaf147ac21a, + }, }, E12D { w0: u384 { limb0: 0xd347ed30451ff201af63eeca, limb1: 0xad5110b2aeba89322b006323, limb2: 0xf82434189453d69149a0c0a6, - limb3: 0x80326dc5e35502bbce7ac6c + limb3: 0x80326dc5e35502bbce7ac6c, }, w1: u384 { limb0: 0xc83c82247fb95b58a4ee3810, limb1: 0x31a8674c7e68d35d98762cae, limb2: 0x9cfbb7fec0c26829164628ce, - limb3: 0x16bbaaedd62985c32f4e076 + limb3: 0x16bbaaedd62985c32f4e076, }, w2: u384 { limb0: 0x2fa6372a48bfbaadfa13763e, limb1: 0x5e40bda6de39b49e34b6cddb, limb2: 0x112c3d354dca6adf2dca4bbd, - limb3: 0x31f3d996a2adee764770117 + limb3: 0x31f3d996a2adee764770117, }, w3: u384 { limb0: 0xff3ed33234b352e29be10777, limb1: 0xa48ea598a7173580b764c4b2, limb2: 0x4f673c656ed817dd15a35331, - limb3: 0x2789ee0833b95e2a631106b + limb3: 0x2789ee0833b95e2a631106b, }, w4: u384 { limb0: 0x9ac4d1b96cb51db76fdbee0b, limb1: 0x803a0ddd0255fcf6dab7617c, limb2: 0xd6b0af076d77742457695aff, - limb3: 0x43761452a76341901155087 + limb3: 0x43761452a76341901155087, }, w5: u384 { limb0: 0xbe44dbd432d048dd243c8bc3, limb1: 0x98d9d4bdc6a8954684fcdf2d, limb2: 0xcfba6c2b4124b837319047eb, - limb3: 0x8a9e73497aafaafe182bc19 + limb3: 0x8a9e73497aafaafe182bc19, }, w6: u384 { limb0: 0x8a3b064f566cf7a95dbe7548, limb1: 0x3a7f64c477a6e83e434ce861, limb2: 0x9ba7cae92f44149908673e10, - limb3: 0x45103051f125fedb866d95b + limb3: 0x45103051f125fedb866d95b, }, w7: u384 { limb0: 0x5ee818e7234e7272ec07f3d1, limb1: 0xdd4bc27187a7d422aa6df86c, limb2: 0xcbb7f78d9fe849c55f5caf73, - limb3: 0x1862b91a119174f1c7aff149 + limb3: 0x1862b91a119174f1c7aff149, }, w8: u384 { limb0: 0xd08c79a7c7850cbda627d11c, limb1: 0x9d4f4f86dbf4a4ac0d4606f2, limb2: 0xd464fb70944a1feb5e7f92f0, - limb3: 0xd5b0522da04c9aeca0608e6 + limb3: 0xd5b0522da04c9aeca0608e6, }, w9: u384 { limb0: 0x3dbd70f614fc2d3eb4edbcb8, limb1: 0xcc386604b029681e5d5de15a, limb2: 0xa03d1c9d026d090768bf5861, - limb3: 0x55ff5a76816f6d652fd986a + limb3: 0x55ff5a76816f6d652fd986a, }, w10: u384 { limb0: 0x9d633d1f35aea7549904415e, limb1: 0xb6d0d361ca6497edc9faa721, limb2: 0x6d5289bb547465b3be8c6ad9, - limb3: 0x985850e8cd4013c4b6d95cc + limb3: 0x985850e8cd4013c4b6d95cc, }, w11: u384 { limb0: 0x7cb50dc102dcb28e77742892, limb1: 0xe2437d8286205ad782d6b72e, limb2: 0xda1f62195f31b4783bab661d, - limb3: 0x15ecca5677df076e39049bb8 - } + limb3: 0x15ecca5677df076e39049bb8, + }, }, E12D { w0: u384 { limb0: 0x9d72d5db64cb7507239422e0, limb1: 0x264e7e57b7260676a8bb7688, limb2: 0x7344113fcc925f1d30d06dcb, - limb3: 0x18de0ecba8fd3371b8aa34ca + limb3: 0x18de0ecba8fd3371b8aa34ca, }, w1: u384 { limb0: 0x1861183cc4b2f46d87979e5c, limb1: 0x6e0a01a25c6ebaf9464e11e, limb2: 0x7f2de4bc5dd520e1c25ddd85, - limb3: 0xe800e85c928ae4a62b295f1 + limb3: 0xe800e85c928ae4a62b295f1, }, w2: u384 { limb0: 0x947b7670a81523ba7d89ed92, limb1: 0x14b12adacd332e3d09706640, limb2: 0x11e97f9c6bc126a2f82ea1e6, - limb3: 0x10624939def344ec8c1b3cf4 + limb3: 0x10624939def344ec8c1b3cf4, }, w3: u384 { limb0: 0x3b6a7bcdd62aecc44c37866d, limb1: 0x4f090d678ea45519842d182d, limb2: 0xcebc7bf7f3c10bfd2e6639e9, - limb3: 0x1631faf829d85ac9c61de59f + limb3: 0x1631faf829d85ac9c61de59f, }, w4: u384 { limb0: 0x559cd524045548ae86151607, limb1: 0x6e006893ba4aa3699195e31e, limb2: 0xdc1c446eeecc785b43fb9a22, - limb3: 0x123202194c62a4c9baccb009 + limb3: 0x123202194c62a4c9baccb009, }, w5: u384 { limb0: 0x11fcaa3dba1a600b6010182f, limb1: 0xf01f5f9fdeb3c498d7b7cb06, limb2: 0x882cc64b2d18415e180078fa, - limb3: 0x8b267ee888fef3cd7927dfb + limb3: 0x8b267ee888fef3cd7927dfb, }, w6: u384 { limb0: 0xd6b28085df279d9394b5a7fa, limb1: 0x763cd39e04067be6fdf56c8, limb2: 0xe6dc2b118d1a64282a465791, - limb3: 0xf5493b733d5896bc5700fd3 + limb3: 0xf5493b733d5896bc5700fd3, }, w7: u384 { limb0: 0x90a1f465c6e97bcd81222eee, limb1: 0x7149530fb2e4319be2323f28, limb2: 0xc88a2ea7d5e7ff07ca2ad206, - limb3: 0x162bb34dcd7e91a975c63630 + limb3: 0x162bb34dcd7e91a975c63630, }, w8: u384 { limb0: 0x170a35595a61d913f682b57c, limb1: 0xf2c9e682be5246c93b4e6ec3, limb2: 0x2bf4029c422908fa4563de, - limb3: 0x641187d200dfd28e8e82aa4 + limb3: 0x641187d200dfd28e8e82aa4, }, w9: u384 { limb0: 0x6fa76ba0131b78d2942cadad, limb1: 0x3bb0f673c1a7b42445c6acb0, limb2: 0x60a06dde4ec45da8ec121095, - limb3: 0x20100c6e96666951b26138c + limb3: 0x20100c6e96666951b26138c, }, w10: u384 { limb0: 0xf0b483b7fa8c7e7af338816b, limb1: 0x56d359ad26375fcae41714a3, limb2: 0x873b27b4fa0b116a18158d0c, - limb3: 0x12e72267a31cafa207dd8dbc + limb3: 0x12e72267a31cafa207dd8dbc, }, w11: u384 { limb0: 0x77cdf664971600615baaec2c, limb1: 0x26bf00719aa6690f5b19075, limb2: 0xdc51ab3277d503c215650c3e, - limb3: 0xc0f9441d20276e0db93c8e5 - } + limb3: 0xc0f9441d20276e0db93c8e5, + }, }, E12D { w0: u384 { limb0: 0x49b8bc0bba1b3b3e63506f5f, limb1: 0x69ae08affd3b257cc0d8bdc, limb2: 0x721d9ad5b76a8ba8f139dd3a, - limb3: 0xf8ac0fbc40271dc9a22eff8 + limb3: 0xf8ac0fbc40271dc9a22eff8, }, w1: u384 { limb0: 0xe9e8035fd0a006b598845454, limb1: 0xdcc25fc32ad1942d93a350ee, limb2: 0xfd77a0ec6e37dc33615964d1, - limb3: 0xb75169082563e4c6f1be90 + limb3: 0xb75169082563e4c6f1be90, }, w2: u384 { limb0: 0xefd32d50a707ddbd100ee51b, limb1: 0x810cdffcb09eae39f48aa1e1, limb2: 0xa18a7cf96101b979a65ff7bb, - limb3: 0x6cd39500720118321f2738a + limb3: 0x6cd39500720118321f2738a, }, w3: u384 { limb0: 0x26986ba695a566d0262b9ee7, limb1: 0xaab9e0bdc5aed6c48fa8efda, limb2: 0x72f6704bebcf7ac9af380ed6, - limb3: 0xe16ceb416196f23bc2560a1 + limb3: 0xe16ceb416196f23bc2560a1, }, w4: u384 { limb0: 0x7762c889e40661d695e0dffc, limb1: 0xb8bc925ae8124f3b8c369b23, limb2: 0xb522ccf634c91621e1559f97, - limb3: 0x5bacf21780b28756242dcc3 + limb3: 0x5bacf21780b28756242dcc3, }, w5: u384 { limb0: 0xf90a60c0d778d09b834b48c3, limb1: 0x3c87554e9260971b487713e2, limb2: 0x71220ad4dba9858bfc12ccac, - limb3: 0x16db742f5078344568720d98 + limb3: 0x16db742f5078344568720d98, }, w6: u384 { limb0: 0x485a9dcceae19bdbf2dc0cfc, limb1: 0x8e2f65401be2d31c093c53c, limb2: 0x8238a47a96eb2cde2677e2b0, - limb3: 0x6039568233497b9222dfbf5 + limb3: 0x6039568233497b9222dfbf5, }, w7: u384 { limb0: 0x6f64078fdd7a425f4436d862, limb1: 0x64d28a2586ab1e7f2bf280f4, limb2: 0x1f66c4e09e8145a306b09bea, - limb3: 0x813c1ecd8822f2944b930ae + limb3: 0x813c1ecd8822f2944b930ae, }, w8: u384 { limb0: 0x4060ce7fd6ea39ae7a74236c, limb1: 0xd45a1c125ec3bc1614862318, limb2: 0xa88ab4b47d71797470a4ca95, - limb3: 0x68574f8aed261828f2ba0a2 + limb3: 0x68574f8aed261828f2ba0a2, }, w9: u384 { limb0: 0xc994b57f3410a4503912f0db, limb1: 0x76871514e839d62296d23629, limb2: 0x2fde71411b384900f656ab6c, - limb3: 0xdeebb1943725d48b9cdc7cb + limb3: 0xdeebb1943725d48b9cdc7cb, }, w10: u384 { limb0: 0xf3ef74f709c6cb45c21cd12e, limb1: 0xd720f3876bdd542b86eeeb58, limb2: 0xb85aea0cd816c09909b4d88c, - limb3: 0xa3ce54f3ee833e0bae2cb1c + limb3: 0xa3ce54f3ee833e0bae2cb1c, }, w11: u384 { limb0: 0xf8c6ec38f3b7f955775e2832, limb1: 0x716a5e0f39967a70c5bd78be, limb2: 0x61f2e36cf96f821d6a3287d1, - limb3: 0xf19ea07493d608bae66bea0 - } + limb3: 0xf19ea07493d608bae66bea0, + }, }, E12D { w0: u384 { limb0: 0x83b19eadcea71010d1565cfa, limb1: 0x4825e294172616ab26e7eb20, limb2: 0x54d4259a351535c9cbd1c6a4, - limb3: 0x241d155f21449ca4b5addf7 + limb3: 0x241d155f21449ca4b5addf7, }, w1: u384 { limb0: 0xde3e245c2756d991ab554365, limb1: 0xded567d010568eb5ba3ce705, limb2: 0x327429176a50f14bdc580858, - limb3: 0x156807de27314670790e7ca0 + limb3: 0x156807de27314670790e7ca0, }, w2: u384 { limb0: 0x66bb95d7a4d98dfc50ec8fb1, limb1: 0xc3c8058f329d30723233d845, limb2: 0xd30b40aaa7eebcb481e5f715, - limb3: 0x6af8fbe105e0796a8e398ed + limb3: 0x6af8fbe105e0796a8e398ed, }, w3: u384 { limb0: 0xa940b949eb2388785b224608, limb1: 0x1cec59486fc6a5cd144a91de, limb2: 0x11402b75ed1bcd6cd14590ec, - limb3: 0x7f1086112d77b89f7582269 + limb3: 0x7f1086112d77b89f7582269, }, w4: u384 { limb0: 0x8f257f0a1e6796e78b8f951e, limb1: 0x48f84ddb963cadbfe5e55521, limb2: 0x6e427ce34296e0997e34bb67, - limb3: 0x1358d67c804b33fcd6dccd26 + limb3: 0x1358d67c804b33fcd6dccd26, }, w5: u384 { limb0: 0xf29a7dc92df446d59d0ae4e5, limb1: 0x823d3505088601b6a6610c21, limb2: 0xec67638c41976d4b1caf835e, - limb3: 0x15c8e64bbf555ac7f232789 + limb3: 0x15c8e64bbf555ac7f232789, }, w6: u384 { limb0: 0x658317131159794cfb897b2a, limb1: 0x3efb5096028939e901d050eb, limb2: 0xb364141abe4f342b2d342e4c, - limb3: 0x697dece994d9f1cfd79f309 + limb3: 0x697dece994d9f1cfd79f309, }, w7: u384 { limb0: 0xaadcb5f26d03fad4f28df12c, limb1: 0x492f0e081e52c8c88fce9f44, limb2: 0x29717b344f24a9ce5704183b, - limb3: 0x77175c6d4b377dbafe0e4fe + limb3: 0x77175c6d4b377dbafe0e4fe, }, w8: u384 { limb0: 0xea668960f018818ab2dc143e, limb1: 0xd1b189a93d737c7c9df377b2, limb2: 0xc326f49a444ae09fe755412b, - limb3: 0x9347fcd49e2293efb0a78de + limb3: 0x9347fcd49e2293efb0a78de, }, w9: u384 { limb0: 0x17514b18815a49976674c5f2, limb1: 0xeadf8c7afaddb62cb39d0e85, limb2: 0xb3bad6f772ce35db00653f13, - limb3: 0x17fd638fda925abc9867be18 + limb3: 0x17fd638fda925abc9867be18, }, w10: u384 { limb0: 0x824d407e1486549861a4f9b1, limb1: 0xd708e8188307765b7e7b5c71, limb2: 0xb458d64fdc3cfcae7d504007, - limb3: 0x11376135f9107c7d85f2d49a + limb3: 0x11376135f9107c7d85f2d49a, }, w11: u384 { limb0: 0xdd930da650b850fd475ab204, limb1: 0x6d1c787f7452a96d6fe58ed2, limb2: 0x77fc37156b99d375a7d16ca6, - limb3: 0x2c52abc9192f9453d49eab3 - } + limb3: 0x2c52abc9192f9453d49eab3, + }, }, E12D { w0: u384 { limb0: 0xa1f4bb4ceda1931c829fab23, limb1: 0x804ffc41249665a2790a0228, limb2: 0x1de01e71f91960ccaf6c410c, - limb3: 0x81b2c2ac7a57744e8e9b410 + limb3: 0x81b2c2ac7a57744e8e9b410, }, w1: u384 { limb0: 0x130433d5494eebebcfd9df94, limb1: 0x99364cbac719f5f41ddfa380, limb2: 0x3f29270ecf71851f43731a20, - limb3: 0x1145c70e232f053297295621 + limb3: 0x1145c70e232f053297295621, }, w2: u384 { limb0: 0xec442113c386176b32efde95, limb1: 0x7bd862d3003678d9531d9c1e, limb2: 0xfc594d12f8c8b42b2e4d6b90, - limb3: 0xeeb75363b656d3ec3fa9b09 + limb3: 0xeeb75363b656d3ec3fa9b09, }, w3: u384 { limb0: 0x222852bc2d918bd1ac5f63f, limb1: 0xfe7d5faeb604de77c643a175, limb2: 0xc65d389008dc614c33e685b9, - limb3: 0x180b7b07d9590c95ef7c4d32 + limb3: 0x180b7b07d9590c95ef7c4d32, }, w4: u384 { limb0: 0x970068a4b9eec3828487ea39, limb1: 0xd9327df1470019283e338516, limb2: 0x5952d080bc8bc07c9a246b5f, - limb3: 0x188de0056afd14bfc26980e5 + limb3: 0x188de0056afd14bfc26980e5, }, w5: u384 { limb0: 0x1f95997064e7188584c76d47, limb1: 0xba3e7e6239cb59b9630224f1, limb2: 0xd02ab63f0952c3a26ac56788, - limb3: 0x6c3f71d101f157a0eb5e8c3 + limb3: 0x6c3f71d101f157a0eb5e8c3, }, w6: u384 { limb0: 0xcf705d3f30333b45aeb056b0, limb1: 0x3ded81674542b511276368b0, limb2: 0x1a953a0af3d55e115c95e424, - limb3: 0x12c2bb84d66b242ac047d7a9 + limb3: 0x12c2bb84d66b242ac047d7a9, }, w7: u384 { limb0: 0x1d84fb17c565be3824c9eb81, limb1: 0x983f3cef4c3580414e1c63d8, limb2: 0xc6f813385e3fce4ae1a9f4c7, - limb3: 0x175fdf9433765408fdfc601a + limb3: 0x175fdf9433765408fdfc601a, }, w8: u384 { limb0: 0x6c61ac267d1db760fbeaf92f, limb1: 0x20b3d2e50bab22ff0da90069, limb2: 0x54860d69bdb67b696fced45c, - limb3: 0x15f95850b768b8a0f63b96d5 + limb3: 0x15f95850b768b8a0f63b96d5, }, w9: u384 { limb0: 0x3fa62e0c86ad1d63fbae241f, limb1: 0xb30f2dea012c94c9c26d22f, limb2: 0x61befc67d0413374617f46f8, - limb3: 0x4078076119540c4a20693eb + limb3: 0x4078076119540c4a20693eb, }, w10: u384 { limb0: 0x25e4fe7a019eedeaa28ff1b, limb1: 0x9324c0e779bd0c9fcd27f7e8, limb2: 0x24d326b0d8a8c42d982f21c1, - limb3: 0xdfcf7aef0bf4098ae68b1cd + limb3: 0xdfcf7aef0bf4098ae68b1cd, }, w11: u384 { limb0: 0xfe63a0539935bee31d38ec22, limb1: 0xd033b49fee05e4d97bd6842c, limb2: 0x78d04ec2b510789e14ee988f, - limb3: 0x17aba0964ab1ddcdf413639a - } + limb3: 0x17aba0964ab1ddcdf413639a, + }, }, E12D { w0: u384 { limb0: 0x278d77a81d602afd5a52947, limb1: 0xcb5c30044228bb45093b0d90, limb2: 0x8e471498d8a8be03dade312b, - limb3: 0x19beee76172ad8aa02dbf3dc + limb3: 0x19beee76172ad8aa02dbf3dc, }, w1: u384 { limb0: 0x7c77ce05c4c305a7dc0e5b4d, limb1: 0x7bd3f5e81744c8fbff1e9d10, limb2: 0x30ea7f32e968b9454c93c8ca, - limb3: 0x13642c30cde1dbf6af429fd5 + limb3: 0x13642c30cde1dbf6af429fd5, }, w2: u384 { limb0: 0x595b8c57681cead9648c7acb, limb1: 0x689d10dae2cc8e703e53a0e, limb2: 0x29ae6fb08dc277565e3505c9, - limb3: 0xcf96b5bf70d0ccc001f3322 + limb3: 0xcf96b5bf70d0ccc001f3322, }, w3: u384 { limb0: 0xd1b554ed5518219199f34526, limb1: 0x26ac3af216434fe1ed48aa17, limb2: 0xc07d051d9daf7c6e095e8aa3, - limb3: 0xd6c203b2d9e77cc0cd40bb1 + limb3: 0xd6c203b2d9e77cc0cd40bb1, }, w4: u384 { limb0: 0xab65021306a36284149c06e7, limb1: 0x4e3f42db62b95d309ced3670, limb2: 0x76fb0b0b7954df85d0d8c050, - limb3: 0x5101d7e82eade26493678b6 + limb3: 0x5101d7e82eade26493678b6, }, w5: u384 { limb0: 0x7a6b2765b8a9ccbaaad5c828, limb1: 0x7f4e8febb620ef2bc2d7a407, limb2: 0xd30c4bf4b5860ebfbf7e3b9d, - limb3: 0x14d20e5825a0cf0631c843de + limb3: 0x14d20e5825a0cf0631c843de, }, w6: u384 { limb0: 0x84f1594b851f0ddca968e8c5, limb1: 0x3a6491a30f5721041f7581c6, limb2: 0x9169d487e761ae399b754ba9, - limb3: 0x530b8c30d14555dddbf8776 + limb3: 0x530b8c30d14555dddbf8776, }, w7: u384 { limb0: 0x57ad58f9bd5592d446a6b748, limb1: 0x135c76ec36e730bf679e1619, limb2: 0x549cc33448758c73223137e8, - limb3: 0x55d3b3769b18c8c17597c38 + limb3: 0x55d3b3769b18c8c17597c38, }, w8: u384 { limb0: 0xcb42d1d43cdf605892d0b23e, limb1: 0x2197b1bc85e160f4865d08ef, limb2: 0x37c01be0fe47d2cce9adbb3e, - limb3: 0x1553b94e1939110d4b99fc57 + limb3: 0x1553b94e1939110d4b99fc57, }, w9: u384 { limb0: 0x6fbad2a03ba0aa5de69f43d3, limb1: 0x765a3a8b3a2f959e767ed7e9, limb2: 0x4316e351dc01ca2da29b0710, - limb3: 0x8183e742bf50ac5b25c5617 + limb3: 0x8183e742bf50ac5b25c5617, }, w10: u384 { limb0: 0xae282d2b795b5314b7f53f0d, limb1: 0x7a64af990d741c0fe71b0b64, limb2: 0x4fecda665a2e9c0826568d87, - limb3: 0x914cd3723446a757562b82a + limb3: 0x914cd3723446a757562b82a, }, w11: u384 { limb0: 0xdb326552a864fae27e34e3c0, limb1: 0xbfd09d5d1e29af9e9d992c5b, limb2: 0xd6d7663d363167d6317a28f6, - limb3: 0xe66725a5996b856981dbff3 - } + limb3: 0xe66725a5996b856981dbff3, + }, }, E12D { w0: u384 { limb0: 0x925f1548a2586b3c83acb844, limb1: 0x353b125c82d3547bb22e873e, limb2: 0x66e1c1174e42b65d840ce5a4, - limb3: 0x16fbfde31f733d31881cdfff + limb3: 0x16fbfde31f733d31881cdfff, }, w1: u384 { limb0: 0xf48a04b2ecb65b0ec1ee74a7, limb1: 0xd3ce0c326344e634d721fb34, limb2: 0xa30496b2da7fb2ea97b754d9, - limb3: 0x107d126f58ec9e97c6cc8e71 + limb3: 0x107d126f58ec9e97c6cc8e71, }, w2: u384 { limb0: 0xd2ffb5a8958fd358b9a0db9b, limb1: 0x402808c39b52369ae59fd83a, limb2: 0x3fe0960e8aa72beb2fa961d9, - limb3: 0x166dc226ccb9eff556343907 + limb3: 0x166dc226ccb9eff556343907, }, w3: u384 { limb0: 0x8df0689b8854be488ecb991, limb1: 0x4795a4cc43a8d4530c1ad931, limb2: 0xb3bc8527ab33e10f80cfde20, - limb3: 0xba7ae8be240e9d11a287d8b + limb3: 0xba7ae8be240e9d11a287d8b, }, w4: u384 { limb0: 0x7f368c6c241b048fb218dbb8, limb1: 0xa2476498a10081bfa027924e, limb2: 0x56b88e4492e6f0c99fa165f0, - limb3: 0x18a38fa4ee9f26ba78fec53c + limb3: 0x18a38fa4ee9f26ba78fec53c, }, w5: u384 { limb0: 0xe98903321b25313c95f003dc, limb1: 0x31f82952f9329bd9368402e7, limb2: 0x54ae4abaa3d2432318e04599, - limb3: 0x128f6b10489dc4631361966f + limb3: 0x128f6b10489dc4631361966f, }, w6: u384 { limb0: 0xd6c9252e840a0651da685774, limb1: 0x20c689e5be6b3d7db49e75c1, limb2: 0x49de02ce0f57209e965aab87, - limb3: 0xb84356ad3a02a7a23840580 + limb3: 0xb84356ad3a02a7a23840580, }, w7: u384 { limb0: 0x4feb2265d9e9cfe5347bcdef, limb1: 0xdbf93707cc036c505a681a7f, limb2: 0x991dae2fc5278d2e4c49b442, - limb3: 0x581e622fe997190ffcaff05 + limb3: 0x581e622fe997190ffcaff05, }, w8: u384 { limb0: 0x4fed4adee961344d7de4ce04, limb1: 0xa2179aa116019af6aab8119, limb2: 0x390cfa09d93c9cf5d45a6f51, - limb3: 0x301f95a1cad02ce95b9e7f4 + limb3: 0x301f95a1cad02ce95b9e7f4, }, w9: u384 { limb0: 0x839f077e7f1268f3969297a, limb1: 0xc6678bdf10aac686ea78af9e, limb2: 0xbded8a9b29e5e041ebcc7d56, - limb3: 0x16f210725bf2a00ce33bb7ad + limb3: 0x16f210725bf2a00ce33bb7ad, }, w10: u384 { limb0: 0xa0b68df81c8f7dce35651343, limb1: 0x948b8def6ecf0f2c1235607b, limb2: 0x9cacf2c2c4cebabc980ba63c, - limb3: 0x88eb934296e671e6ca4b0bd + limb3: 0x88eb934296e671e6ca4b0bd, }, w11: u384 { limb0: 0x5d277be91e70605270b0736c, limb1: 0x31a5c600c967c11668a20a8e, limb2: 0x8ca866246a7e7d273c67c89c, - limb3: 0x1717a1fd9cd5ec3784a48c7e - } + limb3: 0x1717a1fd9cd5ec3784a48c7e, + }, }, E12D { w0: u384 { limb0: 0xc0cf5bb3ddf86547fe00b03f, limb1: 0x261d5fdf16216b0b5b2fd0af, limb2: 0x5090c7ece64dea3b6ef1fe9c, - limb3: 0x127241b7afea2d881250e65 + limb3: 0x127241b7afea2d881250e65, }, w1: u384 { limb0: 0x6e263d81f4a3f1c877c39333, limb1: 0x1410d9bf499e755eea959c02, limb2: 0x6ae0b4fa4bdabd77d6114c95, - limb3: 0x18b34ace95b722dd2f0913af + limb3: 0x18b34ace95b722dd2f0913af, }, w2: u384 { limb0: 0x9e798a325b9b9324627d90a7, limb1: 0xe44be7d37275a6b9307a4d70, limb2: 0x60a94c03db1b4341044162b0, - limb3: 0xc5e0af70498faeb66e96c7e + limb3: 0xc5e0af70498faeb66e96c7e, }, w3: u384 { limb0: 0x62c3ec64962f4b5dfd4957e2, limb1: 0x175b2e34bc0b79de8b26e5ac, limb2: 0xd00c44dfe200edc1823d4127, - limb3: 0x1f9c390217fc2eab214ec8f + limb3: 0x1f9c390217fc2eab214ec8f, }, w4: u384 { limb0: 0xca1db3d196ebee4afcb49439, limb1: 0x76c891130d535411b8d13bae, limb2: 0x1346242621dc20c966481630, - limb3: 0x62a4a8737ee4ed122146323 + limb3: 0x62a4a8737ee4ed122146323, }, w5: u384 { limb0: 0xd89259ce24c1bc3c80b4c31b, limb1: 0x6916e85ee261583718b5be9c, limb2: 0x614b567f265ccea1c3bf6c88, - limb3: 0xd63901d756cb9c4f6e4ebf + limb3: 0xd63901d756cb9c4f6e4ebf, }, w6: u384 { limb0: 0x2854083be3f609fb5747a0a4, limb1: 0xf9363f130c8a061ad4454dca, limb2: 0x99fa1036b41a93c9bb5f04a5, - limb3: 0x10be26b58c1e20556bf90eca + limb3: 0x10be26b58c1e20556bf90eca, }, w7: u384 { limb0: 0xcaa7afbc5dd33d0090d478eb, limb1: 0x33bac5729659b2886831c90e, limb2: 0x8c228f55fb3b16a6089cfc9b, - limb3: 0x1425aa18228f951444e69bbe + limb3: 0x1425aa18228f951444e69bbe, }, w8: u384 { limb0: 0xbd8aa0ce83f76fa3d6195952, limb1: 0xa49e1c3f96658b0c6984d0e4, limb2: 0xdfc5f4d167ad19270de11602, - limb3: 0xe8f8eb7f390acecb765644f + limb3: 0xe8f8eb7f390acecb765644f, }, w9: u384 { limb0: 0x7fa94e38426b019637ed329d, limb1: 0x8a030e40d455c8eeb294aee7, limb2: 0x62c6e010ad31dc3e8cdfd551, - limb3: 0x8d9ba6f08f065d3d6b80ab7 + limb3: 0x8d9ba6f08f065d3d6b80ab7, }, w10: u384 { limb0: 0x6b2cb77e359c675839c57ed8, limb1: 0x4ece0febc3fb31c9c799768f, limb2: 0x20e25d25010860a327da0640, - limb3: 0x12eb1699559e1e7b06f3d0b + limb3: 0x12eb1699559e1e7b06f3d0b, }, w11: u384 { limb0: 0x5fcbf346dc790bb6c9e48356, limb1: 0x8e7801394a1a49b06320bbd9, limb2: 0x7ac8d93c05e1831764f8daf5, - limb3: 0x102edca82e8f1857ed209bd - } + limb3: 0x102edca82e8f1857ed209bd, + }, }, E12D { w0: u384 { limb0: 0xb15ad72f4fcb2591d1abc46c, limb1: 0x74d4a9d3481b818b70fdb5eb, limb2: 0xf8210ae9f2b7df0516a267ba, - limb3: 0xd5a2800ca938c6f7c3113fb + limb3: 0xd5a2800ca938c6f7c3113fb, }, w1: u384 { limb0: 0x38b065590c2e60fe7f44767f, limb1: 0x7eecabf14ae695b8a3360ed8, limb2: 0x9985104a902c20936ea57238, - limb3: 0x124695215443652ba7e6cf22 + limb3: 0x124695215443652ba7e6cf22, }, w2: u384 { limb0: 0x1f9841b55fe2c623f1078c67, limb1: 0xb9c8a90b95c1f3344984344d, limb2: 0x2a340ad73875dff79e1352ff, - limb3: 0x18bd138bc116843c32beff0 + limb3: 0x18bd138bc116843c32beff0, }, w3: u384 { limb0: 0x56c68b860cbcfc33006bdf0d, limb1: 0x52813de6808192f9b0c7811b, limb2: 0x4fc72a2832a54a2c1377aef, - limb3: 0xc240bb809dfa30523851f3 + limb3: 0xc240bb809dfa30523851f3, }, w4: u384 { limb0: 0xaf85594768f62ada3aff44ff, limb1: 0xff3854a044fc5e69851ba430, limb2: 0xb47e8573d120728f31c90440, - limb3: 0xcaf2c186c804f855cfa2c4d + limb3: 0xcaf2c186c804f855cfa2c4d, }, w5: u384 { limb0: 0x4e380f88b214dbbab34dbebb, limb1: 0xa77d375a8f3582d99d8e771c, limb2: 0x7ff0478d6f4c30522d5cf061, - limb3: 0xeda4fddf15c6de3928a7494 + limb3: 0xeda4fddf15c6de3928a7494, }, w6: u384 { limb0: 0x53c092ef68bc25c37d25fe15, limb1: 0x3fd91dbc6dc8c4ce23ddfec8, limb2: 0x2f533a2c53b9bc59f7da808b, - limb3: 0x54ea204f43fc3cc511e2771 + limb3: 0x54ea204f43fc3cc511e2771, }, w7: u384 { limb0: 0x874484b23512d69c64456edc, limb1: 0x4bae99896f81ad7e8b33986f, limb2: 0x315ae13e8f7eef39bb5fc6f3, - limb3: 0x2e3ddb5c86a0d7ffa46ce19 + limb3: 0x2e3ddb5c86a0d7ffa46ce19, }, w8: u384 { limb0: 0x6ec7f3337526ebcca0cd7a9f, limb1: 0xd48463f9f2d1f19c3853fbb8, limb2: 0x7e348340df28aef8d2b5b0d, - limb3: 0x7180eed89e074ef58739ed8 + limb3: 0x7180eed89e074ef58739ed8, }, w9: u384 { limb0: 0xbe6bdfc582a702b560a6e04d, limb1: 0x592fe00300d974cb544bb609, limb2: 0x5585618cce120a0ca8ae3b06, - limb3: 0xd8b2fbd00859855d8059c04 + limb3: 0xd8b2fbd00859855d8059c04, }, w10: u384 { limb0: 0x14bf3cd112d125e4e25a3e65, limb1: 0x811a1021fa6981370e82b3d3, limb2: 0x2458fd0cced7cade1c669de9, - limb3: 0x7c3ff3ae5fd17f6a1ce0359 + limb3: 0x7c3ff3ae5fd17f6a1ce0359, }, w11: u384 { limb0: 0xf1c60ca1b056ed5abf67e04d, limb1: 0xbc819ca227d2d48d19f96458, limb2: 0xb390024831387ab08e67c776, - limb3: 0x5f4a62df64a479d75594956 - } + limb3: 0x5f4a62df64a479d75594956, + }, }, E12D { w0: u384 { limb0: 0xf65ce3527d75962dfe24a3f9, limb1: 0x91e01eaad05aadc43322e7bc, limb2: 0x1749b8efc10800f0117b9ada, - limb3: 0x63f0bc72657931f9c4c0ec6 + limb3: 0x63f0bc72657931f9c4c0ec6, }, w1: u384 { limb0: 0xb0a176acec5241ab58a92fe4, limb1: 0xfff6673048e856befecc052f, limb2: 0x3aabf57172cbeea4e5656e93, - limb3: 0xf8b8f049c1f37ea1b91f865 + limb3: 0xf8b8f049c1f37ea1b91f865, }, w2: u384 { limb0: 0x591f822c01335afd1788ae6c, limb1: 0xacb21dac6272701a054407c5, limb2: 0x27c93a2906618dc8eac1c17, - limb3: 0x135348203e2ab3a8030bab8e + limb3: 0x135348203e2ab3a8030bab8e, }, w3: u384 { limb0: 0x83f8664aa234b6ef1bee1838, limb1: 0xfbe202c883895731f698255b, limb2: 0xb8ab5bee5b71245380d5a22b, - limb3: 0xdd0f12d1fb706b63a83e4f6 + limb3: 0xdd0f12d1fb706b63a83e4f6, }, w4: u384 { limb0: 0x6c00eabfeaa8a1e18d743643, limb1: 0x35082c7740b28bed8c2911c4, limb2: 0x705d87b2509c7563f2f9cd83, - limb3: 0x355565388006efda83748a9 + limb3: 0x355565388006efda83748a9, }, w5: u384 { limb0: 0x721da2148c278de04ea6b48, limb1: 0x1223b5e9df2c7ce207e3cb29, limb2: 0x9fd921169ebea2d627e0e2b4, - limb3: 0xca348e51467605b1891750f + limb3: 0xca348e51467605b1891750f, }, w6: u384 { limb0: 0x567eebe72695309b8b9fa49a, limb1: 0x9b2ed7c13fcd5218178f6c36, limb2: 0x69db0caedd82eb26178db3bb, - limb3: 0x10b37cb311f6f5db3cf04ead + limb3: 0x10b37cb311f6f5db3cf04ead, }, w7: u384 { limb0: 0x1c36184bcddcb3bef030a967, limb1: 0x30f09d8bdcd920ef630b29da, limb2: 0xd99cd4ca8ee16996294d6867, - limb3: 0x14b4ecde21559c315401a904 + limb3: 0x14b4ecde21559c315401a904, }, w8: u384 { limb0: 0xbff20fece07ace4ed15c0801, limb1: 0x8c641efedb23644ab9dac1b6, limb2: 0x65ed2f82940530717a3a8f6, - limb3: 0xd6faee36c1be2a6bd80aad3 + limb3: 0xd6faee36c1be2a6bd80aad3, }, w9: u384 { limb0: 0xa45919c319e86e4c7cf0a9aa, limb1: 0x2c3b3dbcd368facc0fa8a97d, limb2: 0x18bb74bd046abb617241aa0a, - limb3: 0xe6a08b13a47fee0dea5d182 + limb3: 0xe6a08b13a47fee0dea5d182, }, w10: u384 { limb0: 0xad46273f102a1a28b7ea1210, limb1: 0xbd6857d74c142f5b0750a4c, limb2: 0xa179b4418056dce93b5d5ebe, - limb3: 0x8edde64f71a1e7a8d5c256b + limb3: 0x8edde64f71a1e7a8d5c256b, }, w11: u384 { limb0: 0x40c84a2231765e3ccdd1fee2, limb1: 0xe23fa47d96e3019174e1e708, limb2: 0xda247b93ca36f321d7e891a8, - limb3: 0xf3dec99dae8597e09aa6441 - } + limb3: 0xf3dec99dae8597e09aa6441, + }, }, E12D { w0: u384 { limb0: 0x5c071fe7249396da8890e55b, limb1: 0x88bf9396d97ac96c8ca065b9, limb2: 0xaa1bd31d7ac0d0063932745b, - limb3: 0x4f008c1e4e917d1a0388386 + limb3: 0x4f008c1e4e917d1a0388386, }, w1: u384 { limb0: 0xde583cfef9c2b34ea6b3a860, limb1: 0xe79957b07ce9cf7cc9d7b0fd, limb2: 0xf9e5d92728e5fee33eb8a4c8, - limb3: 0x7921cbfbdf11fda5479b251 + limb3: 0x7921cbfbdf11fda5479b251, }, w2: u384 { limb0: 0x7fcb1d0ad133dcac3db9691a, limb1: 0x8b34904f9f4147431e803592, limb2: 0xaa188d2c64f4ffae74679611, - limb3: 0x6311dfa9565d635c03e0855 + limb3: 0x6311dfa9565d635c03e0855, }, w3: u384 { limb0: 0xc6e8d1386e240defd0c8b358, limb1: 0xd916b51af6ef639109f7f064, limb2: 0x84f668ddc480ae7a6282e8bd, - limb3: 0x14514e50d271db4c38f25c17 + limb3: 0x14514e50d271db4c38f25c17, }, w4: u384 { limb0: 0xc05129d365f445bca7481a4c, limb1: 0x732f03651202c5d590aef375, limb2: 0x861a12d79020a018d52dfb3e, - limb3: 0xf5779b069bb04e8aa65b1b0 + limb3: 0xf5779b069bb04e8aa65b1b0, }, w5: u384 { limb0: 0x49e85a71966f4085bb96a561, limb1: 0xa90812c10e7c338efd62e260, limb2: 0xb4dc3c8f6b473eeff051c55, - limb3: 0xf162180ccd92f8be4baba3 + limb3: 0xf162180ccd92f8be4baba3, }, w6: u384 { limb0: 0x1fc53cda9e145b9f2fc0958, limb1: 0xbc91a2f7fe6c04e89954a778, limb2: 0x713a21c6c35bc119e06027c9, - limb3: 0xb945c61f5ef234c3f61368b + limb3: 0xb945c61f5ef234c3f61368b, }, w7: u384 { limb0: 0xfc851571d35721bd06ad24ba, limb1: 0xb0cc8ed633947c99cc26b4bc, limb2: 0xa96709e905b2f0a160cc731, - limb3: 0x13bb465d841c0df6abe9d8e6 + limb3: 0x13bb465d841c0df6abe9d8e6, }, w8: u384 { limb0: 0xf420c15aaa99c651e4dcf96f, limb1: 0x27cf47ecb908e16bb29a5fd, limb2: 0x5c212064d3152d60db688c4, - limb3: 0xf132a5857b7a6c50640125c + limb3: 0xf132a5857b7a6c50640125c, }, w9: u384 { limb0: 0xd596517bf0328136d09b30d, limb1: 0x731fc3434888560bb4aa0036, limb2: 0x89171b1a244c1520a1e52cb7, - limb3: 0x13a4065c684afc1509831b34 + limb3: 0x13a4065c684afc1509831b34, }, w10: u384 { limb0: 0x62b192ba8953068ad2beeb13, limb1: 0xf55df8dc4798f0c1303be1fa, limb2: 0x5586b58227a76995ce18ab1c, - limb3: 0x1765d0dd29b138f1e15317a2 + limb3: 0x1765d0dd29b138f1e15317a2, }, w11: u384 { limb0: 0x194160a75b09ead5c093d1f, limb1: 0x55458b207983cc60044cd893, limb2: 0x2ec1346ee6df706c64efdd21, - limb3: 0x1889fe7577e0886013ee76a3 - } + limb3: 0x1889fe7577e0886013ee76a3, + }, }, E12D { w0: u384 { limb0: 0x83a64d1fbd12b2105fd006de, limb1: 0x1fed0ced58ffc1247b300226, limb2: 0x40c7a77d43046a8dc496e8f7, - limb3: 0x1273d35b2a7041c0c8e09fa9 + limb3: 0x1273d35b2a7041c0c8e09fa9, }, w1: u384 { limb0: 0xd1bc518cb9f97989e4518323, limb1: 0xfda16e1ba8f5eee22baff865, limb2: 0x2282715ec39be7c1d9c05abf, - limb3: 0x14ca6298addcce08172693e7 + limb3: 0x14ca6298addcce08172693e7, }, w2: u384 { limb0: 0x581296f543f611452833a9af, limb1: 0x8f7d57a9ccf015a529c0274f, limb2: 0xf4cec85b20feb49320169086, - limb3: 0x7294cb9fc3914e72a74f677 + limb3: 0x7294cb9fc3914e72a74f677, }, w3: u384 { limb0: 0xa0d1c30484f8d800aa47cf33, limb1: 0x7896af58662828a8134758f5, limb2: 0xf8bf1ed82532b434dd6745f9, - limb3: 0x1480045d9cc01e11e67e1744 + limb3: 0x1480045d9cc01e11e67e1744, }, w4: u384 { limb0: 0xab14069003747ce311deeda8, limb1: 0x46aee3ebf1505f27b11a43d7, limb2: 0x441e3585d1d14f573a862938, - limb3: 0xa693eb56c06023e67761b5c + limb3: 0xa693eb56c06023e67761b5c, }, w5: u384 { limb0: 0x3b5aa1d13ac4ae07439068e1, limb1: 0x6bb8a4c24c1d85a23c028385, limb2: 0x356f653ce96361ec3cb08dd8, - limb3: 0x19470f3488d1b42c710e0403 + limb3: 0x19470f3488d1b42c710e0403, }, w6: u384 { limb0: 0xc6d25ab33b45985888bbb03d, limb1: 0x2026eb4eebc11b2af25c91fe, limb2: 0x84aec238c5ba5499a91244ed, - limb3: 0x16ff44f85dcd5017d4f39ab0 + limb3: 0x16ff44f85dcd5017d4f39ab0, }, w7: u384 { limb0: 0x6357ebc232777ec4f0019a51, limb1: 0xb2cf574426b91619de6260c7, limb2: 0xf3c73b5a7864f2a9e9df5921, - limb3: 0xac8b2e81bf45ba782379164 + limb3: 0xac8b2e81bf45ba782379164, }, w8: u384 { limb0: 0x78111c1a35a4b111e381ee5b, limb1: 0x87cbda1cc35fd4ffab98097f, limb2: 0x3785ba57e275cc071106468c, - limb3: 0x887d372d0e2fe0e53316176 + limb3: 0x887d372d0e2fe0e53316176, }, w9: u384 { limb0: 0x4a426c4f5b404cf8f9058f36, limb1: 0x6f4e2e0c8dca076756efa639, limb2: 0x574294ee9354db253276ffb9, - limb3: 0x16453113da3cd9edc0f268cd + limb3: 0x16453113da3cd9edc0f268cd, }, w10: u384 { limb0: 0x980837e72a53e6da4c4922bd, limb1: 0xb4f32169b47b9f2ab0864b73, limb2: 0x85967069c73e3c636b70e667, - limb3: 0xe5e15629c61068bb9a3bf3 + limb3: 0xe5e15629c61068bb9a3bf3, }, w11: u384 { limb0: 0x6b4e751b6afbfdc1286e2037, limb1: 0x2dceab2a8fec6a14f9f2a926, limb2: 0x67ac3d207965577ee1e47a15, - limb3: 0x16526e02b5ea0131ca58ab70 - } + limb3: 0x16526e02b5ea0131ca58ab70, + }, }, E12D { w0: u384 { limb0: 0x17309de18596c600420fa7f1, limb1: 0x6ecfdc0a3cc31fcaf8050eac, limb2: 0x609fdb67c2d4bbd1da92d235, - limb3: 0x17a9bc9c95045b9efdc7f8db + limb3: 0x17a9bc9c95045b9efdc7f8db, }, w1: u384 { limb0: 0x1c460122fcd6b6ece46d69fe, limb1: 0xcddd726c39b803c9d61e2ff4, limb2: 0xb314bb778d464e80e5137e80, - limb3: 0x15f7cda48b321f00b848ba73 + limb3: 0x15f7cda48b321f00b848ba73, }, w2: u384 { limb0: 0xdc79881f76b18acaeca0693a, limb1: 0x5ced5bc216155207131869a5, limb2: 0x25abd10b17bb130a7edae34, - limb3: 0xdc3c019b632e3991d4a6b8a + limb3: 0xdc3c019b632e3991d4a6b8a, }, w3: u384 { limb0: 0xbfb097d9e966f087325bf903, limb1: 0x3fb4262eebf93492bbe3ff8b, limb2: 0x997195ae28496678b778b068, - limb3: 0xb656130b375669e276ed9f1 + limb3: 0xb656130b375669e276ed9f1, }, w4: u384 { limb0: 0xc537baabbac6f92b3d4c43ee, limb1: 0xeee6011b5932150b96520428, limb2: 0x1632d8218fb9bf323d52bc24, - limb3: 0x1206adf0e4af46155081e668 + limb3: 0x1206adf0e4af46155081e668, }, w5: u384 { limb0: 0xf12a97149fe018fa0dd0605f, limb1: 0x27ce7eaabf9c6f26f66d2e41, limb2: 0x869e24a6417b5fbecfb2ae7c, - limb3: 0x15359c4c6224b1be86a615b0 + limb3: 0x15359c4c6224b1be86a615b0, }, w6: u384 { limb0: 0xc56549e245c6bbf68d09bc30, limb1: 0x90446e06fd1130455ef711ac, limb2: 0x343d611550a4e05dc84d901a, - limb3: 0x198fe7d93aad83e5f503de9f + limb3: 0x198fe7d93aad83e5f503de9f, }, w7: u384 { limb0: 0xb0c7c0f44e04ee29115cb4e8, limb1: 0xd222e0c76f9d55a44b4eaea2, limb2: 0x9ec62b435c34f660f31beca1, - limb3: 0x5b9706e9f1da4dd9d3cc2e5 + limb3: 0x5b9706e9f1da4dd9d3cc2e5, }, w8: u384 { limb0: 0xf05234158a8a37dc15fec48a, limb1: 0x31d75743addea81c0d768a59, limb2: 0x460db2475e22f9cd60b2af15, - limb3: 0x9c8e0f3693a433d950421f2 + limb3: 0x9c8e0f3693a433d950421f2, }, w9: u384 { limb0: 0x17b4ab8ab4d7825f202b8075, limb1: 0x6cb9c1f003024631fa0a9500, limb2: 0xfa9afda884aaff4eb0ff2eee, - limb3: 0x92e1623974d20acee9fa952 + limb3: 0x92e1623974d20acee9fa952, }, w10: u384 { limb0: 0x6c311178704be9f7e65ec330, limb1: 0x432fab41537509fdc218bc65, limb2: 0x12ee9a3189d387cff951a877, - limb3: 0x19a486fdde7a19ec3f4ea4ae + limb3: 0x19a486fdde7a19ec3f4ea4ae, }, w11: u384 { limb0: 0x848acd4e5e19ac8787ce01e, limb1: 0xe23b95c772890cc36eb7edd7, limb2: 0xa78e19bb81ea2fefc9e5ee40, - limb3: 0x98b9fa87c52256357e6ce9d - } + limb3: 0x98b9fa87c52256357e6ce9d, + }, }, E12D { w0: u384 { limb0: 0xb1832e7be4513791a1b5a318, limb1: 0xdab8acfabf82ff15fabe8bde, limb2: 0xd1448ba915158cf8dd685915, - limb3: 0x8a3480406ef8ab208c666da + limb3: 0x8a3480406ef8ab208c666da, }, w1: u384 { limb0: 0x7dc6f41df1fa7200a0e5046, limb1: 0x82afd83d6d865f579b9d987a, limb2: 0x3010fccb8d335ce1762c467c, - limb3: 0x12d4daf068c14b93bf91349a + limb3: 0x12d4daf068c14b93bf91349a, }, w2: u384 { limb0: 0x53b9d0922336710ddf03e6e9, limb1: 0xa2f7a6a8b7ea63dc7d3e5ce8, limb2: 0x2bc0e8f29fedb1969d4e5f70, - limb3: 0x19f8ad2a13f5789efa24f88d + limb3: 0x19f8ad2a13f5789efa24f88d, }, w3: u384 { limb0: 0x7fc2bba69df28a5e59bcf7e2, limb1: 0x93d61d335ab812d0fb5713ef, limb2: 0x86810bcd2b84909a86b9b8c2, - limb3: 0x5c4bd6acfb17dbb0de99e92 + limb3: 0x5c4bd6acfb17dbb0de99e92, }, w4: u384 { limb0: 0xabc6617ab0841c6fdd54cf71, limb1: 0x496bdff2baf9ba636d2800ca, limb2: 0xb46135c83828d48109162fc3, - limb3: 0xbe70db79d790397b600b4a7 + limb3: 0xbe70db79d790397b600b4a7, }, w5: u384 { limb0: 0x3aa09c6a57d7e89443f7196f, limb1: 0xd3c78490ef6a135ba4118eda, limb2: 0xd35cf1052a2161b3d1d9311e, - limb3: 0x3a504798d0df370f6dc9e00 + limb3: 0x3a504798d0df370f6dc9e00, }, w6: u384 { limb0: 0x946105209210749c1ad130ec, limb1: 0xe6944ce1875edfee81ba5ac, limb2: 0xe803f442e26a40d80220321b, - limb3: 0xa69d4ea6d1551c43e86ec33 + limb3: 0xa69d4ea6d1551c43e86ec33, }, w7: u384 { limb0: 0x7725777b6dd3a778505d129, limb1: 0xcf8f223a0ba7f0d56314005, limb2: 0x50b6542d68bb7e41cbac597d, - limb3: 0x6773d995348c78185a125af + limb3: 0x6773d995348c78185a125af, }, w8: u384 { limb0: 0x47dd4b505ece4e63c6a42ab9, limb1: 0x47b66fcf40b4579f8e7dafa8, limb2: 0xe1e00a837a5913248e2bc9ec, - limb3: 0x122e42c9101c0f785e0bf0ac + limb3: 0x122e42c9101c0f785e0bf0ac, }, w9: u384 { limb0: 0x320bc6a9543249df447ca30b, limb1: 0xae128dc852cdae534003d880, limb2: 0x2acf697d73ce229710a1db6f, - limb3: 0x169fa56b9fe0085cd1ec32e7 + limb3: 0x169fa56b9fe0085cd1ec32e7, }, w10: u384 { limb0: 0x9c3dc69b716e4c8b8a63f106, limb1: 0x7b7677044476f901b21ea7b4, limb2: 0x42e2af7bb87210cb120f41a7, - limb3: 0x179117c4bf7aeed19202d38a + limb3: 0x179117c4bf7aeed19202d38a, }, w11: u384 { limb0: 0x578af2d1c50886a02d13c7eb, limb1: 0x1d251a678674e497bfa5141e, limb2: 0xd5efc634d0cb4c7c1807787d, - limb3: 0x60538a49b6f95d8179548d1 - } + limb3: 0x60538a49b6f95d8179548d1, + }, }, E12D { w0: u384 { limb0: 0x14663ec8aaf41e9dac839168, limb1: 0x8320d3931ce0be5febdaa063, limb2: 0xe8a54f2801c82ff94d4af442, - limb3: 0x1537d76fdb6fcc5e66d13c05 + limb3: 0x1537d76fdb6fcc5e66d13c05, }, w1: u384 { limb0: 0xc408aeca0ef982f1d4919f16, limb1: 0xacf15993d11ed9b848098954, limb2: 0xe710b0aeaf54ebc0e4f53ef, - limb3: 0x1172e3f6d60f5b8f8275f3a3 + limb3: 0x1172e3f6d60f5b8f8275f3a3, }, w2: u384 { limb0: 0x807779f90c7ea090ec58037b, limb1: 0xfa1c670f3d46124c0962b69f, limb2: 0x812e66dc9ca6554d3d5fb28e, - limb3: 0xede7d1b272245097eeab0ea + limb3: 0xede7d1b272245097eeab0ea, }, w3: u384 { limb0: 0xfac578f3346be762844bd2ec, limb1: 0x994ad6bbf2b2282021651555, limb2: 0x20bd8715803ee77607e72467, - limb3: 0x7606e734900bc75f36d5948 + limb3: 0x7606e734900bc75f36d5948, }, w4: u384 { limb0: 0xc1ca06dc742aede8e3ed91c5, limb1: 0x71d50ee0f44520e8b6e60d54, limb2: 0xd0e04e25c2746017e5d029b8, - limb3: 0xd44f1471bc3b841396c63ee + limb3: 0xd44f1471bc3b841396c63ee, }, w5: u384 { limb0: 0x8863d4db6f58c06706c68dc, limb1: 0xcd8010d2fe2689df15faab2c, limb2: 0xe0bcfa9b2100aa2f75a3064b, - limb3: 0x198af1ae7a81661000298cf3 + limb3: 0x198af1ae7a81661000298cf3, }, w6: u384 { limb0: 0x584eba278a62b05b865d0046, limb1: 0xfd3905d4620e04d59c9f9db3, limb2: 0xb3a6714f1f875f49e045d5fd, - limb3: 0x109ae235efe54330fbaa8ef9 + limb3: 0x109ae235efe54330fbaa8ef9, }, w7: u384 { limb0: 0x41056d92722bdd9ef745bb95, limb1: 0xa49b528aa11e35ff72e1fde6, limb2: 0x9a18ff2224ff861ac716668c, - limb3: 0x47387893d8d042ea3a4f516 + limb3: 0x47387893d8d042ea3a4f516, }, w8: u384 { limb0: 0x6f24529271fb5203cfe12902, limb1: 0x310663d10c2acea99de8b04, limb2: 0xb5e0fae90872f9a49eaded38, - limb3: 0xd4cdc64cb2b7e85aa244f97 + limb3: 0xd4cdc64cb2b7e85aa244f97, }, w9: u384 { limb0: 0x99ed80f6330c7657ae9b36fa, limb1: 0xb4ecf4f1f9cc32690999e417, limb2: 0xd6a74b7ae48b6f4307720772, - limb3: 0xd55e06f38a04ecb830f50ec + limb3: 0xd55e06f38a04ecb830f50ec, }, w10: u384 { limb0: 0x824deee4997b239c579cdfdf, limb1: 0x64de788297270c01860e025d, limb2: 0x2c570777664a58e9ed48b38e, - limb3: 0x9845b19e98f1ec8238c635f + limb3: 0x9845b19e98f1ec8238c635f, }, w11: u384 { limb0: 0x13e8cac3d7640ddbb717cd3b, limb1: 0x2bb8aa759817d4f5a47fd7b0, limb2: 0xa1d374b7e02465a35189b692, - limb3: 0x351a9dec88d73a12476d425 - } + limb3: 0x351a9dec88d73a12476d425, + }, }, E12D { w0: u384 { limb0: 0xc5619e330db7753690d3e4d7, limb1: 0x47612532deb6199b29ae01f0, limb2: 0x526a20bf47a55f080f9bad08, - limb3: 0xcda6894283305a7ae037814 + limb3: 0xcda6894283305a7ae037814, }, w1: u384 { limb0: 0xd01df400ca021228f79039cf, limb1: 0x5079235d8e615126f16b88a7, limb2: 0x6b29bb389bdfc6cfc202e4df, - limb3: 0x4c469f79ecbf88cf78fba60 + limb3: 0x4c469f79ecbf88cf78fba60, }, w2: u384 { limb0: 0x392c76f20e657cca0412ccd2, limb1: 0x8a03a9b1522a799165f5ce90, limb2: 0x3f1c10daef22f593d0c939e7, - limb3: 0x114680f68ccb81f99a98d2e3 + limb3: 0x114680f68ccb81f99a98d2e3, }, w3: u384 { limb0: 0x1a5d475778ed021bbba71dff, limb1: 0x3c1dcef8127eb06e3d386b6d, limb2: 0xa18b55a60be13efc53be2643, - limb3: 0x430d7536307562e71e3b624 + limb3: 0x430d7536307562e71e3b624, }, w4: u384 { limb0: 0x33b945b9e91a613f214c281d, limb1: 0x5246a0bb4a3b5e88b2a556f7, limb2: 0x76952d20fa901063986b5af1, - limb3: 0x30dc626b4efb4dcf45dda85 + limb3: 0x30dc626b4efb4dcf45dda85, }, w5: u384 { limb0: 0xc91f47f926bf741f50167758, limb1: 0xb283412e7dec1abf2af4b54c, limb2: 0x819210cc10240985a197b6fd, - limb3: 0x148983abd0919160ca75ab3a + limb3: 0x148983abd0919160ca75ab3a, }, w6: u384 { limb0: 0x3ae52b385b8d7ccd1149b186, limb1: 0xc2fdad714d3b4f3b44c34b05, limb2: 0xa2594e80b8a3d876c89a7dd2, - limb3: 0x17e8e95e2e4453a999120f47 + limb3: 0x17e8e95e2e4453a999120f47, }, w7: u384 { limb0: 0x4143d9f9eae7ba680e4ce790, limb1: 0xc6428a7db6bcfe2c09ff2784, limb2: 0xb6c49338a7f200baf9ba7b62, - limb3: 0x110a8b846f24a8e5a48f8df8 + limb3: 0x110a8b846f24a8e5a48f8df8, }, w8: u384 { limb0: 0xec6894f7048d74cc521cfa9e, limb1: 0x7a74baa8349402edd473262e, limb2: 0xa587bd8ba9d0db61105a9bfb, - limb3: 0x1542de51d10ad154d14d1ab1 + limb3: 0x1542de51d10ad154d14d1ab1, }, w9: u384 { limb0: 0x623d3472956a6fd9dfb57f1c, limb1: 0xbc706464f02579b27b176261, limb2: 0x5fbba85d07f3b4037c86332c, - limb3: 0x389948fb6649d454eaafd78 + limb3: 0x389948fb6649d454eaafd78, }, w10: u384 { limb0: 0x3d6160146d3ee8bd841a82d8, limb1: 0xe798a563e2e9319cc47c6e26, limb2: 0x534d22ca0ba24f883387c567, - limb3: 0x8724e1114e6e80541a91631 + limb3: 0x8724e1114e6e80541a91631, }, w11: u384 { limb0: 0x274eb7f12825b047a3a3289c, limb1: 0x64eaa3423e2a707806fe1205, limb2: 0xf84ab17d32acb39a3dd6c673, - limb3: 0x127600c6ca9df9612df7b2e5 - } + limb3: 0x127600c6ca9df9612df7b2e5, + }, }, E12D { w0: u384 { limb0: 0x3796de51981f6024fd06174e, limb1: 0x94d83a402696f8c183f7eaa0, limb2: 0xc9225b2cfd7c3d5c24574a05, - limb3: 0x10c73e67a277a6aae451031d + limb3: 0x10c73e67a277a6aae451031d, }, w1: u384 { limb0: 0xf896b5516da8d004534d0d5e, limb1: 0x13d040c8b2eb76307a8963e2, limb2: 0x4106bcea580d4e5cdbac42fb, - limb3: 0x194bcf981b8ad069b42ef14f + limb3: 0x194bcf981b8ad069b42ef14f, }, w2: u384 { limb0: 0xa01d5085551a704cf0fc81f8, limb1: 0x6f550724287ce9ccd035e27c, limb2: 0x4ff8a38afc93789bc77d11e3, - limb3: 0x15387fd205f34ad531fb7495 + limb3: 0x15387fd205f34ad531fb7495, }, w3: u384 { limb0: 0x2d86600edfa521e03bd1e1c7, limb1: 0x91911144ee37f4bda9841ae8, limb2: 0x7013dc289771aae3049aa557, - limb3: 0x1264774c7cad53e0ce2c2512 + limb3: 0x1264774c7cad53e0ce2c2512, }, w4: u384 { limb0: 0x7b8d55a4e9537ae0138637b9, limb1: 0xaedbff15cf4e9d82355484c4, limb2: 0xfa1e2235cecbef2155df3ba, - limb3: 0x151f2f232b2c641091433b1f + limb3: 0x151f2f232b2c641091433b1f, }, w5: u384 { limb0: 0x72ec4e504cfb5f2b309e1b1b, limb1: 0xb307889291791d9836f74c5c, limb2: 0xcc60fb54fe4ebb3c834028fa, - limb3: 0x73d28c074b6d0a9bbb93a6e + limb3: 0x73d28c074b6d0a9bbb93a6e, }, w6: u384 { limb0: 0x42714ec1b398c2646a44fc8c, limb1: 0xf9c8174e936e14a688589f9b, limb2: 0x74f6aaa1b47f90087951593c, - limb3: 0xf56e6232d6c70f9bfc19e5e + limb3: 0xf56e6232d6c70f9bfc19e5e, }, w7: u384 { limb0: 0xe304f2b0d829f6d2faa65947, limb1: 0xa26f23153498cde40f054342, limb2: 0xfba50877ef63e16fa824a815, - limb3: 0x1256debfa10663438ea50adf + limb3: 0x1256debfa10663438ea50adf, }, w8: u384 { limb0: 0xc757cecbeefd79b47270e6b5, limb1: 0x3fb9d4754903dc457f7597dd, limb2: 0x8a9f050e1077482a52f7bef7, - limb3: 0xb1d0a3d278779c2252b7aa7 + limb3: 0xb1d0a3d278779c2252b7aa7, }, w9: u384 { limb0: 0x5092b50f667acdababf052a9, limb1: 0x67c7132abfda100e74791ab9, limb2: 0x679b7be1175e7dab6bbf7b8c, - limb3: 0x769778649047c85b6580077 + limb3: 0x769778649047c85b6580077, }, w10: u384 { limb0: 0xfd8979bca7fe4209f707b3a6, limb1: 0x9ec62bedcbf628a3ceb18d29, limb2: 0x319886ca998f583080ae6e1b, - limb3: 0x381d855df46f8b4c2c9d6a2 + limb3: 0x381d855df46f8b4c2c9d6a2, }, w11: u384 { limb0: 0x5724976349a32d6f327568bb, limb1: 0x17fdebce21bdc92e64f8196b, limb2: 0xeac82f3bc4b86e5d8147ef45, - limb3: 0x131358e92a4dd1ca0ddb2c80 - } + limb3: 0x131358e92a4dd1ca0ddb2c80, + }, }, E12D { w0: u384 { limb0: 0x35716cc42b7f43a8fc723ebf, limb1: 0x22fadd338e2c25972f85dda1, limb2: 0x46872acb9511d7767537705b, - limb3: 0x155d2de74effe44cf4798599 + limb3: 0x155d2de74effe44cf4798599, }, w1: u384 { limb0: 0x376ac4e9b575568e825c5a73, limb1: 0x2769ef9a9f77e879b6b8a6ec, limb2: 0xa666a8e2ee113b3b4567435a, - limb3: 0xc6b84a04fd0d0f116ad9e5a + limb3: 0xc6b84a04fd0d0f116ad9e5a, }, w2: u384 { limb0: 0x59d60284544cb1eaec05d203, limb1: 0xd6cf07d6abaf48adde29bad7, limb2: 0xf08eaf520c0bc5fe6b8eb966, - limb3: 0x8207e1ac978f7a918c110a2 + limb3: 0x8207e1ac978f7a918c110a2, }, w3: u384 { limb0: 0xbbdf9ed2369c8b7b97583800, limb1: 0xb649e54a0e1787927560a57f, limb2: 0xa914d51f826065538792be78, - limb3: 0x16b5820f317d590fbb5896f6 + limb3: 0x16b5820f317d590fbb5896f6, }, w4: u384 { limb0: 0x43ec6635aeecccb9d2c29f78, limb1: 0x8e2372e1b0e3678817be3069, limb2: 0xd78c8144a0ea302301b30a98, - limb3: 0x17a61c387bd1ad61e28354de + limb3: 0x17a61c387bd1ad61e28354de, }, w5: u384 { limb0: 0x4c34bc4845eec9fe3a68d75b, limb1: 0x314780d022648ad56cb24a5, limb2: 0x585a32f768086f1fdd9a8da, - limb3: 0x1324f29ce3b3d74e74b08b03 + limb3: 0x1324f29ce3b3d74e74b08b03, }, w6: u384 { limb0: 0x223401b4185f66cb102dc565, limb1: 0x46f3ebee9b04e69f007f8111, limb2: 0xf8ae83de384f52416b6be2, - limb3: 0x13727dee2bab50f43deaa793 + limb3: 0x13727dee2bab50f43deaa793, }, w7: u384 { limb0: 0xdafd089f3c769cddeb63c576, limb1: 0x4329764ad1958fba5407edb3, limb2: 0x832c80c10c3981b2d197d42f, - limb3: 0x14a64986d3b0dbbf0297eac8 + limb3: 0x14a64986d3b0dbbf0297eac8, }, w8: u384 { limb0: 0xeec166dc39802b9c81e08f7, limb1: 0x61a05c9d1447aba4d0279bbb, limb2: 0x5a891acf231010014c92af9d, - limb3: 0x42193c8d6a9bccd990e962e + limb3: 0x42193c8d6a9bccd990e962e, }, w9: u384 { limb0: 0xdbe5765f57be1a326f0b78bd, limb1: 0x3417ea0001ea3efb8c6de325, limb2: 0x80dfc16ab0411f7cb6727faa, - limb3: 0x19415881fac9b97f02c3a6f8 + limb3: 0x19415881fac9b97f02c3a6f8, }, w10: u384 { limb0: 0x6440e9bb2320475c39624871, limb1: 0xc39741e3212573abf24cd446, limb2: 0xddb817e1e7237e88f9285a4d, - limb3: 0x98fa9061f0a765886c03c21 + limb3: 0x98fa9061f0a765886c03c21, }, w11: u384 { limb0: 0x91b97eb11b2b9466c4781b02, limb1: 0x98c2e0826cece826f5d1e2a, limb2: 0xffdc08767b9c38eb95323f94, - limb3: 0xdb9012a8490308dfbd1ec31 - } + limb3: 0xdb9012a8490308dfbd1ec31, + }, }, E12D { w0: u384 { limb0: 0x3942fef601ca6d254a68858b, limb1: 0xea9499ac5e6f2d267cf812f6, limb2: 0x1ddc6c2df9859ff4f2adf48d, - limb3: 0x2f04749264cbba7320d82c7 + limb3: 0x2f04749264cbba7320d82c7, }, w1: u384 { limb0: 0xea370966790afa13e5a15b8b, limb1: 0xcf600ddedf1922470eb6c8f4, limb2: 0xcc3b2095a20acd637561e075, - limb3: 0x1099a2649fcc6f0876de42f4 + limb3: 0x1099a2649fcc6f0876de42f4, }, w2: u384 { limb0: 0xf7c03af81a901c952bb74ab0, limb1: 0x73344a8772689f0e65751dc, limb2: 0xad18a2477643704a0385cf67, - limb3: 0x6d8fdc35189573632dcc97 + limb3: 0x6d8fdc35189573632dcc97, }, w3: u384 { limb0: 0xc40e849145b8a6ac81ba9633, limb1: 0xaf7eee8a3d8b2ce1ee4f3450, limb2: 0xeb5dc70d8393cddf4b749d5e, - limb3: 0x3a16616e0857c168005f567 + limb3: 0x3a16616e0857c168005f567, }, w4: u384 { limb0: 0xa46376638fd600b1522df0eb, limb1: 0xd54238ba273db8846de529d5, limb2: 0x5c999239af48c2ee8edebd55, - limb3: 0x4573d87029391d0d65f209d + limb3: 0x4573d87029391d0d65f209d, }, w5: u384 { limb0: 0x320028c1a7a461ad9eb19b21, limb1: 0x3b1235187099e3e7eccea674, limb2: 0xc63359900cf9bea379c7c265, - limb3: 0x181ece5056a99b30368a01f7 + limb3: 0x181ece5056a99b30368a01f7, }, w6: u384 { limb0: 0x67c40b01d45218cb7c9261ed, limb1: 0x5f12224f9bc6f6b0f758ed7c, limb2: 0xfe65e99f9dba2b226f3bdb14, - limb3: 0xefb00660b8c006503becde6 + limb3: 0xefb00660b8c006503becde6, }, w7: u384 { limb0: 0x98835c191b00687892a50c84, limb1: 0xd4ce327a1cde229daaf91062, limb2: 0x41b55aa7f2b569fbe90125b3, - limb3: 0xb5ddb3660a32eb070881b79 + limb3: 0xb5ddb3660a32eb070881b79, }, w8: u384 { limb0: 0xdf1e95ef6d2b993d5a1909e8, limb1: 0xa22871054afc0a86111e80ac, limb2: 0x65699d8354776199ea73ba7e, - limb3: 0xad1800f05ab0f5361037f95 + limb3: 0xad1800f05ab0f5361037f95, }, w9: u384 { limb0: 0x332c0317051a794c9dea2cbf, limb1: 0xf8a485eae6c2e410a7f79c41, limb2: 0xffb6acfadd9e81a1d72f7ab5, - limb3: 0x4af742d5ef004df236eac2 + limb3: 0x4af742d5ef004df236eac2, }, w10: u384 { limb0: 0x6e7cd75aecd367d01b025d90, limb1: 0xea672964fdc59edd7195d82a, limb2: 0x9ef714a07f2ab07c12d493, - limb3: 0x11a59352336ea017c4cf99eb + limb3: 0x11a59352336ea017c4cf99eb, }, w11: u384 { limb0: 0x499742508d3b02cee2ce2e5f, limb1: 0x2a7cd0175d28e3847c94e3a7, limb2: 0xba1633b10be308ed90e705de, - limb3: 0x144cf257dd87eb064641dc1d - } + limb3: 0x144cf257dd87eb064641dc1d, + }, }, E12D { w0: u384 { limb0: 0x5588cede045d2cdadf0827cf, limb1: 0x8829d5bef0b199f40c4218aa, limb2: 0xde50f9075bb8b7bbf873dafe, - limb3: 0x169bf614aa148aade5ddee29 + limb3: 0x169bf614aa148aade5ddee29, }, w1: u384 { limb0: 0xdb2b9f6b9cea43f3771a2810, limb1: 0xf30659616ad48cc3d02ad552, limb2: 0xdb3f39565fbac93235ddf67a, - limb3: 0xd897622f1ee1f5a889fff2b + limb3: 0xd897622f1ee1f5a889fff2b, }, w2: u384 { limb0: 0xc81128b16bf3342deb344274, limb1: 0xd317b6705fa602f2782a16db, limb2: 0xef2d519a4cd337872aa8a9d9, - limb3: 0xc3478cb19d1dbdf19ebd5c4 + limb3: 0xc3478cb19d1dbdf19ebd5c4, }, w3: u384 { limb0: 0xa47ec9609689112917e7ffde, limb1: 0x5609dfe0d98894b8a636cfa2, limb2: 0xd919558b35a2b260310069eb, - limb3: 0x37a1068ca3a9c3f9cfc9c77 + limb3: 0x37a1068ca3a9c3f9cfc9c77, }, w4: u384 { limb0: 0xa38097592eae5f41aae85f73, limb1: 0xb0227e1e6c4f1a2b68373d92, limb2: 0xca4181ef54e72f36c0ad2e9e, - limb3: 0xcaaec19729ff62d200f2d46 + limb3: 0xcaaec19729ff62d200f2d46, }, w5: u384 { limb0: 0xe632b6beb47754be744835c5, limb1: 0xa13d9f0d6987474db8886bc5, limb2: 0x861e8f934f2bd6c26382b37b, - limb3: 0x17b17e0214847d1133211504 + limb3: 0x17b17e0214847d1133211504, }, w6: u384 { limb0: 0xeed6293aaea5b464d9557224, limb1: 0x616885cc41b7f2ca0e9eccf4, limb2: 0x5fcb40d8ac2c3e379f9f73db, - limb3: 0x1722192cc0b28826f6ba15b3 + limb3: 0x1722192cc0b28826f6ba15b3, }, w7: u384 { limb0: 0xb86298adf0e72ec3d58a8cfd, limb1: 0x462eef29c5602d38f0edf121, limb2: 0x441e4b2a0eb332c9f50113e3, - limb3: 0xcec368a8e54826df43c7363 + limb3: 0xcec368a8e54826df43c7363, }, w8: u384 { limb0: 0x6e688697f816d51595ca5d89, limb1: 0x52ebb737369c18d3262d993e, limb2: 0xf99ba53fff7f6388fcd62931, - limb3: 0xd8f799ebfe1e31688b8dbfb + limb3: 0xd8f799ebfe1e31688b8dbfb, }, w9: u384 { limb0: 0x2dab5a73563d5e85efcdcf5f, limb1: 0x49017e5fc6f43c3090f3a839, limb2: 0xc7ca32a8e5a9c6d89bedfa29, - limb3: 0xc88b068705e1ea444253e1f + limb3: 0xc88b068705e1ea444253e1f, }, w10: u384 { limb0: 0xf7068f0c42467375c56087f8, limb1: 0x8a6255309aaf6bcbe62a4e4b, limb2: 0x86d81d3ee6eca316720203d2, - limb3: 0x5f7fbd590cd861c1cad178c + limb3: 0x5f7fbd590cd861c1cad178c, }, w11: u384 { limb0: 0x6db80280e98bc1d1e0212e5a, limb1: 0xb5cafdce4554a39773fa052f, limb2: 0x4f6819e8a4acdd8eb4c432fb, - limb3: 0xa9dd9ec5b1fcf4c0f2f96af - } + limb3: 0xa9dd9ec5b1fcf4c0f2f96af, + }, }, ] .span(), @@ -27666,632 +27666,632 @@ mod pairing_tests { limb0: 0xa3e7983c52177ee6cf41c933, limb1: 0xc878551a5bcfcbbab4fa69c0, limb2: 0x2b62241b4767f4c27ab37152, - limb3: 0xdacf9d78c1e5a7249ba8575 + limb3: 0xdacf9d78c1e5a7249ba8575, }, u384 { limb0: 0x34b5b0aadbe8cefd99f78efe, limb1: 0x9a6280d93e90dfa2ad8a0665, limb2: 0x865b30729431e943d5d1da25, - limb3: 0x135415bc74a5fbd02ff8bf2 + limb3: 0x135415bc74a5fbd02ff8bf2, }, u384 { limb0: 0xe1a3f72cddbb3eab626b78c5, limb1: 0x1136ac541672565e176d1a5, limb2: 0xf05ea1d1352e7b8547f58a85, - limb3: 0x8d14ed0d8b92ae5c708fde2 + limb3: 0x8d14ed0d8b92ae5c708fde2, }, u384 { limb0: 0xe227f08ec8f084a914aaec06, limb1: 0xd8830486ba4f5b633dba9a94, limb2: 0xee639e145fe2c50aadd58f9d, - limb3: 0x16d5866a88ecc0b6d1a2b73d + limb3: 0x16d5866a88ecc0b6d1a2b73d, }, u384 { limb0: 0xcab9d6e9c20fabc2c57eaeb0, limb1: 0xc5a27d49dc4fbcd898c110, limb2: 0xa2c16cb9bad21819c1e58056, - limb3: 0x25e9e35311aa0d542776bbe + limb3: 0x25e9e35311aa0d542776bbe, }, u384 { limb0: 0x1de07ee6ea1ebf0ac58a8482, limb1: 0xa94582ffcc3ed6d1deb5ad0d, limb2: 0xaf27c71d444a1500dd94472d, - limb3: 0xea799db2c35ebc2ec4d0c02 + limb3: 0xea799db2c35ebc2ec4d0c02, }, u384 { limb0: 0xc40c54a8a98b58dd6c95920e, limb1: 0x23cfa238f21886e9674d7e5d, limb2: 0xeb224473f987f0a78eee502b, - limb3: 0x10872f85034f3fe8144778f9 + limb3: 0x10872f85034f3fe8144778f9, }, u384 { limb0: 0xc62ae0bd57d10fec3931d5d6, limb1: 0x95feebdca88ccfbf96839d3d, limb2: 0xc701bfbc1bd3b8b99fd328ee, - limb3: 0x105fea6244eaccdba68b82c8 + limb3: 0x105fea6244eaccdba68b82c8, }, u384 { limb0: 0x9999a68d5a0d8dbab2fe7cac, limb1: 0xf2f284cc782dd186c1a21080, limb2: 0xaa345100d7ac78af7f07ab0, - limb3: 0x343ad4472e81aa23f653c50 + limb3: 0x343ad4472e81aa23f653c50, }, u384 { limb0: 0x322a4bb34dbaa4ac421b2a6f, limb1: 0x6814a2cbfe211b4f8c5fa074, limb2: 0x9e6dcc54c28ea1b738a5f638, - limb3: 0xb15ff9a6a324ee552544301 + limb3: 0xb15ff9a6a324ee552544301, }, u384 { limb0: 0x773a8a06261c3fa21f0c273, limb1: 0x67a4d4bf13a8a3926c101d4c, limb2: 0xac2435c8750985c83a5acf42, - limb3: 0x2ba3c4ba4d6c7d32bd4132b + limb3: 0x2ba3c4ba4d6c7d32bd4132b, }, u384 { limb0: 0x5af4e8623a9a6ac55368c9a1, limb1: 0x41acfdeedee3a3f2e1d63086, limb2: 0xcf75b6d87de178babc0f7338, - limb3: 0x145c33aa2b9a87ad7f4e6fac + limb3: 0x145c33aa2b9a87ad7f4e6fac, }, u384 { limb0: 0xfcb4a32f66cb0b7de885e321, limb1: 0x811754d5357ff3190cb7cf76, limb2: 0x7ac0c7a8d2e6b4870e6fdade, - limb3: 0x7da36f12e5347ecc727e2c2 + limb3: 0x7da36f12e5347ecc727e2c2, }, u384 { limb0: 0x8160b9669e247add8120f235, limb1: 0xe5cdd506f81dd052a6669c1f, limb2: 0xe49635da08fae0e68e8d61b5, - limb3: 0xe2f09f8bb68ab60b8b100d7 + limb3: 0xe2f09f8bb68ab60b8b100d7, }, u384 { limb0: 0x14f979d377f8f7ee85fbdb0f, limb1: 0x4a253b371d8e10ccb8140608, limb2: 0xe993276269db8f8fe4c6e9da, - limb3: 0x18461083f0b47c0c08af3b84 + limb3: 0x18461083f0b47c0c08af3b84, }, u384 { limb0: 0xbf9c91b7bb6a96f6c4bbfd44, limb1: 0xf63df8512b092f6e1f7d0912, limb2: 0x9fcf0b5ed958431cf026adf4, - limb3: 0x1384e76e9a670644b1b7b75a + limb3: 0x1384e76e9a670644b1b7b75a, }, u384 { limb0: 0x21cf2e9de4f3199b49259102, limb1: 0xbc59d1d4b8f60f3cbdb5c9ad, limb2: 0x6b82dcf85e7f92dbd14dede7, - limb3: 0x4473eaf269c3e6fbfe4eb03 + limb3: 0x4473eaf269c3e6fbfe4eb03, }, u384 { limb0: 0x8e63d68e90269688ba6352e9, limb1: 0xb106824baf4fd76a823b7af2, limb2: 0xb4bc212d749cdc93e6c15422, - limb3: 0x16613b344965687fcbc10105 + limb3: 0x16613b344965687fcbc10105, }, u384 { limb0: 0xfcfe7ecf997f6c1a347a29fe, limb1: 0x2fdc09c863ad94e54eb5d703, limb2: 0x86f3685e20c326d5f3809388, - limb3: 0xdc859a1bcb3aebca401a59d + limb3: 0xdc859a1bcb3aebca401a59d, }, u384 { limb0: 0x4df51952a468c6d25d3a04bb, limb1: 0x9f6e9bec9331d07c650c87bc, limb2: 0x4d645131f9dfa76d49e41f51, - limb3: 0x132f774d519a3905da1d4b18 + limb3: 0x132f774d519a3905da1d4b18, }, u384 { limb0: 0xe9be209e4c33a33f7b4a42ea, limb1: 0xae0dcc32ebded1f383fa42d0, limb2: 0x58009958214ba0bdf2abf496, - limb3: 0x14a9111bba2b4d828f06aba3 + limb3: 0x14a9111bba2b4d828f06aba3, }, u384 { limb0: 0xb096418d73f483d869cbcb26, limb1: 0xa367552525613be95682f92f, limb2: 0xbc53055b9c5cacb945022d99, - limb3: 0x2761a9462c8c3b9cbe40b8a + limb3: 0x2761a9462c8c3b9cbe40b8a, }, u384 { limb0: 0x1c82a472f773aa50cb3a26ad, limb1: 0x910bfd64328667e2cf2f01fe, limb2: 0xcba47b5229b2fa16f57087ff, - limb3: 0x11a4815594889554d6f1b82a + limb3: 0x11a4815594889554d6f1b82a, }, u384 { limb0: 0xd3a8656fc667f66a8e3f5551, limb1: 0x5f26ac312c48aa10a935e8da, limb2: 0xea6257b784db16392e5c1f87, - limb3: 0x9ed9fa4a643e2beb42cb885 + limb3: 0x9ed9fa4a643e2beb42cb885, }, u384 { limb0: 0x97d53d5b490f97f883fd947f, limb1: 0x291dbf974b5132f8cfeb3221, limb2: 0xa5411e44ca4257463b9c6eda, - limb3: 0x11ffbef22d3ad11288ff557a + limb3: 0x11ffbef22d3ad11288ff557a, }, u384 { limb0: 0x41737e532acef42b3d1be5e9, limb1: 0x670f086a44ac2205ca45bd31, limb2: 0xe125411dfe8a9de1f56d4e8a, - limb3: 0xa86753884997263cf69cd83 + limb3: 0xa86753884997263cf69cd83, }, u384 { limb0: 0x44dbcf54946b874587ed7bb1, limb1: 0xf5d4c8a8204d2a664d8af6f7, limb2: 0xd204792106e5ec68e911c843, - limb3: 0x6b6f000b587e27bb0daca41 + limb3: 0x6b6f000b587e27bb0daca41, }, u384 { limb0: 0xbbd55fbfec342eb68cb8b33d, limb1: 0x747ea6682b239da8f5e04b93, limb2: 0x6ea818bd303ba94c1f2cc968, - limb3: 0x12a064cae2c76bf62ed31484 + limb3: 0x12a064cae2c76bf62ed31484, }, u384 { limb0: 0x12d6eebfd7403e9217b2b18e, limb1: 0xabf7f443758d36e3195a082a, limb2: 0xe096432b817fedfdd3e1ec6c, - limb3: 0xd5aab1540319196ffb170a4 + limb3: 0xd5aab1540319196ffb170a4, }, u384 { limb0: 0x9f08a841896fcad4240b5a51, limb1: 0x702c510883126781e0a0d224, limb2: 0x7a3c846a3a2c1356f448f7d0, - limb3: 0x13f345b11e7f78ede9880c46 + limb3: 0x13f345b11e7f78ede9880c46, }, u384 { limb0: 0x78dae6353db728f888c96e71, limb1: 0x2cbbe2a267c2693af367e916, limb2: 0x3279e899d488aab5a0f0b331, - limb3: 0xd813f3ed134d8fa1644dc3b + limb3: 0xd813f3ed134d8fa1644dc3b, }, u384 { limb0: 0x2256b160d645a67b803a4c1b, limb1: 0x9ef42e9d6079aca8912584c8, limb2: 0xb37159d8f446a918f3083680, - limb3: 0x493481804234aca717daa57 + limb3: 0x493481804234aca717daa57, }, u384 { limb0: 0x404a8f7b21c4f49768cc9b6d, limb1: 0xfd850a59f99f96297ec7a03f, limb2: 0xf44d87ad17e4064df29937d, - limb3: 0x108e026b451ea7f34b03e04d + limb3: 0x108e026b451ea7f34b03e04d, }, u384 { limb0: 0x676001481384864737f79623, limb1: 0x43d21fc0760ffe5cca1227e5, limb2: 0xb327c2096a71789546ce915f, - limb3: 0xbb65761e3840a22923e9a5a + limb3: 0xbb65761e3840a22923e9a5a, }, u384 { limb0: 0x41fb8fcfc298298bb67ed951, limb1: 0xeb2f9fd1b274c13753e66a76, limb2: 0x125a8ac6fcca7696cc0119dc, - limb3: 0x12ce40e89aa31e0c48e9b17e + limb3: 0x12ce40e89aa31e0c48e9b17e, }, u384 { limb0: 0x6487f6d88482a43b5d44286a, limb1: 0x8b94426f8e4215d9b5f631b3, limb2: 0xabaa7ad3a73db19f228483e5, - limb3: 0x162be59dc601e95155ae78b3 + limb3: 0x162be59dc601e95155ae78b3, }, u384 { limb0: 0x52f8e9e7ac8c0cc662b64d2d, limb1: 0x15843403ed5567c4c150e5b9, limb2: 0x5d1ae203198d1a4b87392b8e, - limb3: 0x8a220a85128d41acaf087b8 + limb3: 0x8a220a85128d41acaf087b8, }, u384 { limb0: 0xa7543c9d40a21e6b2c018cc3, limb1: 0xf0e63d1d87a37ae0285a92e5, limb2: 0xb9240e43e9226caddbc298c7, - limb3: 0x174133829864e2c73869b566 + limb3: 0x174133829864e2c73869b566, }, u384 { limb0: 0x9ddabb3c89f47cc45028ce2a, limb1: 0xeedeedfd93d787c4e8b17065, limb2: 0x25a47874dd13ff54050e9650, - limb3: 0x181540a9209d7cc95173a8f0 + limb3: 0x181540a9209d7cc95173a8f0, }, u384 { limb0: 0xdaed2660a5ff230a5edb6826, limb1: 0x6f8b629c4e1dfba3d941d189, limb2: 0xd9fe3017a9894e0dcdb8f18a, - limb3: 0x2ac145499f0bae525fdbe8f + limb3: 0x2ac145499f0bae525fdbe8f, }, u384 { limb0: 0x24d9cacd6fa96d47563f0810, limb1: 0x9e62880e68213cef54eca7d7, limb2: 0x2f4952f65caf8b35ca45b1e6, - limb3: 0x76485351c3244ebbdda82fc + limb3: 0x76485351c3244ebbdda82fc, }, u384 { limb0: 0x3c7af92fcb15892946b231bd, limb1: 0x7a23d11c9da05d0f5c1a5e0c, limb2: 0xe6d9cc8f633fc6df1cfcdcd7, - limb3: 0x1043b80e317cd44a6d6cb94a + limb3: 0x1043b80e317cd44a6d6cb94a, }, u384 { limb0: 0x8a0018c64fc1ede388b9f06c, limb1: 0x2c6dd13e376d0554f0e5e9af, limb2: 0x217e85cb06f91b9cf4619f5e, - limb3: 0xa31fe4ce1acc632d6535aae + limb3: 0xa31fe4ce1acc632d6535aae, }, u384 { limb0: 0x57b8e928b11578ec61d9f7ab, limb1: 0x4c0238a8cc7f74c7794cdab2, limb2: 0xdeeec6219b375359c10e4c9d, - limb3: 0x183882c308736f91f012c6d + limb3: 0x183882c308736f91f012c6d, }, u384 { limb0: 0xa38ee57aab4db83cc0c0ab7d, limb1: 0x46831e6c8dd9f038a8eeae0f, limb2: 0xb2b60c5f1b8a404445ac6e9a, - limb3: 0x1371ef241ba8bf98a6466e31 + limb3: 0x1371ef241ba8bf98a6466e31, }, u384 { limb0: 0x3bf6587a61d4012a7ba04b83, limb1: 0x549f8bd35e9a3b13af8d9f5e, limb2: 0xbb8c7e0ad2385fe9567cc29c, - limb3: 0x2853accb2fcd66bfe6b85e0 + limb3: 0x2853accb2fcd66bfe6b85e0, }, u384 { limb0: 0xd801b9782f1926f15f2708a6, limb1: 0xb8f367f8068e5722408eb044, limb2: 0x886d473c0ed54a59c8b0387d, - limb3: 0x181091a78bfb5e9f743d8762 + limb3: 0x181091a78bfb5e9f743d8762, }, u384 { limb0: 0x438cf288e771599472a5526e, limb1: 0xe81d529c0190d6b146c21308, limb2: 0xf1c4408e67d8dc2057fa293b, - limb3: 0xe58746f565f526c5d03155c + limb3: 0xe58746f565f526c5d03155c, }, u384 { limb0: 0x9f6a6df7200623e2e15b76a2, limb1: 0xdcbbd33826446c6cb72dd7f2, limb2: 0x3398543901474dc826e6949b, - limb3: 0x17d8d68422134dcf9b225a8b + limb3: 0x17d8d68422134dcf9b225a8b, }, u384 { limb0: 0x96570e66e6610aac72e6aed2, limb1: 0x809ff6ce0dbcafe421a51f05, limb2: 0xe4aa4350b86f57c80edbd4d, - limb3: 0x143b203d18c70a2c3549e34d + limb3: 0x143b203d18c70a2c3549e34d, }, u384 { limb0: 0x9193d7a0bf7f1b505cef9e84, limb1: 0x27530086f2cee2660f39d337, limb2: 0xdf0646132dad6339753ea961, - limb3: 0x21eea0b2e377e215f369ca5 + limb3: 0x21eea0b2e377e215f369ca5, }, u384 { limb0: 0xd04959600b75b90540f205b4, limb1: 0xcd8455c70d0098c7234c8078, limb2: 0x6fe788663d4d3168c81b9ce3, - limb3: 0x616db3e981a3425be0a7a2 + limb3: 0x616db3e981a3425be0a7a2, }, u384 { limb0: 0x2d77b5fbe9db433105acf954, limb1: 0x5a4009ff7e99f8ebffb2e98a, limb2: 0x51ffdf293bef21cf6c6eee68, - limb3: 0x294f7541c9d9bdecf46e774 + limb3: 0x294f7541c9d9bdecf46e774, }, u384 { limb0: 0x3973b46e5b0edb78e96a6337, limb1: 0x96b7f328e1c240c4445c3834, limb2: 0xc1fc7a63a9b050d51440bbda, - limb3: 0x785174eaa67f2fa33909b87 + limb3: 0x785174eaa67f2fa33909b87, }, u384 { limb0: 0xd0e7517380c0ba5bb79d5a01, limb1: 0x4614d62d5defbc74d8d7a151, limb2: 0x1866a8621be9e94fdabb28c7, - limb3: 0x98fb6300447a52f3616fb71 + limb3: 0x98fb6300447a52f3616fb71, }, u384 { limb0: 0xce4eccda4fce4e8c75a7352a, limb1: 0xf16bdc7ee87b53a5e82cffeb, limb2: 0xc4606b921784277f36337621, - limb3: 0x1767bcc869a11d8adc6e42f1 + limb3: 0x1767bcc869a11d8adc6e42f1, }, u384 { limb0: 0x3edb8b879b179ea8366d881c, limb1: 0x169ebac9ec4259213968b3f7, limb2: 0x7e5a01a3eb712a4cfc0c560f, - limb3: 0x6219432187d7ff1fc5d4867 + limb3: 0x6219432187d7ff1fc5d4867, }, u384 { limb0: 0x8d70b768dd084696486c2730, limb1: 0x79f8154666baad6aa5355b37, limb2: 0xdad413a5a8d8fe43d12c2b54, - limb3: 0x15287765b2986b3b61183d2e + limb3: 0x15287765b2986b3b61183d2e, }, u384 { limb0: 0x12b8c8e2823152c7c58a2b94, limb1: 0xfc4da7ba1ba1c60085cdd334, limb2: 0x6b0e50a8ee1f77e1c515729f, - limb3: 0xe095dd5dc4e89696068434a + limb3: 0xe095dd5dc4e89696068434a, }, u384 { limb0: 0xa67bd8474e80fd28cca789e0, limb1: 0x626e4cad3d2db14b78e7d1d6, limb2: 0xa0b17ca88bcbbc817560e5d6, - limb3: 0x3a6d45854572b78c2263ccb + limb3: 0x3a6d45854572b78c2263ccb, }, u384 { limb0: 0x50e6cef658954cb8977d6c33, limb1: 0x23b748e09ecb7fb9fc71c7c1, limb2: 0x1da0be59e29cb5abfe98c974, - limb3: 0xbe9524bb8d7ba19f570c49f + limb3: 0xbe9524bb8d7ba19f570c49f, }, u384 { limb0: 0xc11094ca0d9fd5f015814a4c, limb1: 0xd6585ac7d8b483a0c5537fc, limb2: 0x342727ac4d7cc4946433934a, - limb3: 0xeb9c52fd584f614281bd275 + limb3: 0xeb9c52fd584f614281bd275, }, u384 { limb0: 0xb36fd7eeea73dcaf7f6e1ca, limb1: 0x5c2266daccd053197e9630c8, limb2: 0x8de08fd88c782cdd50f05c17, - limb3: 0x13ad3640489db585622bec2d + limb3: 0x13ad3640489db585622bec2d, }, u384 { limb0: 0x8d25eb61d0917aedaa203b03, limb1: 0x19c66293a078bd475b83fa1f, limb2: 0x4899256cdfaf3b78904a9657, - limb3: 0x14fc015f336c2fae0ba0e5d1 + limb3: 0x14fc015f336c2fae0ba0e5d1, }, u384 { limb0: 0xd07bcf1fa64d13cd8a9097c4, limb1: 0xa349ab74b5a947f23ff007e3, limb2: 0xe5260f2ac6a6b0bb5b46c417, - limb3: 0xf7bfb970b528b4b9fae490a + limb3: 0xf7bfb970b528b4b9fae490a, }, u384 { limb0: 0xf937c7eafdd7c42426b00ebe, limb1: 0x8fb6ec259904060b238a4f0c, limb2: 0xeea2eedba516080e61b4f6d, - limb3: 0x18555b780609caa6d0cb0417 + limb3: 0x18555b780609caa6d0cb0417, }, u384 { limb0: 0x34bca95e3f96c8f8b6b5a191, limb1: 0xe3d7af77d24e1123a970c9c, limb2: 0x7245e00a7fec5e855510eda6, - limb3: 0x126c2e3e8f82b756ab63a041 + limb3: 0x126c2e3e8f82b756ab63a041, }, u384 { limb0: 0xeef8e93607614421e26f1224, limb1: 0x478b6ba88197dff4715f19cc, limb2: 0x20105a60ba2ab47d25e6dbd9, - limb3: 0x70eb1b71ee80e4bcae932f6 + limb3: 0x70eb1b71ee80e4bcae932f6, }, u384 { limb0: 0x36302ca9ea2ebd5c1528ce4, limb1: 0xcd0bda2fe4dcdcbd5e5e0f95, limb2: 0x51185896890885859d1e845f, - limb3: 0x18aa78beb5195767390ecff4 + limb3: 0x18aa78beb5195767390ecff4, }, u384 { limb0: 0xd37d81b972abe8315debd29, limb1: 0xa130f42959767c3e87b8cf47, limb2: 0xf342b8d8e8aebd4518b5245d, - limb3: 0xa73a32ef177b50d3662ba67 + limb3: 0xa73a32ef177b50d3662ba67, }, u384 { limb0: 0xa2f75443547cb906deb480bf, limb1: 0x2930d5d862ffb28424662dd, limb2: 0x45752ebf9fc6de30fa380a5a, - limb3: 0x11502d2e5e21ac43e917c074 + limb3: 0x11502d2e5e21ac43e917c074, }, u384 { limb0: 0xe715a44c794a7e0f884ebc18, limb1: 0x73e650d26092964acf629274, limb2: 0x43c55bb4ddc43f319c2561e4, - limb3: 0xfad15687e891b1eb735171b + limb3: 0xfad15687e891b1eb735171b, }, u384 { limb0: 0xc2f698d63ca028b98a6d9aea, limb1: 0x73fcf20984a4ab126ecce076, limb2: 0xfc9a973c051884a070acb816, - limb3: 0x17b570f4e7dc3ae239907760 + limb3: 0x17b570f4e7dc3ae239907760, }, u384 { limb0: 0xaf976e42a58efa388af0e932, limb1: 0x974b9e6e69c2a1f0d111a407, limb2: 0xfdcc81597dfa49a160bc4fe9, - limb3: 0x9779fd42cd81ab36e9a2842 + limb3: 0x9779fd42cd81ab36e9a2842, }, u384 { limb0: 0xeba568c8d48ea9247d48da86, limb1: 0x31028ed5ce52e5bb1399de93, limb2: 0x2c3517df64b4203368ed495d, - limb3: 0xea96c78b74a7dc6ca65fcd2 + limb3: 0xea96c78b74a7dc6ca65fcd2, }, u384 { limb0: 0xf97689d41c97c408554df47e, limb1: 0x3fbca2694c7127674a73c09, limb2: 0xc1629f5d7a9cc060de3e3a93, - limb3: 0x115729f70cc43fd02000607c + limb3: 0x115729f70cc43fd02000607c, }, u384 { limb0: 0x118ab651b6dad5a06c3934c2, limb1: 0xc2aecf4b70ab6c521acafcd3, limb2: 0xf3360109e2c7e3b486b12389, - limb3: 0x17e47b2737336dc89e3118e2 + limb3: 0x17e47b2737336dc89e3118e2, }, u384 { limb0: 0xb55c665c5800d68992578fb, limb1: 0xda3a2aea858214dfd3c14a9a, limb2: 0x8fea9a10fa33d1a919753afe, - limb3: 0xdaa852dd4e69699b9ec6ddc + limb3: 0xdaa852dd4e69699b9ec6ddc, }, u384 { limb0: 0xd54bcb3fe9bdf25a3a4daf9e, limb1: 0x6c18e602b7827a15c04c79cb, limb2: 0xbd50d1bb8e5dd1598c877956, - limb3: 0x163474135b8f40f19e415488 + limb3: 0x163474135b8f40f19e415488, }, u384 { limb0: 0xf3ed6e343e2c3bc6160e6e79, limb1: 0x1aa65941c9a97402cfb93fe8, limb2: 0x3b1777005f029a19938d8eb0, - limb3: 0x10c9c8b830679bd068ca253b + limb3: 0x10c9c8b830679bd068ca253b, }, u384 { limb0: 0xdbfbc9ebb4d95831e9e2805a, limb1: 0x25a303f91fbfd9aae10c331d, limb2: 0xce0a31138c35124e586161ec, - limb3: 0x106b7ac16ffc67cf8012417d + limb3: 0x106b7ac16ffc67cf8012417d, }, u384 { limb0: 0x565d4552b2dee52d0f668cf2, limb1: 0x37b94f8089b9e90e94bef32e, limb2: 0xa00cd6632b921f5332f93b33, - limb3: 0x16f25ae6f9cd30da6e99b4ed + limb3: 0x16f25ae6f9cd30da6e99b4ed, }, u384 { limb0: 0xa8ee5961d79366b3d5943987, limb1: 0xe2d7554eb07b8ab43e18fc03, limb2: 0x3a764b8c918727268c15ef80, - limb3: 0xf116ac9b10df307a601ded3 + limb3: 0xf116ac9b10df307a601ded3, }, u384 { limb0: 0x489d978db736cc63b13fe637, limb1: 0x643040f36b3b805abde8e62a, limb2: 0xddab1b3cdac5a66ff7fa96c1, - limb3: 0xebaa51308a6e8a5bfeff633 + limb3: 0xebaa51308a6e8a5bfeff633, }, u384 { limb0: 0x48e5740b86efd742eee3245c, limb1: 0x86605f0f664611ac11565e5e, limb2: 0x6adea6b556c3b46f40e69b1, - limb3: 0x24a52f02942d41ef71806c2 + limb3: 0x24a52f02942d41ef71806c2, }, u384 { limb0: 0xf7b37254f7e999db41f5436e, limb1: 0x9b9904005067c13b6b87d825, limb2: 0xbb44d5933aadcf7885f2cfc3, - limb3: 0x1021547dedb3bc5c2d8233c6 + limb3: 0x1021547dedb3bc5c2d8233c6, }, u384 { limb0: 0xb879d8d9c4f8242b0435702, limb1: 0x62cbeef11bdb3be23d61643c, limb2: 0xe4b55474006b4147fa931f36, - limb3: 0x16f6e4ad0e8e9869ebbb6387 + limb3: 0x16f6e4ad0e8e9869ebbb6387, }, u384 { limb0: 0x11a50490a3947262e2378540, limb1: 0xa7bb06c66b7fb8e8d3a09db0, limb2: 0x50010b811e9c9562094eb3c2, - limb3: 0x128f415f641f8f3f827b0f6d + limb3: 0x128f415f641f8f3f827b0f6d, }, u384 { limb0: 0xe65949b0e8f7fdc852eef5ff, limb1: 0xe70bc64e04b35b0e1c619ef0, limb2: 0xd0a97da8368c5c32db26cf98, - limb3: 0xc34b7632f7eacf863dc052e + limb3: 0xc34b7632f7eacf863dc052e, }, u384 { limb0: 0x15d08e7c62dfd88fcb98177b, limb1: 0x4c2f39533b6fcad3c4793f61, limb2: 0xd9cdb19e87aceb3a0cb8162c, - limb3: 0x3418cd59104763ba746ce22 + limb3: 0x3418cd59104763ba746ce22, }, u384 { limb0: 0xe1e3eb4a7f1cc46253fd21db, limb1: 0xda276d04975f3c8fd0ebb3ae, limb2: 0xefb1d67e7d5b535f0be7f69, - limb3: 0x1968c06bae09dfcfd490698b + limb3: 0x1968c06bae09dfcfd490698b, }, u384 { limb0: 0xaff772f3fb0df6a83a06e103, limb1: 0x285a2df4977c395f8b0fffee, limb2: 0x38829237b92af85bafa816d1, - limb3: 0x15ee3c5ac4d89ca8a974344 + limb3: 0x15ee3c5ac4d89ca8a974344, }, u384 { limb0: 0x2780004ebec9db58e6395f07, limb1: 0x55e721a4f0f938edd35e0c7f, limb2: 0xef485c4121ed34a5322eada1, - limb3: 0x198d0de1e8f2a035742c5ddc + limb3: 0x198d0de1e8f2a035742c5ddc, }, u384 { limb0: 0x3a905b19b5fe03b7ea72cda3, limb1: 0xf9446fc2f1ef2f0fd27ff31c, limb2: 0x6a8f3434395e78572bd2dec7, - limb3: 0x94f514c0abc3c9585219e93 + limb3: 0x94f514c0abc3c9585219e93, }, u384 { limb0: 0xbf1ca934348f795012ebd9e0, limb1: 0x66fc6fa19a6b277b0b946b96, limb2: 0x99d190e7e0c955e4060b644e, - limb3: 0x1540618e1c45b4e3a0345c0c + limb3: 0x1540618e1c45b4e3a0345c0c, }, u384 { limb0: 0x583308462e64ea1d3ed78974, limb1: 0xfa50ca7cf5d93de25a608ee, limb2: 0x5258574c860ba0a0eea1692e, - limb3: 0x93c78ea322d320a66188d6c + limb3: 0x93c78ea322d320a66188d6c, }, u384 { limb0: 0x3f9b32e0130487aa0dffe2d3, limb1: 0x95f613a790ab85d0c68dbe2d, limb2: 0x2873d651e209343ba9d9498e, - limb3: 0x150035bc6b41041f939015c6 + limb3: 0x150035bc6b41041f939015c6, }, u384 { limb0: 0x92fd2ff9adb02cee75fb4cfb, limb1: 0x77856573bb8813eae7836d12, limb2: 0x710a8706f71a00e2e00444dc, - limb3: 0xf8d9e3b089857d83c93d24b + limb3: 0xf8d9e3b089857d83c93d24b, }, u384 { limb0: 0x7a9fd0266d77a72adaa605b6, limb1: 0x2dad450e5acb506dcdaf14bf, limb2: 0x50e03cda42d4fc40fb1262a2, - limb3: 0x19d850387069a5f2774b7153 + limb3: 0x19d850387069a5f2774b7153, }, u384 { limb0: 0xcb532108a72e0ad94fab1c12, limb1: 0xa40deea557edfcf963510c1d, limb2: 0x352ddfa7820010e93df5eaff, - limb3: 0x1014482407ed22d359072aed + limb3: 0x1014482407ed22d359072aed, }, u384 { limb0: 0x6c4b3edb9e45b5c2065e21d9, limb1: 0x366a7972107abb797de9bf37, limb2: 0x9ff6288aab160e873b5d0055, - limb3: 0x2d273acd3d1bbe2ed538f72 + limb3: 0x2d273acd3d1bbe2ed538f72, }, u384 { limb0: 0xacc9e075f77cbfeff33867df, limb1: 0x2fffd966f39575365819522e, limb2: 0x13912509c7e8cf8b0d4dc884, - limb3: 0x81ec03e574ab464fbfa8711 + limb3: 0x81ec03e574ab464fbfa8711, }, u384 { limb0: 0x5128961c4227b043d8dd003e, limb1: 0x99f460ed6cc77db45a2e749e, limb2: 0x18eac0897035cdc5aef2a3a2, - limb3: 0xb504ae72390a744677e6287 + limb3: 0xb504ae72390a744677e6287, }, u384 { limb0: 0x6210058c9a421b2f89656073, limb1: 0x30a877aac2cf1a23631f6353, limb2: 0xdf43564a55484f3badb56d18, - limb3: 0x159fe9bbfd6800970a8f8421 + limb3: 0x159fe9bbfd6800970a8f8421, }, u384 { limb0: 0x41e3e3770ea10f438afd5cee, limb1: 0x15c986c55098bdbfa032f9cc, limb2: 0xf9cf4b23908b2fcc0f9e5153, - limb3: 0x6aeeb595ac6206f2158689e - } + limb3: 0x6aeeb595ac6206f2158689e, + }, ], }; let small_Q = E12DMulQuotient { @@ -28299,72 +28299,72 @@ mod pairing_tests { limb0: 0xb4b9478e35cec0c05450416d, limb1: 0xf3968ed36a418905999866ba, limb2: 0xfefaa8a111ed6618bd5eda70, - limb3: 0x94c10ebd6bb58a7984cace8 + limb3: 0x94c10ebd6bb58a7984cace8, }, w1: u384 { limb0: 0xd1f5cd81b3f293267d8ea04b, limb1: 0x81896e37eaf120d90e423a51, limb2: 0x9c9e2a5cbca45237a40f3d0b, - limb3: 0x3edb6e040b5509dd89db8aa + limb3: 0x3edb6e040b5509dd89db8aa, }, w2: u384 { limb0: 0xcc5511c9755e825eefd2e612, limb1: 0x11c1159fb5016396e8060653, limb2: 0xe11b5199b288e076837a098e, - limb3: 0xc10e9db003388a78316822c + limb3: 0xc10e9db003388a78316822c, }, w3: u384 { limb0: 0x5145822fbd04dce4358994a3, limb1: 0x1f85b827f0d50748ff242b27, limb2: 0x8bed4abafb0542dfaadda417, - limb3: 0x124c13e3f4b6e879c8fb992a + limb3: 0x124c13e3f4b6e879c8fb992a, }, w4: u384 { limb0: 0xaf0363d68180922026e827a4, limb1: 0x9981546cd84c3e47b779451d, limb2: 0x9341a82fb9f0677665095f30, - limb3: 0xe9ce32f6964afb569e2fbf0 + limb3: 0xe9ce32f6964afb569e2fbf0, }, w5: u384 { limb0: 0xfc22f3cd8e720f43a3121228, limb1: 0x305aea80c039916d5a7cc5a8, limb2: 0x128c312f35c370c7f2a5a718, - limb3: 0x15787bf40ee1ec4fcda689dd + limb3: 0x15787bf40ee1ec4fcda689dd, }, w6: u384 { limb0: 0xfea2207bf83b083edaec48d, limb1: 0x56ec0628b19c88ac3509ee59, limb2: 0xdce6df9d6356a49cfa7be939, - limb3: 0xa129c5eacf5007b4017903f + limb3: 0xa129c5eacf5007b4017903f, }, w7: u384 { limb0: 0x7f35eeca0fe509ee67c64e16, limb1: 0x22974c5959938b9f3e46105a, limb2: 0xc7c4600f40ead9eb9490a9f4, - limb3: 0x15046bc6339839205648fadf + limb3: 0x15046bc6339839205648fadf, }, w8: u384 { limb0: 0xa21448412d3ffb80428de754, limb1: 0x827ced6dae74bf5e96a32255, limb2: 0xf9bbd39a28016ed731e6e059, - limb3: 0x722ec481af965758ec54dc5 + limb3: 0x722ec481af965758ec54dc5, }, w9: u384 { limb0: 0xce216ae1d8e14bf7271ac16c, limb1: 0xb94e6791ac77a6a0433d62b9, limb2: 0x3e111b324effa05625e27a94, - limb3: 0x2b40e9025d3fe7aa42ca1f3 + limb3: 0x2b40e9025d3fe7aa42ca1f3, }, w10: u384 { limb0: 0x7f4b9395f1c7a7d77553cf29, limb1: 0xc3eeea4ae7ec1466beeb517b, limb2: 0xe20ce2e2665a4ccd9a181970, - limb3: 0x2b7631391bb1216581a4719 - } + limb3: 0x2b7631391bb1216581a4719, + }, }; let res = multi_pairing_check_bls12_381_3P_2F_with_extra_miller_loop_result( - pair0, pair1, pair2, precomputed_miller_loop_result, lines, hint, small_Q + pair0, pair1, pair2, precomputed_miller_loop_result, lines, hint, small_Q, ); assert!(res); } diff --git a/src/src/tests/tower_pairing_tests.cairo b/src/src/tests/tower_pairing_tests.cairo index 2334d170..f80efd73 100644 --- a/src/src/tests/tower_pairing_tests.cairo +++ b/src/src/tests/tower_pairing_tests.cairo @@ -2,12 +2,12 @@ mod tower_pairing_tests { use garaga::single_pairing_tower::{ E12TOne, u384, G1Point, G2Point, E12T, miller_loop_bls12_381_tower, miller_loop_bn254_tower, - final_exp_bls12_381_tower, final_exp_bn254_tower, expt_half_bls12_381_tower + final_exp_bls12_381_tower, final_exp_bn254_tower, expt_half_bls12_381_tower, }; use garaga::ec_ops::{G1PointImpl}; use garaga::ec_ops_g2::{G2PointImpl}; use garaga::circuits::tower_circuits::{ - run_BN254_E12T_MUL_circuit, run_BLS12_381_E12T_MUL_circuit + run_BN254_E12T_MUL_circuit, run_BLS12_381_E12T_MUL_circuit, }; #[test] @@ -16,7 +16,7 @@ mod tower_pairing_tests { let p0: G1Point = G1Point { x: u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - y: u384 { limb0: 0x2, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + y: u384 { limb0: 0x2, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, }; p0.assert_on_curve(0); @@ -25,26 +25,26 @@ mod tower_pairing_tests { limb0: 0xf75edadd46debd5cd992f6ed, limb1: 0x426a00665e5c4479674322d4, limb2: 0x1800deef121f1e76, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0x35a9e71297e485b7aef312c2, limb1: 0x7260bfb731fb5d25f1aa4933, limb2: 0x198e9393920d483a, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0xc43d37b4ce6cc0166fa7daa, limb1: 0x4aab71808dcb408fe3d1e769, limb2: 0x12c85ea5db8c6deb, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0x70b38ef355acdadcd122975b, limb1: 0xec9e99ad690c3395bc4b3133, limb2: 0x90689d0585ff075, - limb3: 0x0 - } + limb3: 0x0, + }, }; q0.assert_on_curve(0); @@ -58,75 +58,75 @@ mod tower_pairing_tests { limb0: 0x898578b55e1f63739d870e95, limb1: 0xda01bde280a3ed6f87e5feb, limb2: 0x262b253feda94cfe, - limb3: 0x0 + limb3: 0x0, }, c0b0a1: u384 { limb0: 0x918ed66b49d34b48efb8a4a, limb1: 0xa1b1f823879abbd397c4dea, limb2: 0x2e02d2cc795a200, - limb3: 0x0 + limb3: 0x0, }, c0b1a0: u384 { limb0: 0x87ecb1fc4e135402fdbd1de0, limb1: 0xa5b1ad44b31977935fd29573, limb2: 0x13a9f2d6e29b128d, - limb3: 0x0 + limb3: 0x0, }, c0b1a1: u384 { limb0: 0x699ce630b130b08a6ea1162b, limb1: 0x4b31984a74e68659c4b420bd, limb2: 0x40ba9fa500f1a5c, - limb3: 0x0 + limb3: 0x0, }, c0b2a0: u384 { limb0: 0x211ce30bf5e3eeaef89eafdb, limb1: 0xbe359d7f9873f052478f590b, limb2: 0xafc2f3fd870678f, - limb3: 0x0 + limb3: 0x0, }, c0b2a1: u384 { limb0: 0xcc5a8243f9cddbd2d98dd1f0, limb1: 0xbdc662d929e645cadda9a712, limb2: 0x1c54a530398c9064, - limb3: 0x0 + limb3: 0x0, }, c1b0a0: u384 { limb0: 0xfd4b7aef5c0d58c5dc2429fe, limb1: 0x23794a0d856f92591ba990ec, limb2: 0x95c0fbf5d5a1ac0, - limb3: 0x0 + limb3: 0x0, }, c1b0a1: u384 { limb0: 0x590cb4a60f8215d4b99f2b4a, limb1: 0xa31dc10f7b4053c9e9ad9ebb, limb2: 0x14d3d6ca72d8a950, - limb3: 0x0 + limb3: 0x0, }, c1b1a0: u384 { limb0: 0x43c585fdfaf545838ca7429, limb1: 0x89dc206b4b91c85759dc1a23, limb2: 0x1dc0e7bbc3d70e66, - limb3: 0x0 + limb3: 0x0, }, c1b1a1: u384 { limb0: 0xac16cc1b7ab2cd3ed5e22b97, limb1: 0x98a855ffc837d2a75ab90d61, limb2: 0xb53320e5a6488cb, - limb3: 0x0 + limb3: 0x0, }, c1b2a0: u384 { limb0: 0xc42a9c0f9bd7fddaf5ebd723, limb1: 0x6c91476ef36cd1d318ce07ba, limb2: 0x13a8afd3085dae4c, - limb3: 0x0 + limb3: 0x0, }, c1b2a1: u384 { limb0: 0x43940c383e5314859e762c97, limb1: 0xb601f3730a3afa965ceee1b3, limb2: 0xf97b5221474526, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -140,14 +140,14 @@ mod tower_pairing_tests { limb0: 0xcdb6d03cb7b9a5409b7efcd8, limb1: 0xd1df87eab84852372b905c9c, limb2: 0x1d0634f3f21e7890, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0xaa1d4f4d3021032564460978, limb1: 0xeb3f1d6ba3b10e2b53dc193b, limb2: 0x24c53532773dce26, - limb3: 0x0 - } + limb3: 0x0, + }, }; p0.assert_on_curve(0); @@ -156,26 +156,26 @@ mod tower_pairing_tests { limb0: 0xf75edadd46debd5cd992f6ed, limb1: 0x426a00665e5c4479674322d4, limb2: 0x1800deef121f1e76, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0x35a9e71297e485b7aef312c2, limb1: 0x7260bfb731fb5d25f1aa4933, limb2: 0x198e9393920d483a, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0xc43d37b4ce6cc0166fa7daa, limb1: 0x4aab71808dcb408fe3d1e769, limb2: 0x12c85ea5db8c6deb, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0x70b38ef355acdadcd122975b, limb1: 0xec9e99ad690c3395bc4b3133, limb2: 0x90689d0585ff075, - limb3: 0x0 - } + limb3: 0x0, + }, }; q0.assert_on_curve(0); @@ -186,14 +186,14 @@ mod tower_pairing_tests { limb0: 0x536c985db33c69f7c242e07a, limb1: 0xfc531bccffafcf1e59d91fb9, limb2: 0x2585e4f8a31664cb, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x57fa42444057cf0c1d62ae3c, limb1: 0x4f48d341183118d68ea41313, limb2: 0x1d2d2799db056ed1, - limb3: 0x0 - } + limb3: 0x0, + }, }; p1.assert_on_curve(0); @@ -202,26 +202,26 @@ mod tower_pairing_tests { limb0: 0x335eb0538f718d8e6651eeb1, limb1: 0x635e573808d9d5c7178bdce7, limb2: 0x1314aaf1c372e6d7, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0x5289f29ccc5acf5e81526673, limb1: 0x2d4aba9e1448a8cc1048d01a, limb2: 0x14c25d3aec745e5a, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x10d1d0efd5869ecd23aab8e9, limb1: 0xba7d1de6d86501d49b6a8dab, limb2: 0x397391b7b25e2f, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0x385a553ea12434f4eda6db36, limb1: 0xb058c1ff7e4c5c7ec7e5859b, limb2: 0x1863ac65eca09e89, - limb3: 0x0 - } + limb3: 0x0, + }, }; q1.assert_on_curve(0); @@ -242,8 +242,8 @@ mod tower_pairing_tests { c1b1a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b1a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b2a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -257,14 +257,14 @@ mod tower_pairing_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }; p0.assert_on_curve(0); @@ -273,26 +273,26 @@ mod tower_pairing_tests { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } + limb3: 0x0, + }, }; q0.assert_on_curve(0); @@ -303,14 +303,14 @@ mod tower_pairing_tests { limb0: 0x5c724369afbc772d02aed58e, limb1: 0x2cd3bc838c66439a3d6160b, limb2: 0x72f26b55fb56be1, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x772ca79c580e121ca148fe75, limb1: 0xce2f55e418ca01b3d6d1014b, limb2: 0x2884b1dc4e84e30f, - limb3: 0x0 - } + limb3: 0x0, + }, }; p1.assert_on_curve(0); @@ -319,26 +319,26 @@ mod tower_pairing_tests { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } + limb3: 0x0, + }, }; q1.assert_on_curve(0); @@ -349,14 +349,14 @@ mod tower_pairing_tests { limb0: 0x8dcb6db105ead17484cff544, limb1: 0x95151f1c65bf4c2e698b5634, limb2: 0xc83f07e39979c6a, - limb3: 0x0 + limb3: 0x0, }, y: u384 { limb0: 0x38cf77eafd4a4fdd9e46575, limb1: 0x3cf1e428854a9a0e559814bc, limb2: 0x15571140da88fd37, - limb3: 0x0 - } + limb3: 0x0, + }, }; p2.assert_on_curve(0); @@ -365,26 +365,26 @@ mod tower_pairing_tests { limb0: 0xa30b422f34656d6c94e40be, limb1: 0x83069b5050fd7194c7e35d0c, limb2: 0xf0e8184945e8d34, - limb3: 0x0 + limb3: 0x0, }, x1: u384 { limb0: 0xde9079ee8fa5e15901dfef27, limb1: 0xdb602cf367841e5047ffab14, limb2: 0x1752c7b6b35af45, - limb3: 0x0 + limb3: 0x0, }, y0: u384 { limb0: 0x4dafbd7f615fd2aa9f5a0acc, limb1: 0x35c8bbffe201ffd56deb5dea, limb2: 0xa822a5ba029a283, - limb3: 0x0 + limb3: 0x0, }, y1: u384 { limb0: 0xec6d9e4fafec17b8404c0341, limb1: 0x17fe961ad4b8ee3bf2ade626, limb2: 0x1228147f83e3ea5, - limb3: 0x0 - } + limb3: 0x0, + }, }; q2.assert_on_curve(0); @@ -405,8 +405,8 @@ mod tower_pairing_tests { c1b1a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b1a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b2a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -420,14 +420,14 @@ mod tower_pairing_tests { limb0: 0xf97a1aeffb3af00adb22c6bb, limb1: 0xa14e3a3f171bac586c55e83f, limb2: 0x4fa9ac0fc3688c4f9774b905, - limb3: 0x17f1d3a73197d7942695638c + limb3: 0x17f1d3a73197d7942695638c, }, y: u384 { limb0: 0xa2888ae40caa232946c5e7e1, limb1: 0xdb18cb2c04b3edd03cc744, limb2: 0x741d8ae4fcf5e095d5d00af6, - limb3: 0x8b3f481e3aaa0f1a09e30ed - } + limb3: 0x8b3f481e3aaa0f1a09e30ed, + }, }; p0.assert_on_curve(1); @@ -436,26 +436,26 @@ mod tower_pairing_tests { limb0: 0xa805bbefd48056c8c121bdb8, limb1: 0xb4510b647ae3d1770bac0326, limb2: 0x2dc51051c6e47ad4fa403b02, - limb3: 0x24aa2b2f08f0a9126080527 + limb3: 0x24aa2b2f08f0a9126080527, }, x1: u384 { limb0: 0x13945d57e5ac7d055d042b7e, limb1: 0xb5da61bbdc7f5049334cf112, limb2: 0x88274f65596bd0d09920b61a, - limb3: 0x13e02b6052719f607dacd3a0 + limb3: 0x13e02b6052719f607dacd3a0, }, y0: u384 { limb0: 0x3baca289e193548608b82801, limb1: 0x6d429a695160d12c923ac9cc, limb2: 0xda2e351aadfd9baa8cbdd3a7, - limb3: 0xce5d527727d6e118cc9cdc6 + limb3: 0xce5d527727d6e118cc9cdc6, }, y1: u384 { limb0: 0x5cec1da1aaa9075ff05f79be, limb1: 0x267492ab572e99ab3f370d27, limb2: 0x2bc28b99cb3e287e85a763af, - limb3: 0x606c4a02ea734cc32acd2b0 - } + limb3: 0x606c4a02ea734cc32acd2b0, + }, }; q0.assert_on_curve(1); @@ -469,75 +469,75 @@ mod tower_pairing_tests { limb0: 0x839c508a84305aaca1789b6, limb1: 0x3dd8e90ce98db3e7b6d194f6, limb2: 0x68d0d727272d441befa15c50, - limb3: 0x1250ebd871fc0a92a7b2d831 + limb3: 0x1250ebd871fc0a92a7b2d831, }, c0b0a1: u384 { limb0: 0x50439f1d59882a98eaa0170f, limb1: 0xaf5af689452eafabf1a8943e, limb2: 0xa532348868a84045483c92b7, - limb3: 0x89a1c5b46e5110b86750ec6 + limb3: 0x89a1c5b46e5110b86750ec6, }, c0b1a0: u384 { limb0: 0x9396b38c881c4c849ec23e87, limb1: 0x16da0e22a5031b54ddff5730, limb2: 0x689ce34c0378a68e72a6b3b2, - limb3: 0x1368bb445c7c2d209703f239 + limb3: 0x1368bb445c7c2d209703f239, }, c0b1a1: u384 { limb0: 0x579973b1315021ec3c19934f, limb1: 0x7c90d8bd66065b1fffe51d7a, limb2: 0x5a50512937e0794e1e65a761, - limb3: 0x193502b86edb8857c273fa07 + limb3: 0x193502b86edb8857c273fa07, }, c0b2a0: u384 { limb0: 0xbbaad8431dad1c1fb597aaa5, limb1: 0x185203fcca589ac719c34dff, limb2: 0x4dc4007cfbf2f8da752f7c74, - limb3: 0x1b2f522473d171391125ba8 + limb3: 0x1b2f522473d171391125ba8, }, c0b2a1: u384 { limb0: 0xa35c8ca78beae9624045b4b6, limb1: 0x8061e55cceba478b23f7daca, limb2: 0x7a45b84546da634b8f6be14a, - limb3: 0x18107154f25a764bd3c7993 + limb3: 0x18107154f25a764bd3c7993, }, c1b0a0: u384 { limb0: 0x86a8703e0f948226e47ee89d, limb1: 0xdea54d43b2b73f2cbb12d583, limb2: 0xc3d5a04dc88784fbb3d0b2db, - limb3: 0x19f26337d205fb469cd6bd15 + limb3: 0x19f26337d205fb469cd6bd15, }, c1b0a1: u384 { limb0: 0xff02f0b8102ae1c2d5d5ab1a, limb1: 0xa7d2809d61bfe02e1bfd1b68, limb2: 0xa771b6ffd5857baaf222eb95, - limb3: 0x6fba23eb7c5af0d9f80940c + limb3: 0x6fba23eb7c5af0d9f80940c, }, c1b1a0: u384 { limb0: 0x1e32fac91b93b47333e2ba57, limb1: 0x7d0d15ff7b984e8978ef4888, limb2: 0x3b0b0ec5c81a93b330ee1a67, - limb3: 0x11b8b424cd48bf38fcef6808 + limb3: 0x11b8b424cd48bf38fcef6808, }, c1b1a1: u384 { limb0: 0xa09ffdd9be2291a0c25a99a2, limb1: 0x20c806ad360829107ba810c5, limb2: 0x6ce5771cc6a0e9786ab59733, - limb3: 0x3350f55a7aefcd3c31b4fcb + limb3: 0x3350f55a7aefcd3c31b4fcb, }, c1b2a0: u384 { limb0: 0x66245cb9108f0242d0fe3ef, limb1: 0x1c7cdba7b3872629a4fafc05, limb2: 0x728ffd21a189e87935a95405, - limb3: 0x4c581234d086a9902249b64 + limb3: 0x4c581234d086a9902249b64, }, c1b2a1: u384 { limb0: 0xafe47e1efde449383b676631, limb1: 0xdeff686bfd6df543d48eaa24, limb2: 0xd01a7ec73baca4d72ca93544, - limb3: 0xf41e58663bf08cf068672cb - } - } + limb3: 0xf41e58663bf08cf068672cb, + }, + }, ); } @@ -551,14 +551,14 @@ mod tower_pairing_tests { limb0: 0xfe174bb39be8658ef83c8c2d, limb1: 0xdb24ddec0e0c3b63d82efa81, limb2: 0xe360a80121d5ef96fd687003, - limb3: 0x59d2a79bda5f8a941d4db9 + limb3: 0x59d2a79bda5f8a941d4db9, }, y: u384 { limb0: 0x7f68344f543e52fe891285a9, limb1: 0x6f6992be16bc35f88c471acf, limb2: 0xcebb5ee96e40a033f5d3b798, - limb3: 0x2df47e8cdf189985d5085bd - } + limb3: 0x2df47e8cdf189985d5085bd, + }, }; p0.assert_on_curve(1); @@ -567,26 +567,26 @@ mod tower_pairing_tests { limb0: 0xa805bbefd48056c8c121bdb8, limb1: 0xb4510b647ae3d1770bac0326, limb2: 0x2dc51051c6e47ad4fa403b02, - limb3: 0x24aa2b2f08f0a9126080527 + limb3: 0x24aa2b2f08f0a9126080527, }, x1: u384 { limb0: 0x13945d57e5ac7d055d042b7e, limb1: 0xb5da61bbdc7f5049334cf112, limb2: 0x88274f65596bd0d09920b61a, - limb3: 0x13e02b6052719f607dacd3a0 + limb3: 0x13e02b6052719f607dacd3a0, }, y0: u384 { limb0: 0x3baca289e193548608b82801, limb1: 0x6d429a695160d12c923ac9cc, limb2: 0xda2e351aadfd9baa8cbdd3a7, - limb3: 0xce5d527727d6e118cc9cdc6 + limb3: 0xce5d527727d6e118cc9cdc6, }, y1: u384 { limb0: 0x5cec1da1aaa9075ff05f79be, limb1: 0x267492ab572e99ab3f370d27, limb2: 0x2bc28b99cb3e287e85a763af, - limb3: 0x606c4a02ea734cc32acd2b0 - } + limb3: 0x606c4a02ea734cc32acd2b0, + }, }; q0.assert_on_curve(1); @@ -597,14 +597,14 @@ mod tower_pairing_tests { limb0: 0xde4f62a6588c9401ffefbd3, limb1: 0x9bb5f797ac6d3395b71420b5, limb2: 0xdc39e973aaf31de52219df08, - limb3: 0x105dcc4dce3960447d21d3c1 + limb3: 0x105dcc4dce3960447d21d3c1, }, y: u384 { limb0: 0xaefd0d854043fd325dd3c34f, limb1: 0x9b63c98d9a7845c52e1e2b0f, limb2: 0x9db0be660d847ccc58358f3f, - limb3: 0x17cb6c41f0c4e1a7394ab62a - } + limb3: 0x17cb6c41f0c4e1a7394ab62a, + }, }; p1.assert_on_curve(1); @@ -613,26 +613,26 @@ mod tower_pairing_tests { limb0: 0x3b3d3c305a70960906e6cb09, limb1: 0x40e5bf3ff02d81e98b75703a, limb2: 0x665a5fc010510bd690ddd7b5, - limb3: 0x82dc9154807866eb0f36ccb + limb3: 0x82dc9154807866eb0f36ccb, }, x1: u384 { limb0: 0xe6709deb0dcf81d4285e5e60, limb1: 0xb4dcf956002c4efb974ffcee, limb2: 0x4a6ceebe6375a83dd242851b, - limb3: 0xdd18d077ad5bd58dabb18d8 + limb3: 0xdd18d077ad5bd58dabb18d8, }, y0: u384 { limb0: 0x61535fe1a90bae7e6692f9b0, limb1: 0xc91aa58105d3a281b2e84ddb, limb2: 0x197d3446652372ce5ef50e93, - limb3: 0x4a468eb9e206b9833d8e8e2 + limb3: 0x4a468eb9e206b9833d8e8e2, }, y1: u384 { limb0: 0x27115c334e82ed4be8da6c10, limb1: 0x194fa3bf769a2e5a52535277, limb2: 0x8be8992de81f47ae3341c590, - limb3: 0x198fd0ab6249082bf7007d7e - } + limb3: 0x198fd0ab6249082bf7007d7e, + }, }; q1.assert_on_curve(1); @@ -653,8 +653,8 @@ mod tower_pairing_tests { c1b1a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b1a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b2a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -668,14 +668,14 @@ mod tower_pairing_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }; p0.assert_on_curve(1); @@ -684,26 +684,26 @@ mod tower_pairing_tests { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, }; q0.assert_on_curve(1); @@ -714,14 +714,14 @@ mod tower_pairing_tests { limb0: 0xe4f817e54aede0613c17035c, limb1: 0xdff1f15010392a6da1f95a6, limb2: 0xbed78d3d341e911d49f15454, - limb3: 0x18154782ce0913b21588066d + limb3: 0x18154782ce0913b21588066d, }, y: u384 { limb0: 0x3d77d61326ef5a9a5a681757, limb1: 0xd3070afd4f0e121de7fcee60, limb2: 0xdf9ef4088763fe611fb85858, - limb3: 0x11a612bdd0bc09562856a70 - } + limb3: 0x11a612bdd0bc09562856a70, + }, }; p1.assert_on_curve(1); @@ -730,26 +730,26 @@ mod tower_pairing_tests { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, }; q1.assert_on_curve(1); @@ -760,14 +760,14 @@ mod tower_pairing_tests { limb0: 0x6b2dbb412523879f8e3a96a0, limb1: 0x6daa411c3d8c33de611bc2fe, limb2: 0x38ff9a4921f13749974e4731, - limb3: 0x2b2fcedd1d05f99449b4884 + limb3: 0x2b2fcedd1d05f99449b4884, }, y: u384 { limb0: 0x845744e5af99690d2a360ec2, limb1: 0x56b0c0147f0ee90a5c1b6e41, limb2: 0xdee769045aef4994aab4b4fc, - limb3: 0x32b985c03cd5519d41d0cbb - } + limb3: 0x32b985c03cd5519d41d0cbb, + }, }; p2.assert_on_curve(1); @@ -776,26 +776,26 @@ mod tower_pairing_tests { limb0: 0x30d2fddc2fa171cdd4d31a55, limb1: 0x92fab4f255a20d09700542e5, limb2: 0x4d92a8c02d22b8cea4ff21ab, - limb3: 0x120a838699abaae7ed948194 + limb3: 0x120a838699abaae7ed948194, }, x1: u384 { limb0: 0x51cd5fdc71cf4557ef606935, limb1: 0x92e1b13e2c93fc9957b17841, limb2: 0x6143a906b63b7f3476ad6819, - limb3: 0x158186f6f2dd04cfa4e78547 + limb3: 0x158186f6f2dd04cfa4e78547, }, y0: u384 { limb0: 0x9f1c7dcdbe4574f05d0c093b, limb1: 0xcde395f3ee4e353cf25a2e21, limb2: 0x6a44c4a6d642c3dd98128703, - limb3: 0x2bd32fdfe26d866771e2180 + limb3: 0x2bd32fdfe26d866771e2180, }, y1: u384 { limb0: 0x7060005397ea11f7e9a26050, limb1: 0xeb8540654b533da9b594fc27, limb2: 0xfc83cf9d283b7231df1db3f9, - limb3: 0x7ff9623d918ca12e0ff6cce - } + limb3: 0x7ff9623d918ca12e0ff6cce, + }, }; q2.assert_on_curve(1); @@ -816,8 +816,8 @@ mod tower_pairing_tests { c1b1a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b1a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, c1b2a0: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, - c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 } - } + c1b2a1: u384 { limb0: 0x0, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, + }, ); } @@ -829,74 +829,74 @@ mod tower_pairing_tests { limb0: 0x9558867f5ba91faf7a024204, limb1: 0x37ebdcd9e87a1613e443df78, limb2: 0x8e9dc4681332876, - limb3: 0x0 + limb3: 0x0, }, c0b0a1: u384 { limb0: 0xfb97d43588561712e8e5216a, limb1: 0x9a164106cf6a659eb4862b21, limb2: 0x967d0cae6f4590b, - limb3: 0x0 + limb3: 0x0, }, c0b1a0: u384 { limb0: 0xbad640fb19488dec4f65d4d9, limb1: 0xd9b8a714e61a441c12e0c8b2, limb2: 0x1521f387af19922a, - limb3: 0x0 + limb3: 0x0, }, c0b1a1: u384 { limb0: 0x19c78df48f4ff31e78de5857, limb1: 0x50f244556f25e2a25a921187, limb2: 0x28fcb26f9c6316b9, - limb3: 0x0 + limb3: 0x0, }, c0b2a0: u384 { limb0: 0xf77383c13458a748e9bb17bc, limb1: 0x71545a137a1d50068d723104, limb2: 0x215ddba6dd84f39e, - limb3: 0x0 + limb3: 0x0, }, c0b2a1: u384 { limb0: 0xce164dba0ff18e0242af9fc3, limb1: 0xea7e9d498c778ea6eb2083e6, limb2: 0x5f82a8f03983ca8, - limb3: 0x0 + limb3: 0x0, }, c1b0a0: u384 { limb0: 0x66194cb1d71037d1b83e90ec, limb1: 0xc8f8e3d0d3290a4cb5d32b16, limb2: 0x28045af9ab0c1681, - limb3: 0x0 + limb3: 0x0, }, c1b0a1: u384 { limb0: 0x7e5b1e7f9ca5499d004ae545, limb1: 0x55485822de1b372ad3fbf47a, limb2: 0x2ebce25e3e70f16a, - limb3: 0x0 + limb3: 0x0, }, c1b1a0: u384 { limb0: 0xded733e8b421eaeb534097ca, limb1: 0xeac1c14f30e9c5cc101fbccc, limb2: 0xe30658b9148624f, - limb3: 0x0 + limb3: 0x0, }, c1b1a1: u384 { limb0: 0xf7b0b7d2cda8056c3d15eef7, limb1: 0x8b0163c1cd9d2b7d247a8333, limb2: 0x5d67b7072ae2244, - limb3: 0x0 + limb3: 0x0, }, c1b2a0: u384 { limb0: 0x51ef1922fe43c49e149818d1, limb1: 0xff7b118e820865d6e005b860, limb2: 0x1f507980eece328b, - limb3: 0x0 + limb3: 0x0, }, c1b2a1: u384 { limb0: 0x8d1fd9b74d2b9deb1beb3711, limb1: 0x1ff39849b4e1357d4a84eb03, limb2: 0x154bc8ce8c25166a, - limb3: 0x0 - } + limb3: 0x0, + }, }; let res = final_exp_bn254_tower(input); @@ -907,75 +907,75 @@ mod tower_pairing_tests { limb0: 0xdbc3eb4cffd298b3fa7d5a31, limb1: 0x9c46ca08e6740e40f6588c03, limb2: 0x1e656501517e97b6, - limb3: 0x0 + limb3: 0x0, }, c0b0a1: u384 { limb0: 0x5c5f9021ddc05b4e8e458180, limb1: 0xfc9ac0db94ad84f883101197, limb2: 0x10d35fc577ab954a, - limb3: 0x0 + limb3: 0x0, }, c0b1a0: u384 { limb0: 0x8338823c5e5ac5cd9c54b10c, limb1: 0x1749d62236197afa5b52b1b2, limb2: 0xc2fb8c574d4a2aa, - limb3: 0x0 + limb3: 0x0, }, c0b1a1: u384 { limb0: 0x3fed1e7b4d562acb92ab1a7c, limb1: 0x215c21048e64e6366563b7bd, limb2: 0x56befad9198c47f, - limb3: 0x0 + limb3: 0x0, }, c0b2a0: u384 { limb0: 0x2e357f74fb161fde82246aaf, limb1: 0x30461114e53b7faeeabde969, limb2: 0x160bd4f153a876cc, - limb3: 0x0 + limb3: 0x0, }, c0b2a1: u384 { limb0: 0x9953d9fc7152b696a117f008, limb1: 0x3260659f2890ee7e7fef447, limb2: 0x2c09cd97bcdf915f, - limb3: 0x0 + limb3: 0x0, }, c1b0a0: u384 { limb0: 0x68db7596dac15cee7f675e5b, limb1: 0xd64fc7fa279a306f05a4f7bb, limb2: 0x1badb5f4113cf175, - limb3: 0x0 + limb3: 0x0, }, c1b0a1: u384 { limb0: 0xd43446d44724e68a5d3e0ce0, limb1: 0x1ad7eb734406471bac65ff96, limb2: 0x15027bc7d1c7191b, - limb3: 0x0 + limb3: 0x0, }, c1b1a0: u384 { limb0: 0x75668ecaf7e92d7d38d72226, limb1: 0x2f055eefa07fed95961aa90e, limb2: 0x231ea84923202c33, - limb3: 0x0 + limb3: 0x0, }, c1b1a1: u384 { limb0: 0x5d2ac3131b5214c54a04b4ca, limb1: 0x5a879571728f9d6a335a11b6, limb2: 0x1a88b1de9b27f1fe, - limb3: 0x0 + limb3: 0x0, }, c1b2a0: u384 { limb0: 0x1c3137fb1e4efedec89693d5, limb1: 0x90787e810e0d14fcd37605c5, limb2: 0x27a6e50c674c3d45, - limb3: 0x0 + limb3: 0x0, }, c1b2a1: u384 { limb0: 0x36b1cc116e2ac5e8f8918e00, limb1: 0xcb7e94a03ed3261502d9cf46, limb2: 0xbec9af879f51f8, - limb3: 0x0 - } - } + limb3: 0x0, + }, + }, ); } @@ -987,74 +987,74 @@ mod tower_pairing_tests { limb0: 0x4da5e709d4713d60c8a70639, limb1: 0x5ba91faf7a024204f7c1bd87, limb2: 0xe87a1613e443df789558867f, - limb3: 0x474ee238133287637ebdcd9 + limb3: 0x474ee238133287637ebdcd9, }, c0b0a1: u384 { limb0: 0xc17c627923c6612f48268673, limb1: 0xcca5a5a19e4d6e3c1846d424, limb2: 0xe8e5216afcbd04c340212ef7, - limb3: 0x1690c564fb97d43588561712 + limb3: 0x1690c564fb97d43588561712, }, c0b1a0: u384 { limb0: 0xe6f4590b9a164106cf6a659e, limb1: 0x19488dec4f65d4d9259f4329, limb2: 0xe61a441c12e0c8b2bad640fb, - limb3: 0xa90f9c3af19922ad9b8a714 + limb3: 0xa90f9c3af19922ad9b8a714, }, c0b1a1: u384 { limb0: 0x19c78df48f4ff31e78de5857, limb1: 0x50f244556f25e2a25a921187, limb2: 0xe9bb17bca3f2c9bf9c6316b9, - limb3: 0x11ae4620f77383c13458a748 + limb3: 0x11ae4620f77383c13458a748, }, c0b2a0: u384 { limb0: 0xdd84f39e71545a137a1d5006, limb1: 0xff18e0242af9fc385776e9a, limb2: 0x8c778ea6eb2083e6ce164dba, - limb3: 0x2fc154703983ca8ea7e9d49 + limb3: 0x2fc154703983ca8ea7e9d49, }, c0b2a1: u384 { limb0: 0x3e70f16a55485822de1b372a, limb1: 0xb421eaeb534097cabaf3897a, limb2: 0x30e9c5cc101fbcccded733e8, - limb3: 0x71832c59148624feac1c14f + limb3: 0x71832c59148624feac1c14f, }, c1b0a0: u384 { limb0: 0xeece328bff7b118e820865d6, limb1: 0x4d2b9deb1beb37117d41e602, limb2: 0xb4e1357d4a84eb038d1fd9b7, - limb3: 0xaa5e4678c25166a1ff39849 + limb3: 0xaa5e4678c25166a1ff39849, }, c1b0a1: u384 { limb0: 0x8a5006c1ec188efbd080e66e, limb1: 0xcca74147f6be1f723405095c, limb2: 0x966e12778c1745a79a6a5f92, - limb3: 0x2eea66d71eacd0549a3e80e + limb3: 0x2eea66d71eacd0549a3e80e, }, c1b1a0: u384 { limb0: 0x6288e1a5cc45782198a6416d, limb1: 0x3dfabc08935ddd725129fb7c, limb2: 0x307bf3262f1205544a5308cc, - limb3: 0x10e1c2b2fcd81b5d24bace4 + limb3: 0x10e1c2b2fcd81b5d24bace4, }, c1b1a1: u384 { limb0: 0xa81ad477fb3675b89cdeb3e6, limb1: 0x11af923d79fdef7c42930b33, limb2: 0xc1f254b8adc0da7a16febaa0, - limb3: 0x4c91dc7e07405eb215663ab + limb3: 0x4c91dc7e07405eb215663ab, }, c1b2a0: u384 { limb0: 0x151665705b7c709acb175a5a, limb1: 0x1d878f9f9cdf5a865306f3f5, limb2: 0xa1515607964a870c7c879b74, - limb3: 0x6179561d857010255d44936 + limb3: 0x6179561d857010255d44936, }, c1b2a1: u384 { limb0: 0xbb42e0b20426465e3e37952d, limb1: 0xb490b6081dfc83524562be7f, limb2: 0xcb69ca385f3f563838701a14, - limb3: 0xda2ddc3552116dd2ba4b180 - } + limb3: 0xda2ddc3552116dd2ba4b180, + }, }; let res = final_exp_bls12_381_tower(input); @@ -1065,75 +1065,75 @@ mod tower_pairing_tests { limb0: 0xc47661ee2c6ec195b6465492, limb1: 0x6923c966026d1a5202d2547f, limb2: 0x3ca333e30f3750a593c5dd62, - limb3: 0x16211c8f3af6c885d6e7aae7 + limb3: 0x16211c8f3af6c885d6e7aae7, }, c0b0a1: u384 { limb0: 0x18ef376237b7b85323d0d503, limb1: 0x6e98bbb5ebf752814d657668, limb2: 0xf72474b60f257f5566c184d6, - limb3: 0x6298b60c51ccfdaa550d764 + limb3: 0x6298b60c51ccfdaa550d764, }, c0b1a0: u384 { limb0: 0x348c2c399e7bd6de56256576, limb1: 0xf4a77fefb18543958b97e185, limb2: 0x5d0aab75be4368260e7d2ed9, - limb3: 0x158469853e297d165ee80a77 + limb3: 0x158469853e297d165ee80a77, }, c0b1a1: u384 { limb0: 0x72f3c5aec1469c18e1fdbce1, limb1: 0x51ddbb4388643f1a6efaf631, limb2: 0x34f1e1e014398ac114bd5c0, - limb3: 0x10e831545a67da3f9fdf361a + limb3: 0x10e831545a67da3f9fdf361a, }, c0b2a0: u384 { limb0: 0xf0e118cc2ee8a943979abc0c, limb1: 0x6e7b8556c21ea7bb63547b6d, limb2: 0x4479c64648fd5135f004569a, - limb3: 0x9c3267b433303abded9ab0 + limb3: 0x9c3267b433303abded9ab0, }, c0b2a1: u384 { limb0: 0xe5fa5528617a7773128a3a1f, limb1: 0x6be496fac02353edcae1c79e, limb2: 0x4f9bbd2d6d5199cbf179da1f, - limb3: 0x17f02c9ce45af7421efccde + limb3: 0x17f02c9ce45af7421efccde, }, c1b0a0: u384 { limb0: 0xd2192367be40c767eecd94f0, limb1: 0x5a094323a3c2b121fc6db025, limb2: 0xe70f56b994092e1f7d106f54, - limb3: 0x12ac5958b941614ac10d5ff6 + limb3: 0x12ac5958b941614ac10d5ff6, }, c1b0a1: u384 { limb0: 0x96dcae9f5d11d83ff8ee58e0, limb1: 0x1539f36298c543196ff7521, limb2: 0xf4f41990abca0c681a3221f6, - limb3: 0x11aa8e62757ec2cbf6c16ffc + limb3: 0x11aa8e62757ec2cbf6c16ffc, }, c1b1a0: u384 { limb0: 0xffb243b8fb10435f6ea824db, limb1: 0x1bda384d4058fd317cf9270f, limb2: 0x3f176c05329fa1b37897428a, - limb3: 0x9ffc940d1185cb35015aa48 + limb3: 0x9ffc940d1185cb35015aa48, }, c1b1a1: u384 { limb0: 0x74d71b12604949416f2e7fad, limb1: 0x84b612cd1cafbc9b8af3e707, limb2: 0xe4855dd3d16e5ae18223225e, - limb3: 0x801946300201b84e305ee6 + limb3: 0x801946300201b84e305ee6, }, c1b2a0: u384 { limb0: 0xbb3b943ceffbff6187a09c3a, limb1: 0x8c71050ce550d5e89695deb2, limb2: 0x2fd70aa73c133a3e0e483ef2, - limb3: 0x7f835c51a9434870d20cedf + limb3: 0x7f835c51a9434870d20cedf, }, c1b2a1: u384 { limb0: 0xcb5beb0bdcff8c233260205d, limb1: 0x987fe621d66e1a6dca01005b, limb2: 0xf19f8ff647ec05851ed472a9, - limb3: 0x9f783e3dcba8af017c07469 - } - } + limb3: 0x9f783e3dcba8af017c07469, + }, + }, ); } @@ -1145,74 +1145,74 @@ mod tower_pairing_tests { limb0: 0xe3ac2758b1f2a23159402205, limb1: 0x776adf14829933202da5751a, limb2: 0x5bace5b80e293dd7b75ca30d, - limb3: 0x275df6cfc4cc34ee2e1426f + limb3: 0x275df6cfc4cc34ee2e1426f, }, c0b0a1: u384 { limb0: 0x6a1a0fac0380ab822cb9f49, limb1: 0xf1a5da70f2bcb8f5e6d189b5, limb2: 0xb9605d6164ac88b2e58734aa, - limb3: 0x6178fc2e2d96839d3ccabe6 + limb3: 0x6178fc2e2d96839d3ccabe6, }, c0b1a0: u384 { limb0: 0xb343ef57150681832154ce9e, limb1: 0x32d7b542146ded07806e3543, limb2: 0xf0531ecdf071f340be23eb71, - limb3: 0x17bfe8e4c08234e0c2e85f61 + limb3: 0x17bfe8e4c08234e0c2e85f61, }, c0b1a1: u384 { limb0: 0x6a48ae9e0d45a65b46b124f0, limb1: 0x22c3a45726890fc3e75712b9, limb2: 0xa3e43a38db3ee9b2759e745f, - limb3: 0xb509ee1722d55991cbc266e + limb3: 0xb509ee1722d55991cbc266e, }, c0b2a0: u384 { limb0: 0x3e65e1d198488c5b45547fde, limb1: 0x32b590108b32373abcc44192, limb2: 0xb6c8b2c2cacad9bd22b87f0b, - limb3: 0x17341bebcfb46b3919e1140c + limb3: 0x17341bebcfb46b3919e1140c, }, c0b2a1: u384 { limb0: 0xb9cab821cbd975c0ffdc67c8, limb1: 0x844bfef770ab7fc0ff7c585e, limb2: 0xc34fb405e0719e218adf4cda, - limb3: 0xb7d87719c2bab9241194b3d + limb3: 0xb7d87719c2bab9241194b3d, }, c1b0a0: u384 { limb0: 0xc8de1b0b73c9757d8479766c, limb1: 0xa5f030312159f381a92d1668, limb2: 0x808b453867425d4ce92ab0ca, - limb3: 0xc98aa88897c0c6b2edc28db + limb3: 0xc98aa88897c0c6b2edc28db, }, c1b0a1: u384 { limb0: 0xb264c3a73b8175a6ee83c940, limb1: 0x6a26e058e811ef6ad4df2948, limb2: 0xb39592c43801e887c11cb17a, - limb3: 0xe67f58b04c48f601737c58c + limb3: 0xe67f58b04c48f601737c58c, }, c1b1a0: u384 { limb0: 0x4616073a64ebfc2e37d002b4, limb1: 0xbcedb779f425f193e5a05990, limb2: 0x3004f59b738b8cf2dacd9d, - limb3: 0x18510173ebccf15dcfb67bb4 + limb3: 0x18510173ebccf15dcfb67bb4, }, c1b1a1: u384 { limb0: 0x68785e9d2a8c1f3cd22b74c9, limb1: 0xc13aa5c90a3964b3118e07ee, limb2: 0xdd71679943a514616d96a409, - limb3: 0x5e9a73cd8bcc623956a00f0 + limb3: 0x5e9a73cd8bcc623956a00f0, }, c1b2a0: u384 { limb0: 0xd054b25067025ef528684ca5, limb1: 0xb98b233f22590428ff65e7e7, limb2: 0x863f94e6f59dd2cc1b29aa15, - limb3: 0x40a30f80f41371306ace4d3 + limb3: 0x40a30f80f41371306ace4d3, }, c1b2a1: u384 { limb0: 0x82ff7f662c94e86e681d04bc, limb1: 0x68fbbcb98776e529c74002eb, limb2: 0xabac2de4cc82c3c718a21a75, - limb3: 0x8f53b1c2901726845866899 - } + limb3: 0x8f53b1c2901726845866899, + }, }; let (res) = expt_half_bls12_381_tower(input); @@ -1223,75 +1223,75 @@ mod tower_pairing_tests { limb0: 0x931e7dfdbe1f652c188eaa4b, limb1: 0x82aaa351edc988786951ca9a, limb2: 0x54412c1075ce2746c44fbaaa, - limb3: 0x194d674d95de505092e97747 + limb3: 0x194d674d95de505092e97747, }, c0b0a1: u384 { limb0: 0xb22a60296aec52df8de3aa42, limb1: 0x8be8af04ee32ae90e6f92ff0, limb2: 0xdb264c1d022ccaa31f5f1e55, - limb3: 0x13c2c104d8418aa6c186c863 + limb3: 0x13c2c104d8418aa6c186c863, }, c0b1a0: u384 { limb0: 0xf16f15e433e53d884ca450ae, limb1: 0xbab8e1a90f84f24c7d8d7bb7, limb2: 0x7c33ac5908cc4d224c8cb672, - limb3: 0x11c649a221098f0592d9e573 + limb3: 0x11c649a221098f0592d9e573, }, c0b1a1: u384 { limb0: 0xa4ab60885ce8a47203eef11b, limb1: 0x3de6b25ed023824c36351f47, limb2: 0x257f17e0eeb3654697159a62, - limb3: 0xc742afcd12178eb714c25e4 + limb3: 0xc742afcd12178eb714c25e4, }, c0b2a0: u384 { limb0: 0x2db3c373e66b30e10f9f9d45, limb1: 0x92e88c066844966e118c3c8d, limb2: 0x16fd097082cf86fa0ee9b179, - limb3: 0x5c0754baecbd25ec3c53996 + limb3: 0x5c0754baecbd25ec3c53996, }, c0b2a1: u384 { limb0: 0x21f88494e25abb2762bde18a, limb1: 0x23a58e293f380741a2997a6f, limb2: 0x76ea54dc279a3301a304e3e8, - limb3: 0x9f6038c6be05423ebd3e178 + limb3: 0x9f6038c6be05423ebd3e178, }, c1b0a0: u384 { limb0: 0x18a242496526b14c50bed73d, limb1: 0xc27c41f74df1b94a3b251ca4, limb2: 0x147ca1df5c1a39cd188fe196, - limb3: 0x3a62857263f7afc342bdfee + limb3: 0x3a62857263f7afc342bdfee, }, c1b0a1: u384 { limb0: 0x357719d10ab8c0520084939d, limb1: 0x50cfb756fa9f6a5b5a853d6d, limb2: 0xcc89f28f2729e44b3d552e9b, - limb3: 0xb4601ced0c45e2775128a73 + limb3: 0xb4601ced0c45e2775128a73, }, c1b1a0: u384 { limb0: 0xba340a1342aeb93bc2367f71, limb1: 0x1130eb422f714c3af0319aba, limb2: 0x5411d9cdd1e37a8eb4a23883, - limb3: 0x58ca7e22399842e52f7e7ac + limb3: 0x58ca7e22399842e52f7e7ac, }, c1b1a1: u384 { limb0: 0xd91a1802a0ad0f168e57d558, limb1: 0x3bb71c240214073cb08bb41f, limb2: 0xc5406201fb75fb66ae611a4d, - limb3: 0x189532247da029ae9a0264af + limb3: 0x189532247da029ae9a0264af, }, c1b2a0: u384 { limb0: 0xe850c7a5f139c398a432d6e3, limb1: 0xece47d0aaef590d0e590a168, limb2: 0xd480c1d152ba8c62fc7ca716, - limb3: 0xa0f18b8c690d4e3461ee05a + limb3: 0xa0f18b8c690d4e3461ee05a, }, c1b2a1: u384 { limb0: 0x76c2ba1ef05a96b90f9fdeb1, limb1: 0xf777cac315947753c4e6f4a9, limb2: 0x601635ad906b95586d6c73f9, - limb3: 0x90e534b3e561c1a32ac874c - } - } + limb3: 0x90e534b3e561c1a32ac874c, + }, + }, ); } } diff --git a/src/src/utils.cairo b/src/src/utils.cairo index bb7d9d1d..098755d8 100644 --- a/src/src/utils.cairo +++ b/src/src/utils.cairo @@ -3,10 +3,10 @@ pub mod hashing; pub mod calldata; pub mod risc0; pub mod drand; -use core::circuit::{u384, u96}; +use core::circuit::{u384}; +use core::panic_with_felt252; - -fn u384_assert_zero(x: u384) { +pub fn u384_assert_zero(x: u384) { if x.limb0 != 0 { panic_with_felt252('not zero l0'); } @@ -21,7 +21,7 @@ fn u384_assert_zero(x: u384) { } } -fn u384_assert_eq(x: u384, y: u384) { +pub fn u384_assert_eq(x: u384, y: u384) { if x.limb0 != y.limb0 { panic_with_felt252('not equal l0'); } @@ -35,7 +35,7 @@ fn u384_assert_eq(x: u384, y: u384) { panic_with_felt252('not equal l3'); } } -fn usize_assert_eq(x: usize, y: usize) { +pub fn usize_assert_eq(x: usize, y: usize) { if x != y { panic_with_felt252('not equal usize'); } diff --git a/src/src/utils/calldata.cairo b/src/src/utils/calldata.cairo index 102b7c8c..1c702134 100644 --- a/src/src/utils/calldata.cairo +++ b/src/src/utils/calldata.cairo @@ -1,33 +1,34 @@ use garaga::groth16::{Groth16Proof, Groth16ProofRaw, MPCheckHintBN254, MPCheckHintBLS12_381}; use garaga::definitions::{ - G1Point, G2Point, E12DMulQuotient, u384, u288, E12D, MillerLoopResultScalingFactor + G1Point, G2Point, E12DMulQuotient, u288, E12D, MillerLoopResultScalingFactor, }; - +use core::RangeCheck; +use core::circuit::u384; #[derive(Drop, Serde)] -struct FullProofWithHintsBN254 { - groth16_proof: Groth16Proof, - mpcheck_hint: MPCheckHintBN254, - small_Q: E12DMulQuotient, - msm_hint: Array, +pub struct FullProofWithHintsBN254 { + pub groth16_proof: Groth16Proof, + pub mpcheck_hint: MPCheckHintBN254, + pub small_Q: E12DMulQuotient, + pub msm_hint: Array, } #[derive(Drop, Serde)] -struct FullProofWithHintsBLS12_381 { - groth16_proof: Groth16Proof, - mpcheck_hint: MPCheckHintBLS12_381, - small_Q: E12DMulQuotient, - msm_hint: Array, +pub struct FullProofWithHintsBLS12_381 { + pub groth16_proof: Groth16Proof, + pub mpcheck_hint: MPCheckHintBLS12_381, + pub small_Q: E12DMulQuotient, + pub msm_hint: Array, } #[derive(Serde, Drop)] -struct FullProofWithHintsRisc0 { - groth16_proof: Groth16ProofRaw, - image_id: Span, - journal: Span, - mpcheck_hint: MPCheckHintBN254, - small_Q: E12DMulQuotient, - msm_hint: Array, +pub struct FullProofWithHintsRisc0 { + pub groth16_proof: Groth16ProofRaw, + pub image_id: Span, + pub journal: Span, + pub mpcheck_hint: MPCheckHintBN254, + pub small_Q: E12DMulQuotient, + pub msm_hint: Array, } const U288_N_LIMBS: usize = 3; @@ -53,7 +54,7 @@ fn downcast_u384(l0: felt252, l1: felt252, l2: felt252, l3: felt252) -> u384 { fn deserialize_full_proof_with_hints_risc0( - mut serialized: Span + mut serialized: Span, ) -> FullProofWithHintsRisc0 { let [ a_x_l0, @@ -112,17 +113,15 @@ fn deserialize_full_proof_with_hints_risc0( let n_image_id: u32 = (*serialized.pop_front().unwrap()).try_into().unwrap(); let mut image_id: Array = array![]; - for _ in 0 - ..n_image_id { - image_id.append((*serialized.pop_front().unwrap()).try_into().unwrap()); - }; + for _ in 0..n_image_id { + image_id.append((*serialized.pop_front().unwrap()).try_into().unwrap()); + }; let n_journal: u32 = (*serialized.pop_front().unwrap()).try_into().unwrap(); let mut journal: Array = array![]; - for _ in 0 - ..n_journal { - journal.append((*serialized.pop_front().unwrap()).try_into().unwrap()); - }; + for _ in 0..n_journal { + journal.append((*serialized.pop_front().unwrap()).try_into().unwrap()); + }; let groth16_proof = Groth16ProofRaw { a: a, b: b, c: c }; let [ @@ -262,7 +261,7 @@ fn deserialize_full_proof_with_hints_risc0( w8_l2, w10_l0, w10_l1, - w10_l2 + w10_l2, ] = (*serialized .multi_pop_front::<18>() @@ -345,7 +344,7 @@ fn deserialize_full_proof_with_hints_risc0( w9: downcast_u288(w9l0, w9l1, w9l2), w10: downcast_u288(w10l0, w10l1, w10l2), w11: downcast_u288(w11l0, w11l1, w11l2), - } + }, ) }; // usize_assert_eq(mpcheck_hint.big_Q.len(), 190); @@ -432,12 +431,12 @@ fn deserialize_full_proof_with_hints_risc0( journal: journal.span(), mpcheck_hint: mpcheck_hint, small_Q: small_Q, - msm_hint: msm_hint + msm_hint: msm_hint, }; } fn deserialize_full_proof_with_hints_bn254( - mut serialized: Span + mut serialized: Span, ) -> FullProofWithHintsBN254 { let [ a_x_l0, @@ -496,16 +495,15 @@ fn deserialize_full_proof_with_hints_bn254( let n_public_inputs: u32 = (*serialized.pop_front().unwrap()).try_into().unwrap(); let mut public_inputs = array![]; - for _ in 0 - ..n_public_inputs { - public_inputs - .append( - u256 { - low: (*serialized.pop_front().unwrap()).try_into().unwrap(), - high: (*serialized.pop_front().unwrap()).try_into().unwrap() - } - ); - }; + for _ in 0..n_public_inputs { + public_inputs + .append( + u256 { + low: (*serialized.pop_front().unwrap()).try_into().unwrap(), + high: (*serialized.pop_front().unwrap()).try_into().unwrap(), + }, + ); + }; let groth16_proof = Groth16Proof { a: a, b: b, c: c, public_inputs: public_inputs.span() }; let [ @@ -642,7 +640,7 @@ fn deserialize_full_proof_with_hints_bn254( w8_l2, w10_l0, w10_l1, - w10_l2 + w10_l2, ] = (*serialized .multi_pop_front::<18>() @@ -725,7 +723,7 @@ fn deserialize_full_proof_with_hints_bn254( w9: downcast_u288(w9l0, w9l1, w9l2), w10: downcast_u288(w10l0, w10l1, w10l2), w11: downcast_u288(w11l0, w11l1, w11l2), - } + }, ) }; // usize_assert_eq(mpcheck_hint.big_Q.len(), 190); @@ -806,11 +804,11 @@ fn deserialize_full_proof_with_hints_bn254( for x in serialized { msm_hint.append(*x); }; - return FullProofWithHintsBN254 { groth16_proof, mpcheck_hint, small_Q, msm_hint, }; + return FullProofWithHintsBN254 { groth16_proof, mpcheck_hint, small_Q, msm_hint }; } fn deserialize_full_proof_with_hints_bls12_381( - mut serialized: Span + mut serialized: Span, ) -> FullProofWithHintsBLS12_381 { let [ a_x_l0, @@ -869,16 +867,15 @@ fn deserialize_full_proof_with_hints_bls12_381( let n_public_inputs: u32 = (*serialized.pop_front().unwrap()).try_into().unwrap(); let mut public_inputs = array![]; - for _ in 0 - ..n_public_inputs { - public_inputs - .append( - u256 { - low: (*serialized.pop_front().unwrap()).try_into().unwrap(), - high: (*serialized.pop_front().unwrap()).try_into().unwrap() - } - ); - }; + for _ in 0..n_public_inputs { + public_inputs + .append( + u256 { + low: (*serialized.pop_front().unwrap()).try_into().unwrap(), + high: (*serialized.pop_front().unwrap()).try_into().unwrap(), + }, + ); + }; // full_len -= (1 + 2 * n_public_inputs); // assert(full_len == serialized.len(), 'C'); @@ -1068,7 +1065,7 @@ fn deserialize_full_proof_with_hints_bls12_381( w9: downcast_u384(w9l0, w9l1, w9l2, w9l3), w10: downcast_u384(w10l0, w10l1, w10l2, w10l3), w11: downcast_u384(w11l0, w11l1, w11l2, w11l3), - } + }, ) }; // usize_assert_eq(mpcheck_hint.big_Q.len(), 105); @@ -1156,5 +1153,5 @@ fn deserialize_full_proof_with_hints_bls12_381( for x in serialized { msm_hint.append(*x); }; - return FullProofWithHintsBLS12_381 { groth16_proof, mpcheck_hint, small_Q, msm_hint, }; + return FullProofWithHintsBLS12_381 { groth16_proof, mpcheck_hint, small_Q, msm_hint }; } diff --git a/src/src/utils/drand.cairo b/src/src/utils/drand.cairo index 7adb50d8..d500e35d 100644 --- a/src/src/utils/drand.cairo +++ b/src/src/utils/drand.cairo @@ -2,8 +2,8 @@ use core::sha256::compute_sha256_u32_array; use garaga::utils::usize_assert_eq; use core::circuit::{ RangeCheck96, AddMod, MulMod, u384, u96, CircuitElement, CircuitInput, circuit_add, circuit_sub, - circuit_mul, circuit_inverse, EvalCircuitResult, EvalCircuitTrait, CircuitOutputsTrait, - CircuitModulus, AddInputResultTrait, CircuitInputs, CircuitInputAccumulator + circuit_mul, circuit_inverse, EvalCircuitTrait, CircuitOutputsTrait, CircuitModulus, + AddInputResultTrait, CircuitInputs, }; use garaga::core::circuit::AddInputResultTrait2; use garaga::definitions::{G1Point, G2Point, u384Serde, BLS_G2_GENERATOR}; @@ -11,7 +11,7 @@ use garaga::basic_field_ops::{u512_mod_bls12_381, is_even_u384}; use core::num::traits::Zero; use garaga::ec_ops::{ ec_safe_add, scalar_mul_g1_fixed_small_scalar, MSMHintSmallScalar, DerivePointFromXHint, - FunctionFelt, msm_g1_u128 + FunctionFelt, msm_g1_u128, }; use garaga::ec_ops_g2; use garaga::circuits::isogeny::run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit; @@ -34,48 +34,45 @@ use garaga::single_pairing_tower::{miller_loop_bls12_381_tower, final_exp_bls12_ // Beacon ID: quicknet // ---------------------------------------- // Note : Negated to use in pairing check. -const DRAND_QUICKNET_PUBLIC_KEY: G2Point = - G2Point { - x0: u384 { - limb0: 0x4bc09e76eae8991ef5ece45a, - limb1: 0xbd274ca73bab4af5a6e9c76a, - limb2: 0x3aaf4bcb5ed66304de9cf809, - limb3: 0xd1fec758c921cc22b0e17e6 - }, - x1: u384 { - limb0: 0x6a0a6c3ac6a5776a2d106451, - limb1: 0xb90022d3e760183c8c4b450b, - limb2: 0xcad3912212c437e0073e911f, - limb3: 0x3cf0f2896adee7eb8b5f01f - }, - y0: u384 { - limb0: 0xdfd038b83dbad4e0fbae5838, - limb1: 0x942ea644bed4152aa6d85248, - limb2: 0x43812423f8525883c7e472fa, - limb3: 0xba35f3379c4e4d1e3a70b08 - }, - y1: u384 { - limb0: 0xd9aa8e74b5823224c149d420, - limb1: 0x1851f5129301fe6603fc716a, - limb2: 0x9b84512e61a5e814e923569d, - limb3: 0x1859fcf74bc8a580a828f6e0 - } - }; +const DRAND_QUICKNET_PUBLIC_KEY: G2Point = G2Point { + x0: u384 { + limb0: 0x4bc09e76eae8991ef5ece45a, + limb1: 0xbd274ca73bab4af5a6e9c76a, + limb2: 0x3aaf4bcb5ed66304de9cf809, + limb3: 0xd1fec758c921cc22b0e17e6, + }, + x1: u384 { + limb0: 0x6a0a6c3ac6a5776a2d106451, + limb1: 0xb90022d3e760183c8c4b450b, + limb2: 0xcad3912212c437e0073e911f, + limb3: 0x3cf0f2896adee7eb8b5f01f, + }, + y0: u384 { + limb0: 0xdfd038b83dbad4e0fbae5838, + limb1: 0x942ea644bed4152aa6d85248, + limb2: 0x43812423f8525883c7e472fa, + limb3: 0xba35f3379c4e4d1e3a70b08, + }, + y1: u384 { + limb0: 0xd9aa8e74b5823224c149d420, + limb1: 0x1851f5129301fe6603fc716a, + limb2: 0x9b84512e61a5e814e923569d, + limb3: 0x1859fcf74bc8a580a828f6e0, + }, +}; -const a_iso_swu: u384 = - u384 { - limb0: 0xa0e0f97f5cf428082d584c1d, - limb1: 0xd8e8981aefd881ac98936f8d, - limb2: 0xc96d4982b0ea985383ee66a8, - limb3: 0x144698a3b8e9433d693a02 - }; -const b_iso_swu: u384 = - u384 { - limb0: 0x316ceaa5d1cc48e98e172be0, - limb1: 0xa0b9c14fcef35ef55a23215a, - limb2: 0x753eee3b2016c1f0f24f4070, - limb3: 0x12e2908d11688030018b12e8 - }; +const a_iso_swu: u384 = u384 { + limb0: 0xa0e0f97f5cf428082d584c1d, + limb1: 0xd8e8981aefd881ac98936f8d, + limb2: 0xc96d4982b0ea985383ee66a8, + limb3: 0x144698a3b8e9433d693a02, +}; +const b_iso_swu: u384 = u384 { + limb0: 0x316ceaa5d1cc48e98e172be0, + limb1: 0xa0b9c14fcef35ef55a23215a, + limb2: 0x753eee3b2016c1f0f24f4070, + limb3: 0x12e2908d11688030018b12e8, +}; const z_iso_swu: u384 = u384 { limb0: 11, limb1: 0, limb2: 0, limb3: 0 }; @@ -84,38 +81,17 @@ const NZ_POW2_32_64: NonZero = 0x100000000; // lib_str + bytes([0]) + dst_prime // LIB_DST = b'\x00\x80\x00BLS_SIG_BLS12381G1_XMD:SHA-256_SSWU_RO_NUL_+' // bytes len : 47. -const LIB_DST: [ - u32 - ; 11] = [ - 0x800042, - 0x4c535f53, - 0x49475f42, - 0x4c533132, - 0x33383147, - 0x315f584d, - 0x443a5348, - 0x412d3235, - 0x365f5353, - 0x57555f52, - 0x4f5f4e55, +const LIB_DST: [u32; 11] = [ + 0x800042, 0x4c535f53, 0x49475f42, 0x4c533132, 0x33383147, 0x315f584d, 0x443a5348, 0x412d3235, + 0x365f5353, 0x57555f52, 0x4f5f4e55, ]; const LIB_DST_LAST_WORD: u32 = 0x4c5f2b; -const I_DST_PRIME: [ - u32 - ; 10] = [ - 0x5f534947, - 0x5f424c53, - 0x31323338, - 0x3147315f, - 0x584d443a, - 0x5348412d, - 0x3235365f, - 0x53535755, - 0x5f524f5f, - 0x4e554c5f, +const I_DST_PRIME: [u32; 10] = [ + 0x5f534947, 0x5f424c53, 0x31323338, 0x3147315f, 0x584d443a, 0x5348412d, 0x3235365f, 0x53535755, + 0x5f524f5f, 0x4e554c5f, ]; const I_DST_PRIME_LAST_WORD: u32 = 0x2b; @@ -127,7 +103,7 @@ fn get_i_dst_prime_first_word(i: usize) -> u32 { struct MapToCurveHint { gx1_is_square: bool, y1: u384, - y_flag: bool, // true if y and u have same parity, false otherwise + y_flag: bool // true if y and u have same parity, false otherwise } #[derive(Drop, Serde)] @@ -140,13 +116,13 @@ struct HashToCurveHint { // Like hash to curve but we start with the drand round number for simplicity. -fn round_to_curve_bls12_381(round: u64, hash_to_curve_hint: HashToCurveHint,) -> G1Point { +fn round_to_curve_bls12_381(round: u64, hash_to_curve_hint: HashToCurveHint) -> G1Point { let message = round_to_message(round); return hash_to_curve_bls12_381(message, hash_to_curve_hint); } #[inline] -fn hash_to_curve_bls12_381(message: [u32; 8], hash_to_curve_hint: HashToCurveHint,) -> G1Point { +fn hash_to_curve_bls12_381(message: [u32; 8], hash_to_curve_hint: HashToCurveHint) -> G1Point { let (felt0, felt1) = hash_to_two_bls_felts(message); let pt0 = map_to_curve(felt0, hash_to_curve_hint.f0_hint); let pt1 = map_to_curve(felt1, hash_to_curve_hint.f1_hint); @@ -161,7 +137,7 @@ fn hash_to_curve_bls12_381(message: [u32; 8], hash_to_curve_hint: HashToCurveHin BLS_COFACTOR, hash_to_curve_hint.scalar_mul_hint, hash_to_curve_hint.derive_point_from_x_hint, - 1 + 1, ); return res; } @@ -171,8 +147,9 @@ fn hash_to_curve_bls12_381(message: [u32; 8], hash_to_curve_hint: HashToCurveHin // n = BLS12_381 EC prime order subgroup // cofactor = (1 - (x % n)) % n // const bls_cofactor: u128 = 0xd201000000010001; -const BLS_COFACTOR_EPNS: (felt252, felt252, felt252, felt252) = - (12124305939094075449, 3008070283847567304, 1, -1); +const BLS_COFACTOR_EPNS: (felt252, felt252, felt252, felt252) = ( + 12124305939094075449, 3008070283847567304, 1, -1, +); const BLS_COFACTOR: u128 = 0xd201000000010001; // "digest function" @@ -247,7 +224,7 @@ fn hash_to_two_bls_felts(message: [u32; 8]) -> (u384, u384) { }; // Total : 64 + 32 + 47 = 143 bytes = 1144 bits. let b0 = compute_sha256_u32_array( - input: array, last_input_word: LIB_DST_LAST_WORD, last_input_num_bytes: 3 + input: array, last_input_word: LIB_DST_LAST_WORD, last_input_num_bytes: 3, ); let mut array: Array = array![]; for v in b0.span() { @@ -259,7 +236,7 @@ fn hash_to_two_bls_felts(message: [u32; 8]) -> (u384, u384) { array.append(*v); }; let bi = compute_sha256_u32_array( - input: array, last_input_word: I_DST_PRIME_LAST_WORD, last_input_num_bytes: 1 + input: array, last_input_word: I_DST_PRIME_LAST_WORD, last_input_num_bytes: 1, ); let bi_xor_b0 = xor_u32_array_8(bi, b0); let mut array: Array = array![]; @@ -324,14 +301,12 @@ fn map_to_curve_inner_1(_u: u384) -> (u384, u384) { let num_x1 = circuit_mul(b, circuit_add(ta, one)); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); // BLS12_381 prime field modulus @@ -366,7 +341,7 @@ fn map_to_curve_inner_2(_neg_ta: u384, _num_x1: u384) -> (u384, u384) { // num_gx1 = (num2_x1 + a * div2) * num_x1 + b * div3 let num_gx1 = circuit_add( - circuit_mul(circuit_add(num2_x1, circuit_mul(a, div2)), num_x1), circuit_mul(b, div3) + circuit_mul(circuit_add(num2_x1, circuit_mul(a, div2)), num_x1), circuit_mul(b, div3), ); // let num_x2 = circuit_mul(zeta_u2, num_x1); @@ -389,14 +364,12 @@ fn map_to_curve_inner_2(_neg_ta: u384, _num_x1: u384) -> (u384, u384) { // }; let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); // BLS12_381 prime field modulus @@ -415,7 +388,7 @@ fn map_to_curve_inner_2(_neg_ta: u384, _num_x1: u384) -> (u384, u384) { fn map_to_curve_inner_final_quad_res( - _num_x1: u384, _gx1: u384, _y1_hint: u384, __parity_flag: bool, _div: u384, u: u384 + _num_x1: u384, _gx1: u384, _y1_hint: u384, __parity_flag: bool, _div: u384, u: u384, ) -> G1Point { let num_x1 = CircuitElement::> {}; let gx1 = CircuitElement::> {}; @@ -428,25 +401,23 @@ fn map_to_curve_inner_final_quad_res( let y_affine = circuit_mul(parity_flag, y1_hint); let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); // BLS12_381 prime field modulus // Flag = -1 if y%2 !=u%1 ; 1 if y%2 == u%2. let _parity_flag: u384 = match __parity_flag { - true => u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0, }, + true => u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, false => crate::definitions::get_min_one(curve_index: 1), }; - let outputs = (x_affine, y_affine, check,) + let outputs = (x_affine, y_affine, check) .new_inputs() .next_2(_num_x1) .next_2(_gx1) @@ -474,7 +445,7 @@ fn map_to_curve_inner_final_quad_res( fn map_to_curve_inner_final_not_quad_res( - _num_x1: u384, _y1_hint: u384, __parity_flag: bool, _div: u384, _u: u384, _gx1: u384 + _num_x1: u384, _y1_hint: u384, __parity_flag: bool, _div: u384, _u: u384, _gx1: u384, ) -> G1Point { let num_x1 = CircuitElement::> {}; let y1_hint = CircuitElement::> {}; @@ -495,22 +466,20 @@ fn map_to_curve_inner_final_not_quad_res( // Flag = -1 if y%2 !=u%1 ; 1 if y%2 == u%2. let _parity_flag: u384 = match __parity_flag { - true => u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0, }, + true => u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, false => crate::definitions::get_min_one(curve_index: 1), }; let modulus = TryInto::< - _, CircuitModulus + _, CircuitModulus, >::try_into( [ - 0xb153ffffb9feffffffffaaab, - 0x6730d2a0f6b0f6241eabfffe, - 0x434bacd764774b84f38512bf, - 0x1a0111ea397fe69a4b1ba7b6 - ] + 0xb153ffffb9feffffffffaaab, 0x6730d2a0f6b0f6241eabfffe, 0x434bacd764774b84f38512bf, + 0x1a0111ea397fe69a4b1ba7b6, + ], ) .unwrap(); // BLS12_381 prime field modulus - let outputs = (x_affine, y_affine, check,) + let outputs = (x_affine, y_affine, check) .new_inputs() .next_2(_num_x1) .next_2(_y1_hint) @@ -529,10 +498,10 @@ fn map_to_curve_inner_final_not_quad_res( // Verify parity. base is even so high parts doesn't affect parity. match __parity_flag { true => assert( - is_even_u384(outputs.get_output(y2)) == is_even_u384(_u), 'm2cI wrong parity' + is_even_u384(outputs.get_output(y2)) == is_even_u384(_u), 'm2cI wrong parity', ), false => assert( - is_even_u384(outputs.get_output(y2)) != is_even_u384(_u), 'm2cI wrong parity' + is_even_u384(outputs.get_output(y2)) != is_even_u384(_u), 'm2cI wrong parity', ), } return G1Point { x: outputs.get_output(x_affine), y: outputs.get_output(y_affine) }; @@ -603,10 +572,10 @@ impl DivRemU32By16 of DivRemHelper> { #[inline(always)] pub fn append_u96_to_u32_array(ref array: Array, u: u96) { let (u32_h, u64_l): (DivRemU96By64::DivT, DivRemU96By64::RemT) = bounded_int_div_rem( - u, NZ_POW64_TYPED + u, NZ_POW64_TYPED, ); let (u32_mid, u32_low): (DivRemU64By32::DivT, DivRemU64By32::RemT) = bounded_int_div_rem( - u64_l, NZ_POW32_TYPED + u64_l, NZ_POW32_TYPED, ); let u32_hf: felt252 = u32_h.into(); let u32_mf: felt252 = u32_mid.into(); @@ -633,10 +602,8 @@ pub fn u32_to_u8_4(a: u32) -> [u8; 4] { let (b2, r) = DivRem::div_rem(r, NZ_POW16_32); let (b1, b0) = DivRem::div_rem(r, NZ_POW8_32); return [ - b3.try_into().unwrap(), - b2.try_into().unwrap(), - b1.try_into().unwrap(), - b0.try_into().unwrap() + b3.try_into().unwrap(), b2.try_into().unwrap(), b1.try_into().unwrap(), + b0.try_into().unwrap(), ]; } @@ -654,13 +621,13 @@ pub fn u32_4_to_u8_16(a: [u32; 4]) -> [u8; 16] { #[inline(always)] pub fn append_u96_with_pending_u16(ref array: Array, pending_u16: u32, u: u96) -> u32 { let (u16_h, u80_l): (DivRemU96By80::DivT, DivRemU96By80::RemT) = bounded_int_div_rem( - u, NZ_POW80_TYPED + u, NZ_POW80_TYPED, ); let (u32_mid, u48_low): (DivRemU80By48::DivT, DivRemU80By48::RemT) = bounded_int_div_rem( - u80_l, NZ_POW48_TYPED + u80_l, NZ_POW48_TYPED, ); let (u32_low, u16_low): (DivRemU48By16::DivT, DivRemU48By16::RemT) = bounded_int_div_rem( - u48_low, NZ_POW16_TYPED + u48_low, NZ_POW16_TYPED, ); let u16_hf: felt252 = u16_h.into(); let u32_mf: felt252 = u32_mid.into(); @@ -699,10 +666,8 @@ pub fn u8_16_to_u32_4(a: [u8; 16]) -> [u32; 4] { let w1: felt252 = a7.into() * POW24 + a6.into() * POW16 + a5.into() * POW8 + a4.into(); let w0: felt252 = a3.into() * POW24 + a2.into() * POW16 + a1.into() * POW8 + a0.into(); return [ - w3.try_into().unwrap(), - w2.try_into().unwrap(), - w1.try_into().unwrap(), - w0.try_into().unwrap() + w3.try_into().unwrap(), w2.try_into().unwrap(), w1.try_into().unwrap(), + w0.try_into().unwrap(), ]; } @@ -728,7 +693,7 @@ pub fn decrypt_at_round(signature_at_round: G1Point, ciphertext: CipherText) -> let pending = append_u384_with_pending_u16(ref array, pending, rgid.c0b0a0); let [r7, r6, r5, r4, _, _, _, _] = compute_sha256_u32_array( - input: array, last_input_word: pending, last_input_num_bytes: 2 + input: array, last_input_word: pending, last_input_num_bytes: 2, ); let v: [u32; 4] = u8_16_to_u32_4(ciphertext.V); @@ -745,7 +710,7 @@ pub fn decrypt_at_round(signature_at_round: G1Point, ciphertext: CipherText) -> let pending = append_u32_with_pending_u16(ref array, pending, s0); let [sh7, sh6, sh5, sh4, _, _, _, _] = compute_sha256_u32_array( - input: array, last_input_word: pending, last_input_num_bytes: 2 + input: array, last_input_word: pending, last_input_num_bytes: 2, ); let w = u8_16_to_u32_4(ciphertext.W); @@ -772,7 +737,7 @@ pub fn decrypt_at_round(signature_at_round: G1Point, ciphertext: CipherText) -> // Little endian let rh = compute_sha256_u32_array( - input: array, last_input_word: pending, last_input_num_bytes: 2 + input: array, last_input_word: pending, last_input_num_bytes: 2, ); let mut i = 1; @@ -804,7 +769,7 @@ pub fn expand_message_drand(msg: [u32; 8], i: u8) -> u256 { let pending = append_u32_with_pending_u16(ref array, pending, m0); let hash_result = compute_sha256_u32_array( - input: array, last_input_word: pending, last_input_num_bytes: 2 + input: array, last_input_word: pending, last_input_num_bytes: 2, ); let [r0, r1, r2, r3, r4, r5, r6, r7] = hash_result; @@ -850,13 +815,7 @@ mod tests { fn test_hash_to_two_bls_felts() { // sha256("Hello, World!") let message: [u32; 8] = [ - 0xdffd6021, - 0xbb2bd5b0, - 0xaf676290, - 0x809ec3a5, - 0x3191dd81, - 0xc7f70a4b, - 0x28688a36, + 0xdffd6021, 0xbb2bd5b0, 0xaf676290, 0x809ec3a5, 0x3191dd81, 0xc7f70a4b, 0x28688a36, 0x2182986f, ]; let (a, b) = hash_to_two_bls_felts(message); @@ -867,8 +826,8 @@ mod tests { limb0: 0x3424dff585d947fedf210456, limb1: 0xd67576428da87a9356340b2e, limb2: 0x135e368f3927494b3933a985, - limb3: 0x85a31dc6b81af709df9ba4e - } + limb3: 0x85a31dc6b81af709df9ba4e, + }, ); assert_eq!( b, @@ -876,28 +835,28 @@ mod tests { limb0: 0xdb509060a0293b7d9e20ae9, limb1: 0x189ad7a1508b89604e165848, limb2: 0x74a42a64a63d7c9dd6bfec2c, - limb3: 0x1049922d5dcd716806ccfa3e - } + limb3: 0x1049922d5dcd716806ccfa3e, + }, ); } #[test] fn test_map_to_curve() { - let u = u384 { limb0: 42, limb1: 0x0, limb2: 0x0, limb3: 0x0, }; + let u = u384 { limb0: 42, limb1: 0x0, limb2: 0x0, limb3: 0x0 }; let expected = G1Point { x: u384 { limb0: 0x1c94f3121ca3e1454e60bded, limb1: 0xe09a5f66977f922ae74baf50, limb2: 0xa471b958de9a5099a84aca44, - limb3: 0x923f1e3115dc78a457fffa1 + limb3: 0x923f1e3115dc78a457fffa1, }, y: u384 { limb0: 0xaa8806e6b469554a91758ec, limb1: 0xdbfb03df4a53a534ac80def7, limb2: 0xb81c6297bbac342050bff567, - limb3: 0xfb9022e050807db4b155d87 - } + limb3: 0xfb9022e050807db4b155d87, + }, }; let hint = MapToCurveHint { gx1_is_square: false, @@ -905,9 +864,9 @@ mod tests { limb0: 0x8c74c126c6351052ebf1965, limb1: 0x979aba6acb3e5dfca5581a51, limb2: 0x49e43c123f4e034706485bde, - limb3: 0x152ffaf0e2cd3fbbb102b5e1 + limb3: 0x152ffaf0e2cd3fbbb102b5e1, }, - y_flag: false + y_flag: false, }; let res = map_to_curve(u, hint); assert_eq!(res, expected); @@ -920,14 +879,14 @@ mod tests { limb0: 0xfe95b6d6dc4c28b03aa82194, limb1: 0xc06a9cdc69f9d39a1cb3c132, limb2: 0xc0637d447baf4f55d4658b59, - limb3: 0x166e53a3af1733961f92e08 + limb3: 0x166e53a3af1733961f92e08, }, y: u384 { limb0: 0x5dc860b68c76e432263e15dc, limb1: 0x8c9990a0f89eadd580f71395, limb2: 0xaf300dff12d93cfe32b45c5d, - limb3: 0x8f6e2a59628049aecb84109 - } + limb3: 0x8f6e2a59628049aecb84109, + }, }; let expected = G1Point { @@ -935,13 +894,13 @@ mod tests { limb0: 0x5fad5b4abf0d9b5a5500069, limb1: 0x88e3293255d2172755b29514, limb2: 0x2562887a0b9a729cf8f6f807, - limb3: 0xfb545dd46e90e6f6bd679a1 + limb3: 0xfb545dd46e90e6f6bd679a1, }, y: u384 { limb0: 0xbea8d03c186753a97b5e8e0b, limb1: 0xbe3e7a1eb25cf6d7fa6f686d, limb2: 0x72026b41a862ff1fa8508191, - limb3: 0xd596c01e510faf25030e9a5 + limb3: 0xd596c01e510faf25030e9a5, }, }; let (res) = run_BLS12_381_APPLY_ISOGENY_BLS12_381_circuit(pt); @@ -950,13 +909,7 @@ mod tests { #[test] fn test_hash_to_curve() { let message: [u32; 8] = [ - 0xdffd6021, - 0xbb2bd5b0, - 0xaf676290, - 0x809ec3a5, - 0x3191dd81, - 0xc7f70a4b, - 0x28688a36, + 0xdffd6021, 0xbb2bd5b0, 0xaf676290, 0x809ec3a5, 0x3191dd81, 0xc7f70a4b, 0x28688a36, 0x2182986f, ]; let hint = HashToCurveHint { @@ -966,9 +919,9 @@ mod tests { limb0: 0xf26e7fd3c2733a0413db4463, limb1: 0xa1562d011f360461be8e36dd, limb2: 0x84a83147a7e7a1311a712501, - limb3: 0x1290f63f6daa85ad6bf7088a + limb3: 0x1290f63f6daa85ad6bf7088a, }, - y_flag: false + y_flag: false, }, f1_hint: MapToCurveHint { gx1_is_square: false, @@ -976,9 +929,9 @@ mod tests { limb0: 0xb88f6c46cebe267f9e2afa6c, limb1: 0xa845982734193f6f44e49212, limb2: 0x63e1f53f7553752da88fb12c, - limb3: 0xd613d3f488be39870f05a5c + limb3: 0xd613d3f488be39870f05a5c, }, - y_flag: false + y_flag: false, }, scalar_mul_hint: MSMHintSmallScalar { Q: G1Point { @@ -986,14 +939,14 @@ mod tests { limb0: 0x931f614913b4e856c2a5dd1b, limb1: 0xce68eade0d43210615956b1d, limb2: 0x4f2c8c74301387552679068d, - limb3: 0xcc12bfa116dae0017adb178 + limb3: 0xcc12bfa116dae0017adb178, }, y: u384 { limb0: 0x6b02cc408fda040be6918d1e, limb1: 0x325a198e22c4131c6fed473b, limb2: 0xf0bbbddfea59e5a96a11bd20, - limb3: 0xeb05659d43180b59cee2ea0 - } + limb3: 0xeb05659d43180b59cee2ea0, + }, }, SumDlogDiv: FunctionFelt { a_num: array![ @@ -1001,9 +954,9 @@ mod tests { limb0: 0xe9547e3c22c368f3668c26d2, limb1: 0x75bc3174101565eeb65968d6, limb2: 0x3afe08b77f8913061d67f0b2, - limb3: 0xc3a508ed77d2e5fd684d134 + limb3: 0xc3a508ed77d2e5fd684d134, }, - u384 { limb0: 0x3f41b003a7dbf839, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x3f41b003a7dbf839, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), a_den: array![ @@ -1011,15 +964,15 @@ mod tests { limb0: 0xe992bce6bcd56741b4be8dda, limb1: 0x975f2e11a8fc4e110f1b44ba, limb2: 0xc1e9530f84e3a7e0a46d33e1, - limb3: 0x88dd6a0666b7d5a4c14ea85 + limb3: 0x88dd6a0666b7d5a4c14ea85, }, u384 { limb0: 0x4d6f4786473f4ff1643a5ee, limb1: 0x25cb9788a504f44e94bddec4, limb2: 0xe8adc9bc8ead85ba812bddf7, - limb3: 0x53655ff5e6a7e350e3028ac + limb3: 0x53655ff5e6a7e350e3028ac, }, - u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] .span(), b_num: array![ @@ -1027,20 +980,20 @@ mod tests { limb0: 0x743a827dc9c4737c7a70322d, limb1: 0x7bfda798292e0429f35febf0, limb2: 0x7bca28663f0d7795d8629dc2, - limb3: 0x1eb8b6c2989bb00ee12bd00 + limb3: 0x1eb8b6c2989bb00ee12bd00, }, u384 { limb0: 0xdc2fa95b1c3dadfa185f4ff4, limb1: 0x9daea3eea2647b9adc25d4ea, limb2: 0x24dbf64222ab9fcb34052520, - limb3: 0x124e8c93a451aaeb0b256a + limb3: 0x124e8c93a451aaeb0b256a, }, u384 { limb0: 0x3e58c1d601349a222ca499e8, limb1: 0x6c6aaf8d55c9039164e09e20, limb2: 0xfb431077e445c903bc81ed03, - limb3: 0xc08aa0954aa40b81be4fdf9 - } + limb3: 0xc08aa0954aa40b81be4fdf9, + }, ] .span(), b_den: array![ @@ -1048,30 +1001,30 @@ mod tests { limb0: 0xf4f6f39b39569d06d2fa8cbd, limb1: 0xf64be5a5ad4042201dc112ec, limb2: 0xc4599f66af1753fd9e2fbcc6, - limb3: 0x8364897602e0ecee5380260 + limb3: 0x8364897602e0ecee5380260, }, u384 { limb0: 0x135bd1e191cfd3fc590e97b8, limb1: 0x972e5e229413d13a52f77b10, limb2: 0xa2b726f23ab616ea04af77dc, - limb3: 0x14d957fd79a9f8d438c0a2b3 + limb3: 0x14d957fd79a9f8d438c0a2b3, }, u384 { limb0: 0x4, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, u384 { limb0: 0xe992bce6bcd56741b4be8dda, limb1: 0x975f2e11a8fc4e110f1b44ba, limb2: 0xc1e9530f84e3a7e0a46d33e1, - limb3: 0x88dd6a0666b7d5a4c14ea85 + limb3: 0x88dd6a0666b7d5a4c14ea85, }, u384 { limb0: 0x4d6f4786473f4ff1643a5ee, limb1: 0x25cb9788a504f44e94bddec4, limb2: 0xe8adc9bc8ead85ba812bddf7, - limb3: 0x53655ff5e6a7e350e3028ac + limb3: 0x53655ff5e6a7e350e3028ac, }, - u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 } + u384 { limb0: 0x1, limb1: 0x0, limb2: 0x0, limb3: 0x0 }, ] - .span() + .span(), }, }, derive_point_from_x_hint: DerivePointFromXHint { @@ -1079,10 +1032,10 @@ mod tests { limb0: 0x6515783d21f573c7cd61fbae, limb1: 0x1013607aa988eeb0dbea896a, limb2: 0xc459d27f6d3a34be79bbb31a, - limb3: 0xb32862ff9309b9044f09471 + limb3: 0xb32862ff9309b9044f09471, }, g_rhs_sqrt: array![].span(), - } + }, }; let expected = G1Point { @@ -1090,13 +1043,13 @@ mod tests { limb0: 0x931f614913b4e856c2a5dd1b, limb1: 0xce68eade0d43210615956b1d, limb2: 0x4f2c8c74301387552679068d, - limb3: 0xcc12bfa116dae0017adb178 + limb3: 0xcc12bfa116dae0017adb178, }, y: u384 { limb0: 0x6b02cc408fda040be6918d1e, limb1: 0x325a198e22c4131c6fed473b, limb2: 0xf0bbbddfea59e5a96a11bd20, - limb3: 0xeb05659d43180b59cee2ea0 + limb3: 0xeb05659d43180b59cee2ea0, }, }; let res = hash_to_curve_bls12_381(message, hint); @@ -1114,14 +1067,14 @@ mod tests { limb0: 0xc0bcbd3576ff11f14722cf6c, limb1: 0xd452247305c00e921bd480d6, limb2: 0x8b9980255afbf088406ce2e9, - limb3: 0x3783c94f8000028fa31f457 + limb3: 0x3783c94f8000028fa31f457, }, y: u384 { limb0: 0x2b4d36d607cf825974c364b4, limb1: 0x44cd6938390204bd3a17bf08, limb2: 0x92d3ea3afc64bf69e6c4cf27, - limb3: 0x9ee7907fd3b11fa8ec81ccc - } + limb3: 0x9ee7907fd3b11fa8ec81ccc, + }, }; let ciph = CipherText { @@ -1130,84 +1083,45 @@ mod tests { limb0: 0x340fdd978d12a78af62a4938, limb1: 0xf70620e8446a28e3d2071039, limb2: 0xe08fd6ca0d6e9bdcb5dbf048, - limb3: 0x14fb6e4f383578999fe9250 + limb3: 0x14fb6e4f383578999fe9250, }, x1: u384 { limb0: 0x25a2b053807bd5aa950143b1, limb1: 0x845c1664a97d715be868b2d2, limb2: 0x5c1891819cbeaf9241827325, - limb3: 0x1db774cee6dd8860aad23b7 + limb3: 0x1db774cee6dd8860aad23b7, }, y0: u384 { limb0: 0x941e76c3d4243c3a29eb37b6, limb1: 0xeb7d54ef8c76445a546aa67e, limb2: 0x945908b037be402a146d92cc, - limb3: 0x51401dcca71a5b8e961858 + limb3: 0x51401dcca71a5b8e961858, }, y1: u384 { limb0: 0x83136ccccc82c994f1c19abe, limb1: 0x638557d8f6ba3dbceffb0d86, limb2: 0xd81843d33e29bd92ca715eca, - limb3: 0x12d802c5957e9cab6e1e8c82 - } + limb3: 0x12d802c5957e9cab6e1e8c82, + }, }, V: [ - 0xa7, - 0x35, - 0xd6, - 0x12, - 0x47, - 0x88, - 0xc9, - 0x3f, - 0x2c, - 0xc4, - 0xdd, - 0xe5, - 0x5d, - 0x54, - 0x31, - 0x15 - ], W: [ - 0x7f, - 0x10, - 0x1c, - 0x52, - 0x8b, - 0xf7, - 0x63, - 0x15, - 0x57, - 0x8d, - 0x77, - 0x2e, - 0x79, - 0x3f, - 0x01, - 0x29 + 0xa7, 0x35, 0xd6, 0x12, 0x47, 0x88, 0xc9, 0x3f, 0x2c, 0xc4, 0xdd, 0xe5, 0x5d, 0x54, + 0x31, 0x15, + ], + W: [ + 0x7f, 0x10, 0x1c, 0x52, 0x8b, 0xf7, 0x63, 0x15, 0x57, 0x8d, 0x77, 0x2e, 0x79, 0x3f, + 0x01, 0x29, ], }; let msg_decrypted = decrypt_at_round(signature_at_round, ciph); assert( - msg_decrypted.span() == [ - 0x68, - 0x65, - 0x6c, - 0x6c, - 0x6f, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x61, - 0x62, - 0x63 - ].span(), - 'wrong msg' + msg_decrypted + .span() == [ + 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x61, 0x62, 0x63, + ] + .span(), + 'wrong msg', ); } } diff --git a/src/src/utils/hashing.cairo b/src/src/utils/hashing.cairo index 31970bb8..a86f468a 100644 --- a/src/src/utils/hashing.cairo +++ b/src/src/utils/hashing.cairo @@ -1,11 +1,11 @@ -use core::poseidon::hades_permutation; +pub use core::poseidon::hades_permutation; use core::circuit::{u384, u96}; use garaga::definitions::{ - E12D, u288, G1G2Pair, G1Point, E12DMulQuotient, MillerLoopResultScalingFactor + E12D, u288, G1G2Pair, G1Point, E12DMulQuotient, MillerLoopResultScalingFactor, }; #[derive(Copy, Drop)] -struct PoseidonState { +pub struct PoseidonState { s0: felt252, s1: felt252, s2: felt252, @@ -14,7 +14,7 @@ struct PoseidonState { // Apply sponge construction to a transcript of u384 elements #[inline(always)] pub fn hash_u384_transcript( - transcript: Span, mut s0: felt252, mut s1: felt252, mut s2: felt252 + transcript: Span, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 for elmt in transcript { @@ -33,7 +33,7 @@ pub fn hash_u384_transcript( #[inline(always)] pub fn hash_u288_transcript( - transcript: Span, mut s0: felt252, mut s1: felt252, mut s2: felt252 + transcript: Span, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 for elmt in transcript { @@ -50,7 +50,7 @@ pub fn hash_u288_transcript( #[inline(always)] pub fn hash_E12DMulQuotient_u384( - elmt: E12DMulQuotient, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: E12DMulQuotient, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -92,7 +92,7 @@ pub fn hash_E12DMulQuotient_u384( #[inline(always)] pub fn hash_E12DMulQuotient_u288( - elmt: E12DMulQuotient, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: E12DMulQuotient, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -136,7 +136,7 @@ pub fn hash_E12DMulQuotient_u288( // Apply sponge construction to a E12D element from an initial state (s0, s1, s2) #[inline(always)] pub fn hash_E12D_u384( - elmt: E12D, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: E12D, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -181,7 +181,7 @@ pub fn hash_E12D_u384( #[inline(always)] pub fn hash_E12D_u288( - elmt: E12D, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: E12D, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -228,7 +228,7 @@ pub fn hash_E12D_u288( // s1, s2) #[inline(always)] pub fn hash_MillerLoopResultScalingFactor_u384( - elmt: MillerLoopResultScalingFactor, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: MillerLoopResultScalingFactor, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -255,7 +255,7 @@ pub fn hash_MillerLoopResultScalingFactor_u384( #[inline(always)] pub fn hash_MillerLoopResultScalingFactor_u288( - elmt: MillerLoopResultScalingFactor, mut s0: felt252, mut s1: felt252, mut s2: felt252 + elmt: MillerLoopResultScalingFactor, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -283,7 +283,7 @@ pub fn hash_MillerLoopResultScalingFactor_u288( // Apply sponge construction to a sequence of E12D elements from an initial state (s0, s1, s2) #[inline(always)] pub fn hash_E12D_u384_transcript( - transcript: Span>, mut s0: felt252, mut s1: felt252, mut s2: felt252 + transcript: Span>, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -334,7 +334,7 @@ pub fn hash_E12D_u384_transcript( #[inline(always)] pub fn hash_E12D_u288_transcript( - transcript: Span>, mut s0: felt252, mut s1: felt252, mut s2: felt252 + transcript: Span>, mut s0: felt252, mut s1: felt252, mut s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 @@ -387,7 +387,7 @@ pub fn hash_E12D_u288_transcript( // Apply sponge construction to a pair of G1 and G2 points from an initial state (s0, s1, s2) #[inline(always)] pub fn hash_G1G2Pair( - pair: G1G2Pair, s0: felt252, s1: felt252, s2: felt252 + pair: G1G2Pair, s0: felt252, s1: felt252, s2: felt252, ) -> (felt252, felt252, felt252) { let base: felt252 = 79228162514264337593543950336; // 2**96 diff --git a/src/src/utils/neg_3.cairo b/src/src/utils/neg_3.cairo index 409e4509..47bcbef9 100644 --- a/src/src/utils/neg_3.cairo +++ b/src/src/utils/neg_3.cairo @@ -8,7 +8,7 @@ const STARK_MINUS_1_HALF: u256 = // Returns the sign of a felt252. // num is considered positive if num <= (STARK-1)//2 // num is considered negative if num > (STARK-1)//2 -fn sign(num: felt252) -> felt252 { +pub fn sign(num: felt252) -> felt252 { if num.into() <= STARK_MINUS_1_HALF { return 1; } else { @@ -17,7 +17,7 @@ fn sign(num: felt252) -> felt252 { } // Maps a sign returned by sign() to a u384 modulo the prime of a given curve index. -fn sign_to_u384(sign: felt252, curve_index: usize) -> u384 { +pub fn sign_to_u384(sign: felt252, curve_index: usize) -> u384 { if (sign == -1) { return get_min_one(curve_index); } else { @@ -67,8 +67,9 @@ pub fn neg_3_base_le(scalar: u128) -> Array { return digits; } -fn u256_array_to_low_high_epns( - scalars: Span, scalars_digits_decompositions: Option, Span)>> +pub fn u256_array_to_low_high_epns( + scalars: Span, + scalars_digits_decompositions: Option, Span)>>, ) -> (Array<(felt252, felt252, felt252, felt252)>, Array<(felt252, felt252, felt252, felt252)>) { let mut epns_low: Array<(felt252, felt252, felt252, felt252)> = ArrayTrait::new(); let mut epns_high: Array<(felt252, felt252, felt252, felt252)> = ArrayTrait::new(); @@ -94,18 +95,18 @@ fn u256_array_to_low_high_epns( Option::None(_) => { epns_low.append(scalar_to_epns(*scalar.low)); epns_high.append(scalar_to_epns(*scalar.high)); - } + }, } i += 1; } - } + }, } return (epns_low, epns_high); } -fn u128_array_to_epns( - scalars: Span, scalars_digits_decompositions: Option>> +pub fn u128_array_to_epns( + scalars: Span, scalars_digits_decompositions: Option>>, ) -> Array<(felt252, felt252, felt252, felt252)> { let mut epns: Array<(felt252, felt252, felt252, felt252)> = ArrayTrait::new(); @@ -121,11 +122,11 @@ fn u128_array_to_epns( let decomposition = decomposition.unbox(); epns.append(scalar_to_epns_with_digits(*scalar, *decomposition)); }, - Option::None(_) => { epns.append(scalar_to_epns(*scalar)); } + Option::None(_) => { epns.append(scalar_to_epns(*scalar)); }, } i += 1; } - } + }, } return epns; @@ -164,7 +165,7 @@ pub fn scalar_to_epns(scalar: u128) -> (felt252, felt252, felt252, felt252) { } pub fn scalar_to_epns_with_digits( - scalar: u128, mut digits: Span + scalar: u128, mut digits: Span, ) -> (felt252, felt252, felt252, felt252) { assert!(digits.len() <= 82, "The number of digits must be <= 82 for u128"); let mut sum_p = 0; @@ -187,7 +188,7 @@ pub fn scalar_to_epns_with_digits( assert!( scalar.into() == sum_p - sum_n, - "The scalar must be equal to the sum of the positive and negative digits" + "The scalar must be equal to the sum of the positive and negative digits", ); let sign_p = sign(sum_p); diff --git a/src/src/utils/risc0.cairo b/src/src/utils/risc0.cairo index edcdff90..41d9ba58 100644 --- a/src/src/utils/risc0.cairo +++ b/src/src/utils/risc0.cairo @@ -1,19 +1,16 @@ use core::sha256::{compute_sha256_u32_array, compute_sha256_byte_array}; use garaga::utils::usize_assert_eq; +use core::integer; // sha256(b"risc0.ReceiptClaim") = // 0xcb1fefcd1f2d9a64975cbbbf6e161e2914434b0cbb9960b84df5d717e86b48af -const TAG_DIGEST: [ - u32 - ; 8] = [ +const TAG_DIGEST: [u32; 8] = [ 0xcb1fefcd, 0x1f2d9a64, 0x975cbbbf, 0x6e161e29, 0x14434b0c, 0xbb9960b8, 0x4df5d717, 0xe86b48af, ]; // 0xA3ACC27117418996340B84E5A90F3EF4C49D22C79E44AAD822EC9C313E1EB8E2 // https://github.com/risc0/risc0-ethereum/blob/34d2fee4ca6b5fb354a8a1a00c43f8945097bfe5/contracts/src/IRiscZeroVerifier.sol#L60 -const SYSTEM_STATE_ZERO_DIGEST: [ - u32 - ; 8] = [ +const SYSTEM_STATE_ZERO_DIGEST: [u32; 8] = [ 0xa3acc271, 0x17418996, 0x340b84e5, 0xa90f3ef4, 0xc49d22c7, 0x9e44aad8, 0x22ec9c31, 0x3e1eb8e2, ]; @@ -21,9 +18,7 @@ const INPUT_ZERO: [u32; 8] = [0, 0, 0, 0, 0, 0, 0, 0]; // sha256(b"risc0.Output") = // 0x77eafeb366a78b47747de0d7bb176284085ff5564887009a5be63da32d3559d4 -const RISC0_OUTPUT_TAG: [ - u32 - ; 8] = [ +const RISC0_OUTPUT_TAG: [u32; 8] = [ 0x77eafeb3, 0x66a78b47, 0x747de0d7, 0xbb176284, 0x85ff556, 0x4887009a, 0x5be63da3, 0x2d3559d4, ]; @@ -84,7 +79,7 @@ pub fn compute_receipt_claim(image_id: Span, journal_digest: Span) -> // Append 4 << 8 = 1024 to the end of the array (2 bytes) let res_u32 = compute_sha256_u32_array( - input: array, last_input_word: 1024, last_input_num_bytes: 2 + input: array, last_input_word: 1024, last_input_num_bytes: 2, ) .span(); @@ -99,7 +94,7 @@ pub fn compute_receipt_claim(image_id: Span, journal_digest: Span) -> + (*res_u32[0]).into() * 0x1000000000000000000000000; return uint256_byte_reverse( - u256 { low: res_low.try_into().unwrap(), high: res_high.try_into().unwrap() } + u256 { low: res_low.try_into().unwrap(), high: res_high.try_into().unwrap() }, ); } @@ -131,56 +126,34 @@ mod risc0_utils_tests { #[test] fn test_receipt_claim() { let image_id: [u32; 8] = [ - 3491501487, - 2808651867, - 557489759, - 3452720932, - 2727640576, - 160202435, - 1288430228, - 1807482899 + 3491501487, 2808651867, 557489759, 3452720932, 2727640576, 160202435, 1288430228, + 1807482899, ]; let journal_digest: [u32; 8] = [ - 998783442, - 2641348904, - 1804572153, - 3329687312, - 3249394632, - 3219372246, - 356247808, - 552440254 + 998783442, 2641348904, 1804572153, 3329687312, 3249394632, 3219372246, 356247808, + 552440254, ]; let receipt_claim = compute_receipt_claim(image_id.span(), journal_digest.span()); assert_eq!( receipt_claim, - uint256_byte_reverse(0xe58e40abecebcfa4af85692fca5ed77d4ccb4b3f640f5e684e4faf3a36b0c4e0) + uint256_byte_reverse( + 0xe58e40abecebcfa4af85692fca5ed77d4ccb4b3f640f5e684e4faf3a36b0c4e0, + ), ); } #[test] fn test_output_digest() { let journal_digest: [u32; 8] = [ - 998783442, - 2641348904, - 1804572153, - 3329687312, - 3249394632, - 3219372246, - 356247808, - 552440254 + 998783442, 2641348904, 1804572153, 3329687312, 3249394632, 3219372246, 356247808, + 552440254, ]; let out = output_digest(journal_digest.span()); assert_eq!( out, [ - 0x6293f84a, - 0xf9e28fcc, - 0x43eb4d3d, - 0xf962d8d8, - 0x1364db76, - 0x22a407a1, - 0xab5be010, - 0x1a1f0a26 - ] + 0x6293f84a, 0xf9e28fcc, 0x43eb4d3d, 0xf962d8d8, 0x1364db76, 0x22a407a1, 0xab5be010, + 0x1a1f0a26, + ], ); } } diff --git a/tools/make/setup.sh b/tools/make/setup.sh index 9906bc3d..e937f3bb 100755 --- a/tools/make/setup.sh +++ b/tools/make/setup.sh @@ -101,8 +101,8 @@ echo "All done!" # Check Scarb version and print warning if it's not cd src/ # To use the .tool-versions file with asdf. -if ! scarb --version | grep -q "2.8.4"; then - echo "Warning: Scarb is not installed or its version is not 2.8.4." +if ! scarb --version | grep -q "2.9.1"; then + echo "Warning: Scarb is not installed or its version is not 2.9.1." echo "Got: $(scarb --version)" - echo "Please install Scarb 2.8.4 before continuing. https://docs.swmansion.com/scarb/download.html" + echo "Please install Scarb 2.9.1 before continuing. https://docs.swmansion.com/scarb/download.html" fi